mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-11 13:52:19 +00:00
Serialize engine and shell transitions through the scene host
Move engine request ordering and the single rollback decision into the scene host. Run handoff, renderer release, candidate acquisition, attachment, restoration and settling in one transaction. Pass that transaction to nested parts so unrelated calls wait without putting nested work behind itself. Keep the engine-switch entry point as a delegating adapter. Route direct shell attachment and detachment through the same host and remove the shell queue. Serialize late part registration with attachment and release. Keep failed-attachment cleanup and renderer release inside the transaction, including failed restoration. Replacement applications share the transition owner with fresh parts, and retired applications release their part registry. A shell used alone creates its own scene host. Preserve Cesium's picker and history ordering, single recovery, retained layer session, cockpit restoration, hidden-tab settling and parked-renderer policy. Navara keeps the same behavior. No user-visible change is intended on either engine. Keep the existing behavioral assertions and cover concurrent operations, failed cleanup followed by recovery, retired transaction handles, replacement startup failure and parked expiry during a switch. All eleven coupling counts remain unchanged; none fell or grew. Renderer lines remain 0 and 189, external Cesium import files 3, viewer lines 891, Navara kind checks 1, engine-sniff calls 0, extension reads 3, ground passes 1, SDK loads 3, screen-handler files 4 and engine-name lines 32. Checked on the keyless production build: the engine, Director and layer handoff switches, app-once, and the rapid, hidden-tab, context-loss, parked-release, failure-matrix and soak scenarios pass.
This commit is contained in:
1 parent
c1e857f798
commit
7f3754d812
23 files changed
+771
-287
No files matched your search
@@ -1031,6 +1031,8 @@
|
||||
"src/ui/applicationShell.js",
|
||||
"src/app/layerSession.js",
|
||||
"src/ui/shellScene.js",
|
||||
"src/app/sceneHost.js",
|
||||
"src/app/engineChoice.js",
|
||||
"src/ui/localePicker.js",
|
||||
"src/ui/cyberSonarControls.js",
|
||||
"src/ui/locationNavigation.js",
|
||||
@@ -2940,6 +2942,8 @@
|
||||
"src/ui/applicationShell.js",
|
||||
"src/app/layerSession.js",
|
||||
"src/ui/shellScene.js",
|
||||
"src/app/sceneHost.js",
|
||||
"src/app/engineChoice.js",
|
||||
"src/ui/mobileShell.js",
|
||||
"src/ui/localePicker.js",
|
||||
"src/ui/cyberSonarControls.js",
|
||||
|
||||
Reference in new issue
Block a user