Revert "fix(physics): TS-4 retired — Path-6 steep-poly shortcut deleted"

This reverts commit 5e2be19b4e.
This commit is contained in:
Erik 2026-07-30 17:02:22 +02:00
parent 2e27d066e8
commit a8a7d64b47
5 changed files with 156 additions and 254 deletions

View file

@ -407,7 +407,7 @@ public class BSPStepUpTests
/// the retail step_up_slide / cliff_slide chain port is completed).</para>
/// </summary>
[Fact]
public void C3_Path6_AirborneMoverHitsSteepSlope_ReturnsAdjustedAndSetsCollide()
public void C3_Path6_AirborneMoverHitsSteepSlope_ReturnsSlid()
{
var (root, resolved) = BSPStepUpFixtures.SlopedUnwalkable();
@ -427,17 +427,13 @@ public class BSPStepUpTests
root, resolved, t, localSphere, null,
currPos, Vector3.UnitZ, 1.0f);
// TS-4 RETIRED (Campaign P final physics slice, 2026-07-30;
// docs/research/2026-07-30-ts4-116-oracle-plan.md §1, §4 item 2).
// Retail's BSP layer has NO steepness test at this layer at all
// (acclient_2013_pseudo_c.txt:323783-323821, 0x0053a793) — a steep
// airborne hit now returns Adjusted and sets the Collide flag,
// exactly like a shallow hit. The old L.4 slide-tangent shortcut
// (Slid, no Collide, its own SetSlidingNormal write) is deleted.
Assert.Equal(TransitionState.Adjusted, result);
Assert.True(t.SpherePath.Collide,
"Collide must be set for a steep Path-6 hit, matching retail's " +
"unconditional SetCollide (acclient_2013_pseudo_c.txt:323783-323821).");
// L.4 slide-tangent (b1af56e, 2026-04-30): steep polygon hit by
// airborne sphere returns Slid (not Adjusted) and does NOT set
// the Collide flag — the into-wall displacement is removed and
// CollisionNormal/SlidingNormal are set instead.
Assert.Equal(TransitionState.Slid, result);
Assert.False(t.SpherePath.Collide,
"Collide must NOT be set when the L.4 steep-slope slide-tangent fires");
}
// =========================================================================