fix(physics): port retail stair edge backprobe
This commit is contained in:
parent
5a0f9868a6
commit
2dcb4f1d94
6 changed files with 218 additions and 6 deletions
|
|
@ -98,6 +98,38 @@ Copy this block when adding a new issue:
|
|||
|
||||
---
|
||||
|
||||
## #271 — Stair-side collision reverses uphill movement and rapidly slides the player down
|
||||
|
||||
**Status:** DONE — 2026-07-31 (implementation + user live gate)
|
||||
**Severity:** MEDIUM (movement feel and navigation)
|
||||
**Component:** physics / `edge_slide` / `precipice_slide`
|
||||
|
||||
**Symptom:** while running diagonally up an outdoor staircase and pressing
|
||||
against its side, the character could suddenly move backward and slide rapidly
|
||||
to the bottom.
|
||||
|
||||
**Root cause:** a 677-quantum live trace caught the first bad frame. A valid
|
||||
X side-wall collision turned a requested `+0.88377` uphill Y displacement into
|
||||
`-0.34059`, followed three frames later by a 1.52 m snap to terrain.
|
||||
`EdgeSlideAfterStepDownFailed` promoted ACDream's separately retained
|
||||
`LastWalkable` polygon into the current `SPHEREPATH::walkable` slot. At the
|
||||
stair side this could be the preceding tread, so `PrecipiceSlide` projected
|
||||
against stale geometry and reversed the tangent.
|
||||
|
||||
Named-retail `CTransition::edge_slide @ 0x0050B3D0` never substitutes an older
|
||||
polygon: when current `walkable` is null it back-probes at the current sphere
|
||||
center, restores the failed candidate, and only then invokes
|
||||
`SPHEREPATH::precipice_slide @ 0x0050CC80`. Both stale-history substitutions
|
||||
are removed. The exact captured frame is pinned against the installed stair
|
||||
fixture: pre-fix output moved downhill to Y `75.346481`, while the retail-flow
|
||||
result advances uphill to Y `76.078186` and Z `60.016247`. Core Release passes
|
||||
4,108 tests / 2 skips; the complete Release solution passes 10,062 tests /
|
||||
5 skips. The user then repeatedly climbed the same stairs while pressing into
|
||||
their sides and confirmed the rapid downhill slide was gone. Evidence:
|
||||
`docs/research/2026-07-31-271-stair-side-slide-capture.md`.
|
||||
|
||||
---
|
||||
|
||||
## #270 — Stuck spell animations + intermittently missing monster attack animations
|
||||
|
||||
**Status:** CLOSED 2026-07-31 — both symptoms user-verified fixed (stuck casts: exhaustion-edge gate `a46c8e65`; missing monster attack animations: spawn settle placement `21b3a3f3` + lost-cell retry `807fdb5f`). Final settle-session log: 14/15 spawn settles grounded; Falling-refusal spam 2,954 → 15 transient pre-settle lines. All #270 probes stripped.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue