feat(military): render on Navara

Task 11b. src/layers/military/render/navara.js: the shared Navara aircraft
renderer with the military's sprite slot (SPRITE_LAYER_ORDER 'military',
under flights) and jet.glb's nose offset; registered by
registerNavaraLayerRenderers (now a table of lazily imported factories,
flights and military), so the Navara catalog offers military and the main
chunk stays without three/Navara.

- The follow passes between aircraft layers on Navara as on Cesium: the
  follow-handle → tracked-handle map and the "follow being started" handle
  are shared by every aircraft renderer of the page, so a layer whose follow
  another layer took reads the new owner's tracked handle (and its
  gevSelectionOrigin) — before, it read a bare follow handle and reported
  'programmatic'.
- trackById on a selected-but-not-followed contact follows it again (as
  flights since 10b; on Navara any camera command ends a follow).
- qaDrawn (the probe's drawn()) for military, shared with flights
  (src/layers/aircraft/qaDrawn.js).
- ?qaFeed=military:synthetic[:count]: seeded readsb rows (1 000 by
  default, 150 near JFK, 12 on the ground, 8 types), the first 25 hexes
  shared with the synthetic civil flights.
- qa-w1-layers: sections 4–6 read the --layer's module (were 'flights');
  section 5 keeps the queries beside the voice answers (the voice block
  overwrote them, so --compare never compared queries); for military: the
  follow passes military → flights → military, and flights leaves the 25
  shared aircraft to military while it is on (9 975 / 10 000 / 9 975).

qa-w1-layers --layer=military: Cesium 25/25, Navara 26/26, --compare parity
(queries included; the known 2.3 px camera offset at the global pose only).
This commit is contained in:
German Khokhlov committed 2026-10-17 05:05:40 +04:00
1 parent 3a0a3b0551
commit 9dc446bd24
13 files changed
+423 -56

No files matched your search

+9 -4
View File
@@ -897,7 +897,8 @@
"src/time/clock.js",
"src/globe/contract.js",
"src/globe/cesium/engineFromViewer.js",
"src/layers/shared/color.js"
"src/layers/shared/color.js",
"src/layers/aircraft/qaDrawn.js"
],
"external": ["cesium"]
},
@@ -954,7 +955,8 @@
"src/geo/developerError.js",
"src/time/clock.js",
"src/globe/contract.js",
"src/globe/cesium/engineFromViewer.js"
"src/globe/cesium/engineFromViewer.js",
"src/layers/aircraft/qaDrawn.js"
],
"external": ["cesium"]
},
@@ -2596,7 +2598,9 @@
"src/data/selectionDispatcher.js",
"src/layers/shared/color.js",
"src/layers/aircraft/render/navara.js",
"src/layers/flights/render/navara.js"
"src/layers/flights/render/navara.js",
"src/layers/military/render/navara.js",
"src/layers/aircraft/qaDrawn.js"
],
"external": [
"hls.js",
@@ -3172,7 +3176,8 @@
"src/data/selectionDispatcher.js",
"src/layers/shared/color.js",
"src/layers/flights/render/cesium.js",
"src/layers/military/render/cesium.js"
"src/layers/military/render/cesium.js",
"src/layers/aircraft/qaDrawn.js"
],
"external": [
"hls.js",