refactor(app): extract focused window lifetime
Move the exact retryable shutdown manifest, typed root snapshot, terminal reporting, and native-window-last release out of GameWindow. Keep session and GPU convergence as hard barriers while reporting persistent physical callback cleanup without stranding dependent owners. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
5a55d08106
commit
31e6e192b3
21 changed files with 1297 additions and 572 deletions
|
|
@ -328,6 +328,12 @@ public sealed class WorldRenderFrameBuilderTests
|
|||
public void World_scene_uses_the_typed_builder_and_orchestrator_owns_its_local_composition()
|
||||
{
|
||||
string gameWindow = GameWindowSource();
|
||||
string lifetime = File.ReadAllText(Path.Combine(
|
||||
FindRepoRoot(),
|
||||
"src",
|
||||
"AcDream.App",
|
||||
"Rendering",
|
||||
"GameWindowLifetime.cs"));
|
||||
string frameRoot = File.ReadAllText(Path.Combine(
|
||||
FindRepoRoot(),
|
||||
"src",
|
||||
|
|
@ -369,14 +375,14 @@ public sealed class WorldRenderFrameBuilderTests
|
|||
"new RenderFrameOrchestrator(",
|
||||
"d.FrameGraphs.PublishOwned(");
|
||||
AssertAppearsInOrder(
|
||||
gameWindow,
|
||||
"publication.Dispose();",
|
||||
"new(\"equipped children\"",
|
||||
"new(\"effect network state\"",
|
||||
"new(\"audio\"",
|
||||
"new(\"mesh draw dispatcher\"",
|
||||
"new(\"environment cells\"",
|
||||
"new(\"scene lighting\"");
|
||||
lifetime,
|
||||
"frame.FrameGraphPublication?.Dispose()",
|
||||
"Hard(\"equipped children\"",
|
||||
"Hard(\"effect network state\"",
|
||||
"Hard(\"audio\"",
|
||||
"Hard(\"mesh draw dispatcher\"",
|
||||
"Hard(\"environment cells\"",
|
||||
"Hard(\"scene lighting\"");
|
||||
}
|
||||
|
||||
private static string BuilderSource() => File.ReadAllText(Path.Combine(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue