docs(architecture): close GameWindow regression handoff

Reconcile AGENTS.md and CLAUDE.md with the completed structural campaign, verified post-closeout interaction/radar/recall gates, and final Release counts. Record capped/RDP jump-pose cadence as deferred issue #235 without changing the retail object clock.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-23 06:12:47 +02:00
parent 4f1c067a21
commit 20e2998adb
6 changed files with 70 additions and 12 deletions

View file

@ -24,12 +24,12 @@ What does NOT go here:
- Every session: scan OPEN issues at start; promote/close anything we touched during the session before ending.
- Promoting to a Phase: mark as `DONE (promoted to Phase X)` + commit SHA where the Phase entry landed.
## Current queue — 2026-07-22
## Current queue — 2026-07-23
- **Structural handoff:** all eight `GameWindow` decomposition slices and the
automated closeout are complete. The 1,622-line native shell has typed
startup, frame, callback, and shutdown owners; 293 focused tests, the
7,823/5 Release suite, the lifecycle/reconnect route, two canonical
7,835/5 Release suite, the lifecycle/reconnect route, two canonical
nine-stop soaks, and the Slice-7 framebuffer comparison pass. The user's
connected visual matrix passed 2026-07-23, so the campaign is complete in
[`docs/architecture/code-structure.md`](architecture/code-structure.md).
@ -39,6 +39,9 @@ What does NOT go here:
`#116` slide response. TS-50/TS-51/TS-53 are tracked in the divergence
register.
- **Deferred visual fidelity:** `#226` retail landscape detail overlay.
- **Deferred frame-pacing fidelity:** `#235`, capped/RDP jump presentation
aliases the retail 30 Hz object clock; uncapped Release presentation is
smooth and physics, collision, and wire state remain correct.
- **Build hygiene:** `#228` records 17 clean-Release test-project warnings;
production compilation and all tests pass.
@ -71,6 +74,40 @@ Copy this block when adding a new issue:
---
## #235 — Capped/RDP jump presentation aliases the 30 Hz object clock
**Status:** OPEN
**Severity:** LOW
**Filed:** 2026-07-23
**Component:** local animation / render interpolation / frame pacing
**Description:** At the capped RDP presentation rate (about 3132 FPS), the
player's upward and downward jump animation can look stepped. The same build
and route are visually smooth when uncapped.
**Root cause / status:** The evidence points to cadence aliasing rather than a
physics or protocol error. Retail advances object work on a fixed 30 Hz clock,
and R6 correctly preserves that clock for motion, animation hooks, collision,
and outbound truth. The existing render interpolation smooths the root
position, but the animated part pose remains quantized to the last admitted
object tick. When capped rendering lands close to the object-tick boundary,
some visual frames repeat the same part pose. Do not change the retail object
clock to fix this presentation-only symptom.
**Files:** `src/AcDream.App/Rendering/LiveEntityAnimationPresenter.cs`;
`src/AcDream.App/Rendering/LiveAnimationPresentationContext.cs`;
the local-player render interpolation path.
**Research:**
[`docs/research/2026-05-06-issue-38-render-interp-pseudocode.md`](research/2026-05-06-issue-38-render-interp-pseudocode.md);
[`docs/research/2026-07-19-r6-complete-root-frame-pseudocode.md`](research/2026-07-19-r6-complete-root-frame-pseudocode.md).
**Acceptance:** At capped and uncapped presentation rates, a jump renders a
smooth root and animated part pose while object-clock admission, animation
hooks, collision, landing, and movement-wire cadence remain unchanged.
---
## #233 — Live skill-credit resolver used an ACE shortcut, not retail's formula
**Status:** DONE (2026-07-22, GameWindow Slice 8 Checkpoint C)

View file

@ -113,11 +113,15 @@ retry/no-replay state, and native-window-last terminal reporting. The host was
Checkpoint K adds deferred, acknowledged, same-frame canonical resource
snapshots and closes #232 through two clean fresh-process nine-stop routes.
The shell is 1,622 raw lines. All 293 focused tests, App Release 3,451/3, the
complete Release suite 7,823/5, connected lifecycle/reconnect, both canonical
The shell is 1,622 raw lines. All 293 focused tests, App Release 3,462/3, the
complete Release suite 7,835/5, connected lifecycle/reconnect, both canonical
soaks, three corrected-diff reviews, and the exact Slice-7 framebuffer
comparison pass. The user's connected visual matrix passed 2026-07-23 and the
structural program is complete.
structural program is complete. Post-closeout radar, interaction completion,
target-facing, and recall-tail regression gates also pass. The capped/RDP jump
presentation cadence alias is deferred as non-blocking issue #235; uncapped
Release presentation is smooth and the retail 30 Hz object clock remains
unchanged.
This is a behavior-preserving structural program. Severe regressions still get
root-cause fixes in separate commits; ordinary feature work resumes with M4

View file

@ -72,11 +72,14 @@ lines after J. Checkpoint K adds deferred same-frame canonical owner snapshots
and closes #232 through two clean 403-second fresh-process nine-stop routes
without loosening the process thresholds. The automated Slice 8 closeout is
complete: `GameWindow` is 1,622 raw lines; 293 focused tests, App Release
3,451/3, the complete Release suite 7,823/5, lifecycle/reconnect, both
3,462/3, the complete Release suite 7,835/5, lifecycle/reconnect, both
canonical soaks, all three corrected-diff reviews, and the Slice-7 framebuffer
comparison pass. The user's connected visual matrix passed 2026-07-23,
including the post-closeout radar correction, so new M4 feature bodies may
begin through the extracted owners.
begin through the extracted owners. Interaction completion, target-facing, and
recall-tail regression gates also pass. The capped/RDP jump presentation
cadence alias remains non-blocking issue #235; it is smooth uncapped and does
not alter the retail 30 Hz object clock.
Carried:
#153 far-teleport residual, #116 slide-response, the remaining R6 ownership cleanup plus