test: replace gameplay owner source freezes
This commit is contained in:
parent
9b94050229
commit
84034f732c
6 changed files with 473 additions and 388 deletions
|
|
@ -1447,3 +1447,54 @@ R3 work:
|
|||
- a targeted scan confirms neither owning test file retains a source reader or
|
||||
its source-slicing helper. The final full inventory and twelve-assembly
|
||||
Release gate are intentionally deferred to the one R3 closeout run.
|
||||
|
||||
## Batch AE Runtime gameplay-owner wiring replacement
|
||||
|
||||
Batch AE converts the nine approved consumer-wiring source readers across
|
||||
`RuntimeActionOwnershipTests`, `RuntimeCharacterOwnershipTests`,
|
||||
`RuntimeInventoryOwnershipTests`, and `RuntimeMovementOwnershipTests`. No
|
||||
product source changes and no test is removed. The two approved whole-tree
|
||||
construction policies—one action-owner policy and one movement-owner policy—
|
||||
remain source-aware by design and are not part of the 85 staged replacements.
|
||||
|
||||
The replacements use reflected fields, properties, constructor parameters,
|
||||
compiled child access, and shutdown-root metadata to prove that:
|
||||
|
||||
- retained UI, session composition, graphical command adapters, and item
|
||||
interaction borrow the canonical action children and the exact Runtime
|
||||
transaction owner, with no App `InteractionState` or UI-side transaction
|
||||
construction;
|
||||
- `GameWindow` owns one `GameRuntime`, constructs no character child root,
|
||||
and projects its Spellbook/LocalPlayer properties through
|
||||
`RuntimeCharacterState`; content installation, session routing, retained UI,
|
||||
options, and movement-skill updates all consume that owner;
|
||||
- the deleted App character-option and movement-skill owner types remain
|
||||
absent, while Runtime's option replacement and movement-skill update edges
|
||||
remain live;
|
||||
- `GameWindow` constructs none of the displaced inventory/item-mana/container/
|
||||
shortcut snapshot owners; retained UI and item interaction use the Runtime
|
||||
action transaction, session bindings use the Runtime shortcut store and use
|
||||
completion, and shutdown carries only `GameRuntime`;
|
||||
- `ToolbarController` retains the exact `ShortcutStore` without constructing a
|
||||
mirror, provider delegate, or loaded-state latch, and spell UI has no second
|
||||
local mutation calls for filters, desired components, or favorites; and
|
||||
- graphical input, both runtime adapters, and both shutdown roots borrow the
|
||||
exact `RuntimeLocalPlayerMovementState`, including its autorun and typed
|
||||
command execution edges.
|
||||
|
||||
`CompiledCallGraph.ReadOwned` was added as a test-only metadata facility. It
|
||||
reads declared owner methods plus compiler-generated acquisition/callback
|
||||
closures, so a typed dependency carried by a UI factory remains inspectable
|
||||
without freezing the lambda's source spelling.
|
||||
|
||||
Verification follows the proportionate R3 policy:
|
||||
|
||||
- all 11 focused ownership methods pass, including the two retained whole-tree
|
||||
policies adjacent to the nine replacements;
|
||||
- the complete `AcDream.App.Tests` hermetic lane passes 5,381/5,381 with zero
|
||||
skips or failures;
|
||||
- the complete locked Release build covers all 44 projects with zero warnings
|
||||
and zero errors; and
|
||||
- a targeted scan finds source reads only in the two explicitly retained
|
||||
whole-tree policy methods. The final inventory and twelve-assembly Release
|
||||
gate remain deferred to closeout.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue