refactor(input): own gameplay action routing
Move the sole semantic action-priority graph, combat and diagnostic commands, and retained-root item-drop lifetime behind focused typed owners. Preserve retail toggle behavior, explicit auto-wield cancellation, shutdown quiescence, and symmetric callback cleanup. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
8b8afeefa3
commit
4eae9b4f5a
25 changed files with 2608 additions and 418 deletions
17
AGENTS.md
17
AGENTS.md
|
|
@ -115,7 +115,7 @@ and the final two-client portal-out/materialization observer flow are
|
|||
user-gated. Deterministic world-lifecycle automation protects fresh login,
|
||||
outdoor/world-edge/dungeon travel, same-location revisit, exact graceful
|
||||
disconnect, and uncapped fresh-process reconnect with JSON/PNG artifacts.
|
||||
Release builds; 7,477 tests pass / 5 skip.
|
||||
Release builds; 7,524 tests pass / 5 skip.
|
||||
|
||||
**Active prerequisite before new M4 subsystem work:** continue the
|
||||
behavior-preserving `GameWindow` decomposition reconciled on 2026-07-21.
|
||||
|
|
@ -127,7 +127,7 @@ second GUID dictionary. Slices 5–7 are complete: landblock presentation,
|
|||
update-frame orchestration, and render-frame orchestration all have typed
|
||||
owners. `GameWindow.OnUpdate` and `GameWindow.OnRender` are one-handoff methods;
|
||||
the frame owners have no direct window or anonymous callback-bag ownership.
|
||||
Slice 8 checkpoints A–E are also complete: dead host residue is removed,
|
||||
Slice 8 checkpoints A–F are also complete: dead host residue is removed,
|
||||
native-window callback intake has reversible lifetime ownership, and
|
||||
`LiveSessionHost` owns reset/binding composition over the sole canonical
|
||||
session controller. `WorldEnvironmentController` solely owns the clock, DAT
|
||||
|
|
@ -136,11 +136,14 @@ sky/day group, weather, synchronization, and AdminEnvirons state.
|
|||
camera input/focus/scroll and physical framebuffer publication. Silk,
|
||||
dispatcher, retained-UI, and devtools device edges are reversible,
|
||||
transactional, and terminal after disposal; live-session retirement precedes
|
||||
physical callback removal. `GameWindow` is 4,266 raw lines / 194 fields / 65
|
||||
methods, down 11,457 lines (72.9%) from the 15,723-line campaign baseline. The
|
||||
7,477-test Release suite, 315.6-second lifecycle/reconnect gate, and
|
||||
395.2-second synchronized nine-stop soak pass. Slice 8 checkpoints F–L—action
|
||||
routing, settings, resource ownership, ordered composition,
|
||||
physical callback removal. `GameplayInputActionRouter` now owns the sole
|
||||
semantic action-priority
|
||||
graph; typed owners route combat, diagnostics, and remaining commands, and the
|
||||
retained-root item-drop edge is reversible. `GameWindow` is 4,057 raw lines /
|
||||
198 fields / 54 methods, down 11,666 lines (74.2%) from the 15,723-line campaign
|
||||
baseline. The 7,524-test Release suite, 315.6-second lifecycle/reconnect gate,
|
||||
and 395.2-second synchronized nine-stop soak pass. Slice 8 checkpoints G–L—
|
||||
settings, resource ownership, ordered composition,
|
||||
retryable shutdown, soak snapshots, and final connected gates—remain active.
|
||||
See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and
|
||||
`docs/architecture/code-structure.md`. **Carried:** #232, #153,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue