fix(physics): port retail stair edge backprobe

This commit is contained in:
Erik 2026-07-31 09:26:28 +02:00
parent 5a0f9868a6
commit 2dcb4f1d94
6 changed files with 218 additions and 6 deletions

View file

@ -87,3 +87,15 @@ InputDispatcher / PlayerMovementController
plane. Both rules are now ported; focused/full tests and the user's repeated
slope-jump gate pass. See
`docs/research/2026-07-31-269-slope-stop-capture.md`.
- 2026-07-31: #271 stair-side uphill reversal. Never promote ACDream's
retained `LastWalkable` history into retail's current
`SPHEREPATH::walkable` slot inside `edge_slide`. When current walkable is
null, retail `CTransition::edge_slide @ 0x0050B3D0` must back-probe at the
current sphere center and either use that newly discovered polygon or
collide. The stale substitution selected a preceding stair tread, reversed
the uphill tangent, and dropped the player rapidly down the stairs. The
exact live frame is pinned in `Issue185OutdoorStairsSeamReplayTests`; Core
passes 4,108 / 2 skips and the complete Release solution passes 10,062 /
5 skips. The user accepted repeated uphill stair-side runs on 2026-07-31.
See
`docs/research/2026-07-31-271-stair-side-slide-capture.md`.