fix(physics): preserve retail edge-slide stop semantics
This commit is contained in:
parent
c559c48d80
commit
4fbd93ecdb
3 changed files with 427 additions and 77 deletions
|
|
@ -1110,4 +1110,27 @@ rejects a greater-than-15-tick frozen streak. The earlier dedicated
|
|||
`Ts4SteepRoofWedgeCaptureTests` remains green, so retiring these four
|
||||
compensations did not require weakening or deleting the TS-4 control.
|
||||
|
||||
### Corrective review: edge_slide has two outputs
|
||||
|
||||
The first Slice 1B commit collapsed `CTransition::edge_slide`'s function
|
||||
return into its out `TransitionState`. That loses a material retail case:
|
||||
the steep-contact branch writes the result of `cliff_slide` to the out state
|
||||
but returns false independently. A degenerate/parallel CliffSlide therefore
|
||||
writes `OK_TS` **and still tells `transitional_insert` to continue its outer
|
||||
retry**. Branch 1 and the contact-without-remembered-walkable branch stop with
|
||||
`OK_TS`; a `COLLIDED_TS` Precipice result stops; `SLID_TS` and `ADJUSTED_TS`
|
||||
retain their ordinary retry handling.
|
||||
|
||||
The corrective implementation preserves this exact bool-plus-out-state seam.
|
||||
Its end-to-end test drives an invalid-contact StepDown probe into a steep,
|
||||
parallel-last-known CliffSlide, then proves a second outer object pass occurs
|
||||
before success. The roof controls were also hardened: the flat-roof fixture
|
||||
must first land and publish its persistent contact/walkable chronology, fails
|
||||
its control arm when the roof is removed, and proves outward-X rejection plus
|
||||
continued edge tangency. The steep-roof fixture now rejects non-finite or
|
||||
oversized frame steps and signed-plane penetration until polygon exit. Parsed
|
||||
graph and prepared-flat runs compare every `ResolveResult` field and every
|
||||
persistent `PhysicsBody` field by raw float/double bits, including the ordered
|
||||
walkable vertex payload.
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue