Fly the camera through the renderer's camera port

The Cesium camera port moves into render/cesium/camera.js, with the
listener list and position conversion shared from common.js. It now
covers flights (flyTo, flyToBounds, cancelFlight, flying), lookAt and
release, command hooks, and a flightEnd event for the flights it starts.

A flight's end that Cesium raises inside one of the port's own calls is
delivered once Cesium's call returns, so its callback sees the flight
let go of. A flight Cesium declines to start, mid scene-mode morph,
ends as cancelled instead of never settling.

Flight traces run in Node on the recorder's headless camera with a
virtual clock; the browser harness keeps the instant traces.

The startup fly-in, landmark and viewport flights, share-link restore
and the shell's camera state now go through the port. camera.js and
sharelink.js leave the Cesium allow-list.
This commit is contained in:
Sameh Khamis committed 2026-11-05 20:15:52 -08:00
1 parent de0ff6cd2d
commit f95324acb1
20 files changed
+846 -305

No files matched your search

+5
View File
@@ -968,6 +968,7 @@
"src/styles/surveillance.js",
"src/styles/thermal.js",
"src/ui/applicationShell.js",
"src/render/rendererOf.js",
"src/ui/localePicker.js",
"src/ui/cyberSonarControls.js",
"src/ui/locationNavigation.js",
@@ -2492,6 +2493,8 @@
"src/render/cesium/appRenderer.js",
"src/render/rendererOf.js",
"src/render/cesium/ports.js",
"src/render/cesium/common.js",
"src/render/cesium/camera.js",
"src/render/camera/events.js",
"src/render/contract/index.js",
"src/sources/sourceSlot.js",
@@ -3800,6 +3803,7 @@
"src/layers/vessels/testing.js",
"src/layers/vessels/tracking.js",
"src/locations.js",
"src/render/rendererOf.js",
"src/cityPois.js",
"src/navigationPolicy.js",
"src/overlays/worldOverlay.js",
@@ -4096,6 +4100,7 @@
"src/keylessGeocoder.js",
"src/layers/firms/anchors.js",
"src/locations.js",
"src/render/rendererOf.js",
"src/cityPois.js",
"src/cameraGroundGuard.js",
"src/search/alpsGeocoder.js",