Read what the camera follows through one Core module

src/data/followed.js answers what the camera follows: the camera port's
target, or the entity a layer still tracks itself, seen through the same
fields. Ownership checks, render holds, guards, voice actions, the CCTV
pacing and the navigation release paths read it instead of Cesium's
trackedEntity, so they keep working when layers follow through the port.
The release paths stop following, cancel the flight and release the
camera through the port. The rotate refusal names the followed target by
its name or label title.
This commit is contained in:
Sameh Khamis committed 2026-11-06 12:27:23 -08:00
1 parent e40a4c78d5
commit 2adec097de
29 files changed
+404 -97

No files matched your search

+34 -1
View File
@@ -992,6 +992,7 @@
"src/styles/surveillance.js",
"src/styles/thermal.js",
"src/ui/applicationShell.js",
"src/data/followed.js",
"src/render/cesium/camera.js",
"src/render/cesium/follow.js",
"src/render/rendererOf.js",
@@ -1256,7 +1257,9 @@
"src/data/bhoteKoshiFloodPath.js",
"src/maps/catalog.js",
"src/scenes/director.js",
"src/data/followed.js",
"src/render/cesium/camera.js",
"src/data/entityRecords.js",
"src/render/cesium/follow.js",
"src/geo/index.js",
"src/render/rendererOf.js",
@@ -1572,6 +1575,7 @@
"src/data/aircraftRecession.js",
"src/data/motionModel.js",
"src/layers/vessels/selection.js",
"src/data/followed.js",
"src/layers/vessels/state.js",
"src/layers/vessels/testing.js",
"src/layers/vessels/tracking.js",
@@ -1600,6 +1604,7 @@
"src/input/sensorPick.js",
"src/input/dispatcher.js",
"src/render/cesium/cameraInput.js",
"src/render/rendererOf.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js"
@@ -1753,6 +1758,7 @@
"src/layers/launches/controls.js",
"src/layers/launches/index.js",
"src/render/cesium/camera.js",
"src/data/entityRecords.js",
"src/render/cesium/follow.js",
"src/layers/launches/ingestion.js",
"src/layers/launches/launchPad.js",
@@ -1776,6 +1782,7 @@
"src/render/cesium/common.js",
"src/layers/launches/rendering.js",
"src/layers/launches/replay.js",
"src/data/followed.js",
"src/layers/launches/selection.js",
"src/layers/launches/source.js",
"src/layers/launches/state.js",
@@ -1917,6 +1924,7 @@
"src/layers/awareness/rendering.js",
"src/layers/awareness/state.js",
"src/layers/awareness/subject.js",
"src/data/followed.js",
"src/layers/awareness/testing.js",
"src/ui/panelRailGeometry.js",
"src/i18n/index.js",
@@ -2059,6 +2067,7 @@
"src/layers/cctv/geometry.js",
"src/data/entityRecords.js",
"src/layers/cctv/geometryQueue.js",
"src/data/followed.js",
"src/layers/cctv/ground.js",
"src/layers/cctv/headingConfidence.js",
"src/geo/index.js",
@@ -2225,6 +2234,7 @@
"modules": [
"src/data/headingDegrees.js",
"src/layers/alpr/index.js",
"src/data/followed.js",
"src/geo/index.js",
"src/layers/alpr/model.js",
"src/layers/alpr/policy.js",
@@ -2300,7 +2310,9 @@
"src/layers/radio/lifecycle.js",
"src/layers/radio/model.js",
"src/layers/radio/navigation.js",
"src/data/followed.js",
"src/render/cesium/camera.js",
"src/data/entityRecords.js",
"src/render/cesium/follow.js",
"src/render/rendererOf.js",
"src/render/camera/events.js",
@@ -2647,6 +2659,7 @@
"src/app/stateChannel.js",
"src/app/surfaceServices.js",
"src/app/tools.js",
"src/data/followed.js",
"src/app/viewer.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/sky/starrySky.js",
@@ -3726,6 +3739,7 @@
"src/keylessGeocoder.js",
"src/layers/aircraft/classification.js",
"src/layers/alpr/index.js",
"src/data/followed.js",
"src/layers/alpr/model.js",
"src/layers/alpr/policy.js",
"src/layers/alpr/presentation.js",
@@ -4255,6 +4269,7 @@
"src/layers/firms/anchors.js",
"src/locations.js",
"src/render/cesium/camera.js",
"src/data/entityRecords.js",
"src/render/cesium/follow.js",
"src/render/rendererOf.js",
"src/render/camera/events.js",
@@ -4267,6 +4282,7 @@
"src/render/cesium/common.js",
"src/cityPois.js",
"src/cameraGroundGuard.js",
"src/data/followed.js",
"src/search/alpsGeocoder.js",
"src/search/defaults.js",
"src/search/geospatial.js",
@@ -4350,7 +4366,10 @@
"exports": ["./ui/navigation"],
"modules": [
"src/navigationPolicy.js",
"src/geo/index.js",
"src/ui/navigationController.js",
"src/render/cesium/camera.js",
"src/data/followed.js",
"src/app/stateChannel.js",
"src/data/cameraArrival.js",
"src/i18n/locale.js",
@@ -4365,7 +4384,18 @@
"src/i18n/locales/uk.json",
"src/i18n/locales/zh-CN.json",
"src/i18n/locales/zh-Hant.json",
"src/i18n/index.js"
"src/i18n/index.js",
"src/render/rendererOf.js",
"src/render/camera/events.js",
"src/geo/celestial.js",
"src/geo/quaternion.js",
"src/geo/frames.js",
"src/geo/ellipsoid.js",
"src/geo/vector.js",
"src/render/cesium/follow.js",
"src/render/cesium/internals.js",
"src/render/cesium/common.js",
"src/data/entityRecords.js"
],
"external": ["cesium"]
},
@@ -5169,6 +5199,7 @@
"src/i18n/locales/zh-Hant.json",
"src/data/geoImportImages.js",
"src/data/geoImportPins.js",
"src/data/followed.js",
"src/layers/streetLevel/tileMath.js",
"src/layers/streetLevel/view.js",
"src/data/inputOwnership.js",
@@ -5177,6 +5208,8 @@
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/cameraInput.js",
"src/render/rendererOf.js",
"src/data/entityRecords.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js",