refactor(app): compose content effects and audio startup

Move Phase-2 startup behind typed composition/publication boundaries, replace the GameWindow-capturing PhysicsScript gate with a focused deferred source, and own animation-hook registrations reversibly. Make OpenAL construction and teardown transactional so every device, context, source, and buffer prefix is retryable without replay.
This commit is contained in:
Erik 2026-07-22 15:36:05 +02:00
parent 1d51e35c14
commit 60a1698ce7
12 changed files with 1901 additions and 152 deletions

View file

@ -54,7 +54,8 @@ public sealed class GameWindowSlice8BoundaryTests
"GameWindowPlatformResult<GL, IInputContext> platform = AcquirePlatform();",
"new HostInputCameraCompositionPhase(",
"this).Compose(platform);",
"_dats = RuntimeDatCollectionFactory.OpenReadOnly(_datDir);",
"new ContentEffectsAudioCompositionPhase(",
"this).Compose(platform, hostInputCamera);",
"_runtimeSettings.ApplyStartup(",
"new RuntimeSettingsStartupTargets(",
"_uiHost = _retailUiLease.AcquireHost(",
@ -342,6 +343,7 @@ public sealed class GameWindowSlice8BoundaryTests
"new ResourceShutdownStage(\"frame borrowers\"",
"new ResourceShutdownStage(\"session dependents\"",
"new ResourceShutdownStage(\"live entities\"",
"new ResourceShutdownStage(\"effect dispatch edges\"",
"new ResourceShutdownStage(\"live entity dependents\"",
"new ResourceShutdownStage(\"submitted GPU work\"",
"new ResourceShutdownStage(\"render frontends\"",