Draw weather, wind and Bhote Koshi through engine.imagery, one display each

engine.imagery gains what these rasters need, on every engine:
- geographic (EPSG:4326) tile schemes and a transform applied to each
  decoded tile (the satellite infrared mask);
- staged source changes, which keep the drawn source until the new one
  has loaded (the weather frame swap), and credit-only changes in place;
- raised layers that draw on a shell above terrain and 3D tiles, rising
  with the camera, with a detail image inside a rectangle. On Cesium this
  is the weather shell primitive, moved into the engine; on Navara the
  pixel's ray meets the ellipsoid grown by the height.

Rain radar, satellite clouds, lightning, the wind field and the Bhote
Koshi event and locator each draw through one render/display.js on both
engines; their Navara renderers and Navara's weather surface pass go.
Cesium's pixels are unchanged in every compared scene. On Navara the
Bhote Koshi images are no longer upside down. Two engine-specific parts
stay behind one backend option each: the wind's streamlines and the
Bhote Koshi story entities.

The coupling report now counts defineGroundEffect calls, not its own
declaration. Coupling: Navara renderer lines fall from 2304 to 1695,
Navara ground passes from 3 to 1 (the Global Context pulses), engine
kind checks from 5 to 2. The contract suite passes on both engines
(Cesium 71/71, Navara 74/74).
This commit is contained in:
German Khokhlov committed 2026-11-07 11:14:50 +04:00
1 parent b53b6a48a7
commit c73c5382d4
39 files changed
+4677 -1114

No files matched your search

+10 -11
View File
@@ -3465,10 +3465,6 @@
"src/scenes/dataPacks/navara.js",
"src/scenes/dataPacks/navaraGeometry.js",
"src/layers/shared/render/navaraStory.js",
"src/layers/bhoteKoshi/render/navara.js",
"src/layers/weather/render/navara.js",
"src/layers/weather/render/navaraSurface.js",
"src/layers/wind/render/navara.js",
"src/layers/wind/render/flowMesh.js",
"src/layers/shared/render/navaraGroundPicks.js",
"src/layers/shared/render/groundRing.js",
@@ -3477,7 +3473,6 @@
"src/layers/firms/rectangle.js",
"src/layers/shared/render/navaraMoverBank.js",
"src/layers/shared/render/moverBank.js",
"src/layers/recentImagery/render/navaraGround.js",
"src/layers/cctv/render/navaraMeshes.js",
"src/layers/alpr/overlay.js",
"src/layers/alpr/presentation.js",
@@ -3576,10 +3571,15 @@
"src/layers/streetLevel/render/display.js",
"src/layers/traffic/render/display.js",
"src/layers/recentImagery/render/display.js",
"src/layers/weather/render/display.js",
"src/layers/wind/render/display.js",
"src/layers/wind/render/navaraFlow.js",
"src/layers/bhoteKoshi/render/display.js",
"src/globe/navara/imagery/pass.js",
"src/globe/navara/imagery/index.js",
"src/globe/imagery.js",
"src/globe/cesium/imagery.js",
"src/globe/cesium/imageryShell.js",
"src/globe/navara/ground/corridors.js"
],
"external": [
@@ -4321,17 +4321,16 @@
"src/layers/streetLevel/render/display.js",
"src/layers/traffic/render/display.js",
"src/layers/recentImagery/render/display.js",
"src/layers/weather/render/display.js",
"src/layers/wind/render/display.js",
"src/layers/wind/render/navaraFlow.js",
"src/layers/bhoteKoshi/render/display.js",
"src/layers/shared/render/navaraStory.js",
"src/layers/cctv/render/navaraMeshes.js",
"src/layers/recentImagery/render/navaraGround.js",
"src/layers/shared/render/navaraGroundSurface.js",
"src/layers/wind/render/flowMesh.js",
"src/layers/wind/render/navara.js",
"src/layers/shared/render/navaraGroundEffect.js",
"src/layers/awareness/render/navaraPulses.js",
"src/layers/weather/render/navaraSurface.js",
"src/layers/weather/render/navara.js",
"src/layers/bhoteKoshi/render/navara.js"
"src/layers/awareness/render/navaraPulses.js"
],
"external": [
"hls.js",