acdream/docs/plans/2026-07-30-physics-parity-visual-matrix.md

6.6 KiB
Raw Blame History

Campaign P — final connected visual matrix (runbook)

The ONE user stop of the physics parity campaign (docs/plans/2026-07-29-physics-parity-campaign.md). Run after every slice P1P7 is committed and the full Release suite is green. Each scenario names its setup, the retail-correct outcome, and the ledger items it closes. Scenarios 13 need a burden/stamina-capable character on local ACE (use @god-style commands sparingly — see reference_ace_commands cautions); scenario 8 needs the second client.

# Scenario Setup Retail-correct outcome Closes / confirms
1 Burdened movement Load the character past 100% burden (pack full of heavy loot), then ~190% Run speed visibly drops past 100%; near 200% the character can barely move and jumps only inches TS-5/AP-25 retirement (P1)
2 Exhausted jump Drain stamina (repeated full-power jumps) to near 0 Jump cost rises with burden; at insufficient stamina the jump refuses/weakens exactly like retail (no infinite full-height jumps) TS-5 retirement, ReportExhaustion consumer (P1)
3 Vitae run Die once, recover the corpse with vitae active Run/jump measurably below the no-vitae baseline; recovers as vitae expires AP-25 replacement (P1)
4 Cliff edge Walk (not jump) off a steep cliff/roof edge (Holtburg bluffs) The body slides along/over the edge (PrecipiceSlide), never a dead stop pinned at the lip TS-1 retirement (P2)
5 Downhill sled Run-jump down a long slope and land Landing glides ("sleds") with a small bounce, then friction settles it; no instant stick #166 close, AP-7 gate (P2)
6 Wall graze Run into a wall at a very shallow angle; also press into a corner and wiggle Tiny lateral slide is preserved (no dead-stop absorb); corner shuffle-out works #116 close (P2)
7 Crowd regression Stand in a packed monster camp; wiggle, jump out Spacing and shuffle-out unchanged from the accepted #182/#184 baseline P2/P3 regression guard
8 Two-client remote checks Second client (retail or acdream) observed from the first (a) remote stops at walls without sinking in (#165); (b) remote jumping into a dungeon ceiling bounces down immediately (#173); (c) Holtburg town-network portal platform steps up (#172); (d) door Use works after jumping (#174); (e) closed-door collision matches the visual door (#175); (f) no sub-decimeter blips on observed players (#41) #165 close + the stale #172#175/#41 gate reconciliation
9 Barred house Approach a house/cell the character is not a guest of Blocked at the threshold client-side (no enter-then-server-boot) AP-71 port (P4)
10 Wading Walk into shallow water at a shoreline Feet sink ~0.1 m into the water surface like retail; movement feel unchanged AP-10 restore (P4)
11 Fresh logins ×20 20 fresh-process logins (mix of outdoor/indoor saves) Zero run-on-the-spot; movement immediate every time #262 close (P6)
12 General sweep 10 min free play: walk/run/strafe/turn/jump/stairs/doors/portals incl. one far-town hop Indistinguishable from the accepted R6 baseline; no new regressions campaign regression gate; #153 connected confirmation

Rubber-band check (rides scenario 12): induce a server correction (e.g. brief packet-loss on Coldeve or a forced position reset) — the leash taper engages and jumping inside a tight leash is refused (0x47), per the #167 port (P5).

Recording the result: per scenario PASS/FAIL + a one-line note. Any FAIL reopens its slice; the campaign closes only on a clean sheet. On full pass: close #165/#166/#116/#262 (if not already), mark #172#175/#41 reconciled with this matrix as the cited gate, update the campaign plan + roadmap + CLAUDE.md current-state, and flip the goal.

Automated pillars — BANKED 2026-07-30 (pre-user-session)

Run on the final tree (post all Campaign P slices), local ACE:

  • Lifecycle/reconnect gate: PASSlogs/connected-world-gate-20260730-130611/report.json (seven checkpoints, graceful exits). Covers scenario 12's login/portal/ teardown backbone.
  • Canonical nine-stop soak: PASSlogs/connected-r6-soak-20260730-131141.report.json (production- dispatcher movement input across nine stops). Covers scenario 12's movement-regression backbone.
  • Scenario 11 (20 fresh logins): PASS, automated basis — 20/20 fresh-process logins (artifacts/262-probe/login-{1..20}.log): every attempt committed the [snap] OUTDOOR server-Z branch, held a live resolve stream (~5.3-6.0k lines/40 s), recentered correctly (incidentally onto far-town 0xC95B — the #153 arrival class — all 20 times), and closed gracefully. No run-on-the-spot signature. The user's eyes-on confirmation of "movement immediate" on a couple of manual logins completes the scenario.

Remaining for the user session: scenarios 1-10 (feel/visual) + the manual halves of 11-12.

User matrix session 1 results (2026-07-30, partial)

  • Scenario 4/5 (cliff/sled): FAIL on the TS-4-removed build — uphill jump-in bounces (non-retail), roof slides lost, occasional edge wedge. → TS-4 removal REVERTED (2e27d066+a8a7d64b), row re-opened with live evidence; downhill sled remains #166. Re-test pending.
  • Speed parity: FAIL/SUSPECT — local char faster than retail comparison → #266 (controlled capture needed).
  • Vitae panel display: FAIL (UI, not physics) → #267.
  • Squeeze-through at the townhall building: FAIL → recorded under scenario 12; needs a dedicated capture (suspect list: TS-46 sphere-list threading at a specific site, or the #116 head-sphere change — both P3/final-slice deltas).
  • Other scenarios: not yet reported.

User matrix session 2 results (2026-07-31)

  • Scenario 1 (burdened movement): PASS.
  • Scenario 2 (exhausted jumping): PASS.
  • Scenario 6 (wall graze/corner movement): PASS.
  • Scenario 7 (crowded-monster movement): PASS.
  • Scenario 8 (two-client remote movement, doors, portals, and its collision checks): PASS.
  • Scenario 10 (shallow-water sink-in): PASS.
  • Scenario 9 (restricted/barred house): DEFERRED BY USER and retained as issue #274.
  • Scenario 12 (general movement sweep): WAIVED BY USER; the accepted focused rows and existing automated soak are sufficient for this campaign.
  • A separate live mismatch remains: acdream can squeeze through some tight gaps that block retail. This is outside the accepted wall-graze response check and is retained as issue #273 pending an exact-location capture.

Together with the previously accepted scenarios 35 and the automated 20-login scenario 11, the Campaign P matrix is closed with #273 and #274 as explicit carried follow-ups.