docs(architecture): close selection extraction slice
Record the measured GameWindow reduction, final review and test gates, durable selection/inventory ownership rules, and live animation presentation as Slice 2. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
5acc3f01cf
commit
9ad8113c79
10 changed files with 141 additions and 52 deletions
|
|
@ -16,9 +16,15 @@ orchestration.
|
|||
**Current sequence:** The implementation audit, exact ownership ledger, slice
|
||||
boundaries, tests, connected gates, and exit criteria live in
|
||||
[`docs/architecture/code-structure.md`](../architecture/code-structure.md) §4.
|
||||
The next slice is selection/interaction: extract the read-only world query,
|
||||
move stateful Use/PickUp/auto-walk intent into one controller, then cut the
|
||||
related input cases over and delete the old `GameWindow` bodies.
|
||||
Slice 1 selection/interaction landed 2026-07-21: the read-only world query and
|
||||
stateful intent owner are extracted, exact-incarnation lifetime is enforced,
|
||||
and retail's global inventory-request transaction is shared across every UI
|
||||
mutation surface. `GameWindow` is 811 lines and 14 methods smaller.
|
||||
|
||||
**Next:** Slice 2 finishes live animation presentation by moving final
|
||||
part/mesh/effect-pose composition and motion-done binding behind
|
||||
`LiveEntityAnimationPresenter`, while preserving the shipped scheduler and
|
||||
retail object-frame order.
|
||||
|
||||
This is a behavior-preserving structural program. Severe regressions still get
|
||||
root-cause fixes in separate commits; ordinary feature work resumes with M4
|
||||
|
|
@ -1473,7 +1479,7 @@ OpenGL ceiling; revisit macOS only if a supported graphics backend is chosen.
|
|||
|
||||
## Cross-cutting work tracked in parallel
|
||||
|
||||
- **Test coverage.** Each phase lands with layer-matched unit and integration tests in `tests/`. Current Release baseline: 6,481 passed / 5 intentional skips (2026-07-21).
|
||||
- **Test coverage.** Each phase lands with layer-matched unit and integration tests in `tests/`. Current Release baseline: 6,558 passed / 5 intentional skips (2026-07-21).
|
||||
- **Memory files.** Live subsystem state and digests are indexed by `claude-memory/MEMORY.md`; stable engineering references remain under `memory/`. Canonical program status stays in milestones/roadmap/issues.
|
||||
- **`CLAUDE.md` discipline.** Check all four references (ACE, ACViewer, WorldBuilder, Chorizite) before committing to an approach. WorldBuilder is the closest stack match and should be checked first.
|
||||
|
||||
|
|
|
|||
|
|
@ -16,14 +16,15 @@ Before new M4 quest/emote/character-creation subsystem bodies enter the App
|
|||
layer, the active structural prerequisite is the behavior-preserving
|
||||
`GameWindow` decomposition in
|
||||
[`docs/architecture/code-structure.md`](../architecture/code-structure.md).
|
||||
The 2026-07-21 audit found 15,723 lines, 258 fields, and about 259 methods;
|
||||
the next slice finishes selection/interaction ownership.
|
||||
The 2026-07-21 audit baseline was 15,723 lines, 278 fields, and 205 methods.
|
||||
Selection/interaction Slice 1 is complete at 14,912 lines, 278 fields, and 191
|
||||
methods. Slice 2 — final live animation presentation ownership — is next.
|
||||
|
||||
Carried:
|
||||
#153 far-teleport residual, #116 slide-response, the remaining R6 ownership cleanup plus
|
||||
registered TS-50/TS-51 timing residuals (the complete-root-Frame/object-workset
|
||||
cutover is automated- and visual-gate complete; Release builds with 17 known
|
||||
test-project warnings tracked by #228, and 6,481 tests pass / 5 skip), and
|
||||
test-project warnings tracked by #228, and 6,558 tests pass / 5 skip), and
|
||||
the deferred Modern Pipeline track (MP1b+). The separate #225 shared-alpha
|
||||
implementation has passed connected lifetime/performance gates and awaits only
|
||||
its lifestone/particle visual comparison.
|
||||
|
|
|
|||
|
|
@ -1,12 +1,33 @@
|
|||
# GameWindow Slice 1 — selection and interaction ownership
|
||||
|
||||
**Status:** Approved for execution 2026-07-21.
|
||||
**Status:** COMPLETE — landed 2026-07-21.
|
||||
**Parent program:** [`docs/architecture/code-structure.md`](../architecture/code-structure.md), Slice 1.
|
||||
**Baseline:** `cf50ee3d`; `GameWindow.cs` is 15,723 lines before this slice.
|
||||
**Behavior rule:** Existing retail behavior moves unchanged. Any defect found by
|
||||
the extraction audit is fixed in a separately identified commit before the
|
||||
mechanical cutover.
|
||||
|
||||
## Landing record
|
||||
|
||||
- Plan/oracle: `c2713837`.
|
||||
- Exact-incarnation lifetime hardening: `047a4c83`.
|
||||
- Retail pending keyboard-pickup presentation: `52dbb574`.
|
||||
- Read-only query extraction: `e74f2ca9`.
|
||||
- Stateful interaction owner: `fa8d5232`.
|
||||
- `GameWindow` cutover: `d2bb5af4`.
|
||||
- Three-review correction pass: `5acc3f01`.
|
||||
|
||||
The correction pass unified retail's one-inventory-request-at-a-time owner
|
||||
across every mutation surface, separated optimistic/rollback/authoritative
|
||||
placement notices, made response completion atomic and reentrancy-safe, and
|
||||
bound pending work to exact object identities and placement tokens.
|
||||
|
||||
Final metrics: `GameWindow.cs` 15,723 → 14,912 lines and 205 → 191 methods;
|
||||
fields remained 278. Release build passed, the focused selection/inventory
|
||||
gate passed, the full suite passed 6,558 tests with five intentional skips,
|
||||
and the retail-conformance, architecture/integration, and adversarial reviews
|
||||
all finished with no actionable findings.
|
||||
|
||||
## 1. Outcome
|
||||
|
||||
`GameWindow` stops owning world selection and selection-driven interaction.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue