mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-11 13:52:19 +00:00
Scope tracked readouts and selection context to each scene
Give each scene attachment its own tracked readout, follow subscription, selected context, active card identity and label-subject cache. Bind layer context publishers to that attachment and preserve the page selection slot and existing selection and awareness event payloads. Mirror a clear to the page only when it clears the page selection. Capture display context services so retired callbacks cannot publish into a replacement attachment. Route aircraft, satellite, Local ADS-B and ALPR label refreshes and annotation card lookup to the attached readout. Remove Local ADS-B contexts before dropping its outgoing renderer, and mirror context pruning to the page. Carry the retained page selection through the layer session when an attachment is released. Adopt it only if the page still selects the same record, seed the incoming readout on initialization, and replace its retained carrier when the new display registers its marker. Keep the original page selection timestamp and avoid a duplicate page selection event. A clear between attachments wins, and page teardown still clears the selection. Seed the incoming readout from that retained record without validating the outgoing display's visibility: FIRMS waits for camera restoration before registering its new display. Keep a matching selected fire in the refresh set before pruning top-N contexts, so weaker selected detections retain the page selection too. Preserve Cesium's label text, selected-card policy, visual anchors and follow-camera anti-jitter. Navara retains the same shared behavior. There is no intended user-visible change on either engine. Tests cover simultaneous follows, identical selection IDs, independent refresh and clear, stale notifications, destruction, parked reattachment and real layer publication on the fake and headless Cesium engines. The production aircraft tests also cover grounded fleet and tracked models, the display floor on both sides of the zoom boundary, follow-label refresh and cached position reads. The fire regression exercises the application scene handoff, delayed viewport resume, top-N pruning, unchanged selection timestamp and deliberate clear on both engines. These fixes preserve the reference Cesium selection behavior. All eleven coupling counts remain unchanged; none fell or grew. The counts remain 0 and 189 renderer lines, 3 external Cesium import files, 891 viewer lines, 1 Navara kind check, 0 engine-sniff calls, 3 extension reads, 1 ground pass, 3 SDK loads, 4 screen-handler files and 32 engine-name lines. Checked in the browser, keyless: the overlay baselines on both engines, the ALPR and FIRMS fire-camera switches, and the layer handoff, Local ADS-B, Contacts, space, infrastructure, CCTV, urban, transit, directions and annotation engine switches pass. The tracking regression passes every check that passes before this change.
This commit is contained in:
1 parent
3814221cbc
commit
c1e857f798
32 files changed
+1751
-414
No files matched your search
@@ -1237,7 +1237,9 @@
|
||||
"src/overlays/worldOverlay.js",
|
||||
"src/overlays/worldOverlayDraw.js",
|
||||
"src/overlays/worldOverlayTokens.js",
|
||||
"src/time/clock.js"
|
||||
"src/time/clock.js",
|
||||
"src/data/contextStore.js",
|
||||
"src/data/trackedReadout.js"
|
||||
],
|
||||
"external": ["cesium", "vue", "pinia", "vue-i18n"]
|
||||
},
|
||||
@@ -1464,7 +1466,8 @@
|
||||
"src/globe/contract.js",
|
||||
"src/globe/cesium/engineFromViewer.js",
|
||||
"src/layers/shared/color.js",
|
||||
"src/layers/aircraft/qaDrawn.js"
|
||||
"src/layers/aircraft/qaDrawn.js",
|
||||
"src/data/bindContextStore.js"
|
||||
],
|
||||
"external": ["cesium"]
|
||||
},
|
||||
@@ -1532,7 +1535,8 @@
|
||||
"src/time/clock.js",
|
||||
"src/globe/contract.js",
|
||||
"src/globe/cesium/engineFromViewer.js",
|
||||
"src/layers/aircraft/qaDrawn.js"
|
||||
"src/layers/aircraft/qaDrawn.js",
|
||||
"src/data/bindContextStore.js"
|
||||
],
|
||||
"external": ["cesium"]
|
||||
},
|
||||
@@ -1617,7 +1621,8 @@
|
||||
"src/geo/",
|
||||
"src/globe/contract.js",
|
||||
"src/globe/cesium/engineFromViewer.js",
|
||||
"src/overlays/bindOverlayHost.js"
|
||||
"src/overlays/bindOverlayHost.js",
|
||||
"src/data/bindContextStore.js"
|
||||
],
|
||||
"external": ["cesium"]
|
||||
},
|
||||
@@ -1700,7 +1705,8 @@
|
||||
"src/geo/",
|
||||
"src/layers/firms/rectangle.js",
|
||||
"src/layers/shared/color.js",
|
||||
"src/overlays/bindOverlayHost.js"
|
||||
"src/overlays/bindOverlayHost.js",
|
||||
"src/data/bindContextStore.js"
|
||||
],
|
||||
"external": []
|
||||
},
|
||||
@@ -1743,7 +1749,8 @@
|
||||
"src/geo/",
|
||||
"src/time/clock.js",
|
||||
"src/layers/shared/color.js",
|
||||
"src/overlays/bindOverlayHost.js"
|
||||
"src/overlays/bindOverlayHost.js",
|
||||
"src/data/bindContextStore.js"
|
||||
],
|
||||
"external": ["cesium", "satellite.js"]
|
||||
},
|
||||
@@ -3634,7 +3641,8 @@
|
||||
"src/globe/navara/meshes.js",
|
||||
"src/globe/exclusivePointer.js",
|
||||
"src/globe/cesium/followOffset.js",
|
||||
"src/overlays/bindOverlayHost.js"
|
||||
"src/overlays/bindOverlayHost.js",
|
||||
"src/data/bindContextStore.js"
|
||||
],
|
||||
"external": [
|
||||
"hls.js",
|
||||
@@ -4399,7 +4407,8 @@
|
||||
"src/globe/meshes.js",
|
||||
"src/globe/exclusivePointer.js",
|
||||
"src/globe/cesium/followOffset.js",
|
||||
"src/overlays/bindOverlayHost.js"
|
||||
"src/overlays/bindOverlayHost.js",
|
||||
"src/data/bindContextStore.js"
|
||||
],
|
||||
"external": [
|
||||
"hls.js",
|
||||
@@ -5170,7 +5179,9 @@
|
||||
"src/globe/meshes.js",
|
||||
"src/globe/exclusivePointer.js",
|
||||
"src/data/selectionDispatcher.js",
|
||||
"src/overlays/bindOverlayHost.js"
|
||||
"src/overlays/bindOverlayHost.js",
|
||||
"src/data/contextStore.js",
|
||||
"src/data/trackedReadout.js"
|
||||
],
|
||||
"external": ["cesium", "egm96-universal", "pbf"]
|
||||
},
|
||||
@@ -5741,7 +5752,8 @@
|
||||
"src/layers/wildlifeSightings/display.js",
|
||||
"src/data/spriteOrder.js",
|
||||
"src/layers/shared/color.js",
|
||||
"src/overlays/bindOverlayHost.js"
|
||||
"src/overlays/bindOverlayHost.js",
|
||||
"src/data/bindContextStore.js"
|
||||
],
|
||||
"external": ["cesium"]
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user