acdream/docs/plans/2026-07-30-physics-parity-visual-matrix.md
2026-07-30 13:35:01 +02:00

59 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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: PASS** —
`logs/connected-world-gate-20260730-130611/report.json` (seven
checkpoints, graceful exits). Covers scenario 12's login/portal/
teardown backbone.
- **Canonical nine-stop soak: PASS** —
`logs/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.