Draw Street Level, traffic and directions through one display each

- Street Level: coverage sequences are ground corridor sets of up to
  120, draped on terrain and tiles as Cesium's ground polylines were;
  the marker and view cones are sprite movers turned to their compass
  bearing on screen and culled 1 km under WGS84. The layer no longer
  loads the Cesium SDK on Navara.
- Traffic: vehicles are two point mover sets (an outline disc under each
  fill) scaled and faded with Cesium's NearFarScalar maths; congestion
  heat lines are ground corridor sets draped on tiles. Heights, depth,
  readiness and the surface key go through the engine, and Navara no
  longer loads the Cesium SDK for traffic.
- Directions: the route is one ground corridor set in the annotation
  route's dash pattern, maneuvers are point movers and the A/B markers a
  disc and a letter sprite; the in-layer Navara branch and the Cesium
  point collection go.

Known gaps against Cesium, to close in the contract: the traffic heat
lines lose their glow and pulse and the route its flowing dashes
(no animated ground fills yet), and dense Street Level coverage on
Navara is costly as ground corridors (about 80 to 190 ms a frame at
6,000 to 14,400 sequences) until corridors are binned set-wide.

Coupling: Navara renderer lines fall from 3349 to 2767, Cesium-importing
files from 51 to 32, `viewer` lines from 1591 to 1373, Cesium SDK loads
on Navara from 6 to 4.
This commit is contained in:
German Khokhlov committed 2026-11-07 08:03:25 +04:00
1 parent 2fbdca62be
commit 1559bd57f4
78 files changed
+4762 -3719

No files matched your search

+22 -11
View File
@@ -1914,9 +1914,10 @@
"src/i18n/locales/zh-Hant.json",
"src/geo/",
"src/globe/contract.js",
"src/globe/cesium/engineFromViewer.js"
"src/globe/cesium/engineFromViewer.js",
"src/layers/traffic/render/display.js"
],
"external": ["cesium", "pbf", "@mapbox/vector-tile"]
"external": ["pbf", "@mapbox/vector-tile"]
},
"bikeshare-layer": {
"exports": ["./layers/bikeshare"],
@@ -2085,9 +2086,12 @@
"src/i18n/locales/zh-CN.json",
"src/i18n/locales/zh-Hant.json",
"src/layers/streetLevel/providers/mapillary/policy.js",
"src/geo/"
"src/geo/",
"src/layers/shared/color.js",
"src/globe/cameraMath.js",
"src/layers/streetLevel/render/display.js"
],
"external": ["cesium", "pbf", "@mapbox/vector-tile", "mapillary-js"]
"external": ["pbf", "@mapbox/vector-tile", "mapillary-js"]
},
"alpr-cameras": {
"exports": ["./layers/alpr"],
@@ -3463,9 +3467,6 @@
"src/layers/awareness/render/navaraPulses.js",
"src/layers/shared/render/navaraStems.js",
"src/layers/shared/render/navaraSceneDepth.js",
"src/layers/directions/render/navara.js",
"src/layers/traffic/render/navara.js",
"src/layers/streetLevel/render/navara.js",
"src/scenes/dataPacks/navara.js",
"src/scenes/dataPacks/navaraGeometry.js",
"src/layers/shared/render/navaraStory.js",
@@ -3578,7 +3579,11 @@
"src/layers/awareness/render/display.js",
"src/layers/installations/render/namedMarkers.js",
"src/layers/installations/render/display.js",
"src/layers/infrastructure/render/display.js"
"src/layers/infrastructure/render/display.js",
"src/layers/directions/render/style.js",
"src/layers/directions/render/display.js",
"src/layers/streetLevel/render/display.js",
"src/layers/traffic/render/display.js"
],
"external": [
"hls.js",
@@ -4315,7 +4320,11 @@
"src/layers/awareness/render/pulseDisc.js",
"src/layers/awareness/render/display.js",
"src/layers/installations/render/namedMarkers.js",
"src/layers/installations/render/display.js"
"src/layers/installations/render/display.js",
"src/layers/directions/render/style.js",
"src/layers/directions/render/display.js",
"src/layers/streetLevel/render/display.js",
"src/layers/traffic/render/display.js"
],
"external": [
"hls.js",
@@ -4674,9 +4683,11 @@
"src/i18n/locales/zh-CN.json",
"src/i18n/locales/zh-Hant.json",
"src/ui/unitLabels.js",
"src/geo/"
"src/geo/",
"src/layers/directions/render/display.js",
"src/layers/directions/render/style.js"
],
"external": ["cesium"]
"external": []
},
"radio-browser-source": {
"exports": ["./sources/radio-browser"],