refactor(runtime): expose canonical gameplay state
Move character options and movement skills into the Runtime-owned character graph, expose borrowed inventory, character, and social views, and route retained UI state commands through generation-gated typed Runtime contracts. Preserve the existing synchronous wire path while deleting the App-owned option and skill mirrors and extending normalized parity checkpoints. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
9d0d9b07e0
commit
dcb61efb5a
34 changed files with 2076 additions and 103 deletions
|
|
@ -81,6 +81,37 @@ public sealed class RuntimeCharacterOwnershipTests
|
|||
StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppCharacterOptionAndMovementSkillOwnersWereDeleted()
|
||||
{
|
||||
string gameWindow = ReadSource("Rendering", "GameWindow.cs");
|
||||
string sources = ReadSource(
|
||||
"Composition",
|
||||
"InteractionUiRuntimeSources.cs");
|
||||
string playerState = ReadSource("Input", "LocalPlayerRuntimeState.cs");
|
||||
string session = ReadSource("Net", "LiveSessionRuntimeFactory.cs");
|
||||
string router = ReadRuntimeSource(
|
||||
"Session",
|
||||
"LiveSessionEventRouter.cs");
|
||||
|
||||
Assert.DoesNotContain(
|
||||
"PlayerCharacterOptionsState",
|
||||
gameWindow + sources + session,
|
||||
StringComparison.Ordinal);
|
||||
Assert.DoesNotContain(
|
||||
"LocalPlayerSkillState",
|
||||
gameWindow + playerState + session,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains(
|
||||
"character.Character.Options.Replace",
|
||||
router,
|
||||
StringComparison.Ordinal);
|
||||
Assert.Contains(
|
||||
"character.Character.MovementSkills.Update",
|
||||
router,
|
||||
StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
private static string ReadSource(params string[] relative) =>
|
||||
File.ReadAllText(Path.Combine(
|
||||
[FindRepositoryRoot(), "src", "AcDream.App", .. relative]));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue