mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-09 12:54:01 +00:00
Replace Cesium monkey-patches with hooks and keep internals in one module
The arrival ground guard replaced camera.flyTo, flyToBoundingSphere,
setView, lookAt and cancelFlight with wrappers so a direct caller would stop
it. It now remembers the pose it started on and, before each retry, yields
if a flight is under way or the camera has moved across the ground, down or
around. A straight rise is not a move: Cesium's terrain collision lifts a
buried eye that way as tiles load, which is the case the guard exists for.
This also catches owners the wrappers missed (a pose written directly,
lookAtTransform), and no camera method is replaced.
Recent imagery and weather overwrote provider.requestImage (weather also
provider.credit) to ration tiles. They now state that policy as a hook with
withTileRequestHook(provider, { requestImage, credit }) from
src/render/cesium/tileRequests.js, which hands Cesium a provider delegating
to the original and leaves the original untouched.
Every private Cesium field Core reaches goes through a named helper in
src/render/cesium/internals.js: the main and offscreen pick views and their
command extents, a billboard's collection, a cluster's point collection,
the widget's render-loop latch, the WebGL context and the current camera
flight. internals.test.mjs fails when the installed Cesium stops declaring
one of them, and a source scan fails on private access anywhere else. The
cyber sonar's primitives.update wrap stays until the effects work.
Live (Austin, keyless globe): a buried eye is lifted to 253 m over a 133 m
surface; a setView or flyTo by another caller makes the guard yield; radar
loads its tiles through the hook. Documented in docs/APPLICATION.md and
docs/CURRENT-STATE.md.
This commit is contained in:
1 parent
d51ea4007b
commit
ad8adc85f4
18 files changed
+597
-125
No files matched your search
@@ -48,6 +48,10 @@
|
||||
"src/input/sensorPick.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/queries/heights.js",
|
||||
"src/render/cesium/internals.js",
|
||||
"src/render/cesium/internals.test.mjs",
|
||||
"src/render/cesium/tileRequests.js",
|
||||
"src/render/cesium/tileRequests.test.mjs",
|
||||
"src/queries/heights.test.mjs",
|
||||
"docs/CODE-BOUNDARIES.md",
|
||||
"src/main.js",
|
||||
|
||||
@@ -1370,7 +1370,8 @@
|
||||
"src/input/sensorPick.js",
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js"
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/internals.js"
|
||||
],
|
||||
"external": ["cesium"]
|
||||
},
|
||||
@@ -2146,7 +2147,8 @@
|
||||
"src/data/scenePick.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js"
|
||||
"src/input/dispatcher.js",
|
||||
"src/render/cesium/internals.js"
|
||||
],
|
||||
"external": ["cesium"]
|
||||
},
|
||||
@@ -3333,7 +3335,9 @@
|
||||
"src/data/entityRecords.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/queries/heights.js"
|
||||
"src/queries/heights.js",
|
||||
"src/render/cesium/internals.js",
|
||||
"src/render/cesium/tileRequests.js"
|
||||
],
|
||||
"external": [
|
||||
"hls.js",
|
||||
@@ -3959,7 +3963,9 @@
|
||||
"src/data/entityRecords.js",
|
||||
"src/input/sensorPick.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/queries/heights.js"
|
||||
"src/queries/heights.js",
|
||||
"src/render/cesium/tileRequests.js",
|
||||
"src/render/cesium/internals.js"
|
||||
],
|
||||
"external": [
|
||||
"hls.js",
|
||||
@@ -4047,7 +4053,8 @@
|
||||
"src/data/placeNames.js",
|
||||
"src/data/local_data/us_census_places/files.js",
|
||||
"src/data/local_data/wof_neighborhoods/files.js",
|
||||
"src/queries/heights.js"
|
||||
"src/queries/heights.js",
|
||||
"src/render/cesium/internals.js"
|
||||
],
|
||||
"external": [
|
||||
"cesium",
|
||||
@@ -4656,7 +4663,8 @@
|
||||
"src/i18n/locales/zh-Hant.json",
|
||||
"src/input/sensorPick.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/queries/heights.js"
|
||||
"src/queries/heights.js",
|
||||
"src/render/cesium/internals.js"
|
||||
],
|
||||
"external": ["cesium", "egm96-universal", "pbf"]
|
||||
},
|
||||
@@ -4713,7 +4721,8 @@
|
||||
"src/data/scenePick.js",
|
||||
"src/data/pickRegistry.js",
|
||||
"src/input/dispatcher.js",
|
||||
"src/queries/heights.js"
|
||||
"src/queries/heights.js",
|
||||
"src/render/cesium/internals.js"
|
||||
],
|
||||
"external": ["cesium", "pbf"]
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user