diff --git a/AGENTS.md b/AGENTS.md index 9d67886c..fef04b24 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -116,7 +116,7 @@ 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; the structural closeout plus verified interaction/recall -regressions pass 293 focused tests, 3,462 App tests / 3 skips, and 7,834 +regressions pass 293 focused tests, 3,462 App tests / 3 skips, and 7,835 complete-solution tests / 5 skips. **Structural prerequisite before new M4 subsystem work:** all eight @@ -127,12 +127,15 @@ startup, update/render frame graphs, native/input callbacks, settings, session/reset wiring, canonical checkpoint capture, and retryable shutdown are owned by focused typed collaborators without a service locator or stored window back-reference. All 293 focused tests, App Release 3,462/3, the complete -Release suite 7,834/5, connected lifecycle/reconnect, two fresh-process +Release suite 7,835/5, connected lifecycle/reconnect, two fresh-process canonical nine-stop soaks, three corrected-diff reviews, and the exact Slice-7 framebuffer comparison pass. Issue #232 is closed without loosening process limits. The user's connected visual matrix passed 2026-07-23, including the post-closeout radar correction; the structural campaign is complete and M4 feature bodies may resume after any active regression gate. +The capped/RDP jump-presentation cadence alias is deferred as issue #235: +uncapped Release presentation is smooth, while physics, collision, and wire +truth remain correct. See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and `docs/architecture/code-structure.md`. **Carried:** #153, #116, remaining R6 ownership cleanup, TS-50/TS-51/TS-53, Modern Pipeline MP1b+, and #225's diff --git a/CLAUDE.md b/CLAUDE.md index dcffe858..dc22e356 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -114,7 +114,7 @@ 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; the structural closeout plus verified interaction/recall -regressions pass 293 focused tests, 3,462 App tests / 3 skips, and 7,834 +regressions pass 293 focused tests, 3,462 App tests / 3 skips, and 7,835 complete-solution tests / 5 skips. **Structural prerequisite before new M4 subsystem work:** all eight @@ -125,12 +125,15 @@ startup, update/render frame graphs, native/input callbacks, settings, session/reset wiring, canonical checkpoint capture, and retryable shutdown are owned by focused typed collaborators without a service locator or stored window back-reference. All 293 focused tests, App Release 3,462/3, the complete -Release suite 7,834/5, connected lifecycle/reconnect, two fresh-process +Release suite 7,835/5, connected lifecycle/reconnect, two fresh-process canonical nine-stop soaks, three corrected-diff reviews, and the exact Slice-7 framebuffer comparison pass. Issue #232 is closed without loosening process limits. The user's connected visual matrix passed 2026-07-23, including the post-closeout radar correction; the structural campaign is complete and M4 feature bodies may resume after any active regression gate. +The capped/RDP jump-presentation cadence alias is deferred as issue #235: +uncapped Release presentation is smooth, while physics, collision, and wire +truth remain correct. See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and `docs/architecture/code-structure.md`. **Carried:** #153, #116, remaining R6 ownership cleanup, TS-50/TS-51/TS-53, Modern Pipeline MP1b+, and #225's diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 2355586d..2e8314a0 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -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 31–32 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) diff --git a/docs/plans/2026-04-11-roadmap.md b/docs/plans/2026-04-11-roadmap.md index 48ebd4bf..7f154665 100644 --- a/docs/plans/2026-04-11-roadmap.md +++ b/docs/plans/2026-04-11-roadmap.md @@ -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 diff --git a/docs/plans/2026-05-12-milestones.md b/docs/plans/2026-05-12-milestones.md index 0ebf0285..9881f166 100644 --- a/docs/plans/2026-05-12-milestones.md +++ b/docs/plans/2026-05-12-milestones.md @@ -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 diff --git a/memory/project_gamewindow_decomposition.md b/memory/project_gamewindow_decomposition.md index c6846406..fdff385e 100644 --- a/memory/project_gamewindow_decomposition.md +++ b/memory/project_gamewindow_decomposition.md @@ -9,6 +9,14 @@ composition/callback shell: 14,101 lines (89.7%) were removed without changing accepted gameplay or rendering behavior. The user's final connected visual matrix passed 2026-07-23; the campaign is complete. +The post-closeout connected handoff also verified the radar correction, +interaction completion after cancelled or completed Use, bow target-facing, +and recall-tail retirement. Commit `f9736ece` restores interaction completion +ownership without moving behavior back into the native shell. The capped/RDP +jump-presentation cadence alias is deferred as issue #235: uncapped Release is +smooth, while object-clock, physics, collision, and movement-wire truth remain +unchanged. + | Slice | Ownership moved out | Closeout size | |---|---|---:| | 1 | world selection and interaction intent | 14,912 / 278 / 191 | @@ -146,7 +154,7 @@ review rule live in `docs/architecture/code-structure.md`. ## Accepted verification - Final automated closeout: 293 focused Slice 8 tests pass; App Release passes - 3,451 / 3 intentional skips; the complete Release suite passes 7,823 / 5. + 3,462 / 3 intentional skips; the complete Release suite passes 7,835 / 5. The Release build retains only the 17 pre-existing test-project warnings tracked by #228. Behavior/retail, architecture/ownership, and adversarial failure reviews are clean.