Follow aircraft and satellites through the camera port

Flights and military follow their tracked aircraft with an
entityFollowTarget: framed in ENU from viewFrom, never closer than
150 m, presentation read from the drawn entity's record. Satellites
follow in Cesium's autodetect frame. The layers' own framing
(applyTrackedCameraFrame) goes; the port's follow has the same
close-range rules, and trackedCamera.js no longer imports Cesium.

The port's helper entity draws nothing: its point's outline is
transparent too, and click and voice picks of it count as picks of
the target's drawn entity. The fake camera binder follows when the
fake has Cesium's entity tracking.
This commit is contained in:
Sameh Khamis committed 2026-11-06 16:10:48 -08:00
1 parent e5f8e5753a
commit c6f043d3fd
22 files changed
+291 -332

No files matched your search

+61
View File
@@ -1400,6 +1400,8 @@
"src/layers/flights/motion.js",
"src/layers/flights/policy.js",
"src/layers/flights/queries.js",
"src/render/cesium/camera.js",
"src/data/followed.js",
"src/layers/flights/rendering.js",
"src/layers/flights/icons.js",
"src/data/aircraftIconLayer.js",
@@ -1414,6 +1416,7 @@
"src/layers/flights/state.js",
"src/layers/flights/testing.js",
"src/layers/flights/tracking.js",
"src/geo/index.js",
"src/layers/flights/records.js",
"src/layers/flights/recordPolicy.js",
"src/layers/flights/snapshotRenderer.js",
@@ -1439,7 +1442,16 @@
"src/data/scenePick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/camera/events.js",
"src/geo/quaternion.js",
"src/geo/celestial.js",
"src/geo/frames.js",
"src/geo/ellipsoid.js",
"src/geo/vector.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/common.js",
"src/render/rendererOf.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js",
@@ -1478,6 +1490,9 @@
"src/layers/military/motion.js",
"src/layers/military/policy.js",
"src/layers/military/queries.js",
"src/render/cesium/camera.js",
"src/geo/index.js",
"src/data/followed.js",
"src/layers/military/rendering.js",
"src/layers/military/icons.js",
"src/data/aircraftIconLayer.js",
@@ -1515,7 +1530,17 @@
"src/input/sensorPick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.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/cameraInput.js",
"src/render/cesium/internals.js",
"src/render/cesium/common.js",
"src/render/rendererOf.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js"
@@ -1604,7 +1629,10 @@
"src/data/pickRegistry.js",
"src/input/sensorPick.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/common.js",
"src/render/cesium/internals.js",
"src/render/rendererOf.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
@@ -1696,7 +1724,10 @@
"src/data/scenePick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/internals.js",
"src/render/cesium/common.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js"
@@ -1707,6 +1738,7 @@
"exports": ["./layers/satellites"],
"modules": [
"src/data/satelliteClass.js",
"src/geo/index.js",
"src/data/satellitePass.js",
"src/sources/tle.js",
"src/layers/satellites/catalog.js",
@@ -1714,6 +1746,7 @@
"src/layers/satellites/index.js",
"src/layers/satellites/ingestion.js",
"src/layers/satellites/interaction.js",
"src/data/followed.js",
"src/layers/satellites/labels.js",
"src/layers/satellites/lifecycle.js",
"src/layers/satellites/orbits.js",
@@ -1724,6 +1757,7 @@
"src/layers/satellites/state.js",
"src/layers/satellites/testing.js",
"src/layers/satellites/tracking.js",
"src/render/cesium/camera.js",
"src/data/inputOwnership.js",
"src/i18n/index.js",
"src/i18n/locale.js",
@@ -1744,7 +1778,17 @@
"src/data/scenePick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/camera/events.js",
"src/geo/celestial.js",
"src/geo/ellipsoid.js",
"src/geo/quaternion.js",
"src/geo/frames.js",
"src/geo/vector.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/common.js",
"src/render/rendererOf.js",
"src/render/cesium/internals.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js"
@@ -2042,7 +2086,10 @@
"src/data/scenePick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/internals.js",
"src/render/cesium/common.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js",
@@ -4347,7 +4394,10 @@
"exports": ["./input"],
"modules": [
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/internals.js",
"src/render/cesium/common.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js",
@@ -4625,7 +4675,10 @@
"src/input/sensorPick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/common.js",
"src/render/cesium/internals.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js"
@@ -5033,7 +5086,9 @@
"src/data/scenePick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/common.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js",
@@ -5105,7 +5160,10 @@
"src/data/scenePick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/common.js",
"src/render/cesium/internals.js",
"src/render/cesium/input.js",
"src/render/cesium/ctrlWheelZoom.js",
"src/render/input/router.js"
@@ -5210,7 +5268,10 @@
"src/input/sensorPick.js",
"src/data/pickRegistry.js",
"src/input/dispatcher.js",
"src/render/cesium/follow.js",
"src/render/cesium/cameraInput.js",
"src/render/cesium/common.js",
"src/render/cesium/internals.js",
"src/render/rendererOf.js",
"src/data/entityRecords.js",
"src/render/cesium/input.js",