test(physics): harden TS-4 production chronology
This commit is contained in:
parent
75b6f6b6c9
commit
d3c0d9ec0e
5 changed files with 807 additions and 101 deletions
|
|
@ -99,36 +99,30 @@ character state continuously.
|
|||
|
||||
### P2 — Response-layer edge family — retires TS-1, TS-4, AP-7; closes #166, #116
|
||||
|
||||
**Status (2026-07-30, FINAL — Campaign P final physics slice):** TS-1 and
|
||||
AP-7 retired same-day as originally recorded. **TS-4 is now ALSO
|
||||
RETIRED** — the oracle follow-up pass
|
||||
(`docs/research/2026-07-30-ts4-116-oracle-plan.md`) found the freeze the
|
||||
first implementation attempt hit was one layer downstream of Path 6
|
||||
(inside `AdjustOffset`'s crease projection against a purely-vertical
|
||||
offset — a genuine retail-identical degeneracy, not a bug) and ran the
|
||||
plan's own decisive confirming test: `Ts4SteepRoofWedgeCaptureTests`'s
|
||||
horizontal-velocity variant (matching the realistic live-play input that
|
||||
originally validated the shortcut) converges cleanly with the shortcut
|
||||
removed. The Path-6 steep-poly shortcut is deleted from both
|
||||
`BSPQuery.cs` and `FlatBspQuery.cs`; the pure-vertical degenerate case is
|
||||
pinned (not fixed) as register row AD-56. **#116 is narrowed, not
|
||||
closed**: shape-2 (D4 first-airborne-frame hard-stop) is CLOSED — the
|
||||
oracle plan's structural dispatch-routing hypothesis was confirmed by
|
||||
instrumentation with no cdb session needed, and the D4 pin is un-skipped.
|
||||
Shape-1 (tick-22760 lateral-slide loss) got a real, independently-decomp-
|
||||
confirmed fix (Path 6's foot-clear/head-hit branch now returns `Collided`
|
||||
+ `SetCollisionNormal` directly, matching pc:323824-323834/ACE
|
||||
`BSPTree.cs:221-230`), but the confirming replay showed this does NOT
|
||||
explain tick-22760 itself — that mover is grounded (dispatches through
|
||||
Path 5, not Path 6) and the actual "no normal recorded" mechanism
|
||||
(`SpherePath.PrecipiceSlide`'s `find_crossed_edge`-false fallback) is
|
||||
independently confirmed byte-exact retail behavior too. The remaining
|
||||
divergence is most likely this test's simplified door-registration
|
||||
fixture, not the response layer — see ISSUES.md #116 and the oracle
|
||||
plan's Addendum 2 for the full trace and the concrete next step (re-run
|
||||
against the faithful Setup-based door registration). AD-55 (the sled
|
||||
slope-flatness constant, split out of AP-7's retirement) is ALSO retired
|
||||
this same slice — byte-proven `cos(10°)` per the oracle plan's Addendum.
|
||||
**Status (2026-07-31, FINAL):** TS-1 and AP-7 retired as originally
|
||||
recorded. TS-4's first 2026-07-30 removal was accepted by an incomplete
|
||||
resolver-only fixture, failed the live matrix with a roof wedge/uphill-bounce
|
||||
regression, and was reverted. The 2026-07-31 closure began from a fresh
|
||||
`BSPTREE::find_collisions` read and ports the exact asymmetric Path-6 split:
|
||||
primary/foot hits use `SetCollide` + `LandingZ` + `Adjusted`, while
|
||||
secondary/head hits use `CollisionNormal` + `Collided`; neither writes a
|
||||
sliding normal. Both graph and prepared-flat implementations match that
|
||||
oracle.
|
||||
|
||||
The corrective acceptance no longer calls the old horizontal-input fixture
|
||||
"production-shaped." `Ts4ProductionQuantumConformanceTests` executes the
|
||||
already-airborne, zero-root-motion 30 Hz Core collision tail — acceleration,
|
||||
body integration, transition resolve, exact body/cell commit, then
|
||||
`handle_all_collisions` — and retains its behavior-bearing cell, contact,
|
||||
sliding, stationary-fall, and velocity state for 90 ticks. Graph and flat
|
||||
match by raw bits for vertical/inward/tangential/downhill cases and a genuine
|
||||
positive-Z uphill jump; exact terminal state, non-penetration, no fixed point,
|
||||
and no second launch are pinned. No further product-code correction was
|
||||
needed after that test became faithful, and there is no active AD-56 row. The
|
||||
older resolver-only wedge test remains only as a historical three-second
|
||||
signature control. #116 shape-2 remains closed; shape-1 remains narrowed as
|
||||
recorded in its issue history. AD-55 remains retired by the raw-byte
|
||||
`cos(10°)` proof.
|
||||
|
||||
The collision *response* layer (what happens after a hit): ground
|
||||
friction, cliff edges, downhill landings, near-perpendicular wall
|
||||
|
|
@ -145,10 +139,11 @@ binds every subagent here.
|
|||
stop-at-edge.
|
||||
3. **#166:** port the landing "sled" (Sledding state set/clear sites;
|
||||
the sled friction constants already sit in `calc_friction`).
|
||||
4. **TS-4:** replace the Path-6 steep-poly in-place-slide shortcut with
|
||||
retail's `SetCollide → Path-4 → ContactPlane` landing chain, and
|
||||
remove the two BSP-layer `SetSlidingNormal` writes (retail's only
|
||||
in-transition writer is `validate_transition`).
|
||||
4. **TS-4:** remove the Path-6 steep-poly shortcuts and port retail's exact
|
||||
sphere split: primary/foot uses `SetCollide` + `LandingZ` + `Adjusted`;
|
||||
secondary/head uses `CollisionNormal` + `Collided`. Remove every BSP-layer
|
||||
`SetSlidingNormal` write (retail's only in-transition writer is
|
||||
`validate_transition`).
|
||||
5. **#116:** the near-perpendicular lateral-slide loss + first-airborne-
|
||||
frame divergence, driven by the existing tick-22760 replay and D4
|
||||
pins.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue