refactor(runtime): cut graphical host over to canonical root
Make every App composition phase borrow one GameRuntime, retire the duplicate view/event adapters, and dispose the root only after its graphical borrowers release. This preserves synchronous UI commands while giving shutdown one exact ownership ledger. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
ecb9f79444
commit
ce41efb9e5
29 changed files with 613 additions and 778 deletions
|
|
@ -33,6 +33,8 @@ public sealed class SettingsDevToolsCompositionTests
|
|||
SettingsDevToolsResult result = fixture.Compose();
|
||||
|
||||
Assert.Null(result.DevTools);
|
||||
Assert.False(
|
||||
fixture.Dependencies.Runtime.CaptureOwnership().IsDisposeRequested);
|
||||
Assert.Equal(1, fixture.Startup.DisplayCalls);
|
||||
Assert.Equal(1, fixture.Startup.AudioCalls);
|
||||
Assert.Equal(0, fixture.Factory.Calls);
|
||||
|
|
@ -229,9 +231,7 @@ public sealed class SettingsDevToolsCompositionTests
|
|||
Settings,
|
||||
Startup,
|
||||
new HostQuiescenceGate(),
|
||||
new RuntimeCommunicationState(),
|
||||
new CombatState(),
|
||||
new LocalPlayerState(new Spellbook()),
|
||||
GameRuntimeTestFactory.Create(),
|
||||
enabled
|
||||
? new SettingsDevToolsOptionalDependencies(
|
||||
new Facts(),
|
||||
|
|
@ -273,6 +273,7 @@ public sealed class SettingsDevToolsCompositionTests
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
Dependencies.Runtime.Dispose();
|
||||
Publication.Owner?.Dispose();
|
||||
_dispatcher.Dispose();
|
||||
_profiler.Dispose();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue