docs(architecture): close live animation slice
Record the shipped presentation owner, exact frame-handoff lifetime, retail short-frame behavior, current GameWindow metrics, and Slice 3 as the next structural boundary.
This commit is contained in:
parent
833520253a
commit
9a150e2421
7 changed files with 94 additions and 23 deletions
|
|
@ -21,10 +21,16 @@ 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.
|
||||
Slice 2 live animation presentation landed 2026-07-21: final visual/rigid
|
||||
PartArray composition, effect-pose publication, MotionDone binding, and
|
||||
diagnostics now live in `LiveEntityAnimationPresenter`. Exact incarnation,
|
||||
projection, object-clock, and appearance-revision tokens reject stale work;
|
||||
ordinary/static frame handoffs own their buffers; retail short AnimFrames
|
||||
retain trailing visible and rigid poses. `GameWindow` is now 14,546 lines.
|
||||
|
||||
**Next:** Slice 3 completes live-session ownership by moving connection,
|
||||
character entry, typed event subscriptions, graceful logout, reconnect, and
|
||||
session-scoped cleanup behind `LiveSessionController`/`LiveSessionEventRouter`.
|
||||
|
||||
This is a behavior-preserving structural program. Severe regressions still get
|
||||
root-cause fixes in separate commits; ordinary feature work resumes with M4
|
||||
|
|
@ -1479,7 +1485,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,558 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,575 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -17,14 +17,15 @@ 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 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.
|
||||
Selection/interaction Slice 1 and live-animation-presentation Slice 2 are
|
||||
complete. `GameWindow` is now 14,546 lines, 277 fields, and 190 methods. Slice 3
|
||||
— complete live-session 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,558 tests pass / 5 skip), and
|
||||
test-project warnings tracked by #228, and 6,575 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,9 +1,14 @@
|
|||
# GameWindow Slice 2 — live animation presentation ownership
|
||||
|
||||
**Status:** Approved for execution 2026-07-21.
|
||||
**Status:** Complete 2026-07-21. Automated and three-agent review gates pass;
|
||||
connected visual regression gate is carried to the final campaign gate.
|
||||
**Parent program:** [`docs/architecture/code-structure.md`](../architecture/code-structure.md), Slice 2.
|
||||
**Baseline:** `9ad8113c`; `GameWindow.cs` is 14,912 lines, 278 fields, and
|
||||
191 methods before this slice.
|
||||
**Result:** `GameWindow.cs` is 14,546 lines, 277 fields, and 190 methods.
|
||||
The slice also closed stale-schedule ABA across replacement, appearance
|
||||
rebinding, static rebind, and borrowed sequencer buffers. Forty-one focused
|
||||
Release tests and the full 6,575-pass / 5-skip Release suite are green.
|
||||
**Behavior rule:** This is an ownership extraction over the accepted R6 object
|
||||
frame plus one named-retail conformance correction: short AnimFrames retain
|
||||
the prior/rest pose of trailing CPartArray parts. It must not otherwise change
|
||||
|
|
@ -335,6 +340,12 @@ Additional invariants:
|
|||
|
||||
### Cross-owner order and reconciliation
|
||||
|
||||
The presenter-level portions below are covered by Slice 2. The full
|
||||
instrumented owner-order trace and non-advancing spatial-reconcile assertion
|
||||
remain assigned to Slice 6, where the update sequence becomes one testable
|
||||
orchestrator instead of a `GameWindow` method. Slice 2 preserves that order but
|
||||
does not claim an end-to-end orchestrator test prematurely.
|
||||
|
||||
- One instrumented object-frame test pins presenter, children, static hooks,
|
||||
fades, ordinary hook drain, effect roots, emitters, lights, particles, and
|
||||
scripts. A PES-created particle first simulates on the following frame.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue