diff --git a/src/AcDream.Core/Physics/BSPQuery.cs b/src/AcDream.Core/Physics/BSPQuery.cs index a6fb497..bdff8f4 100644 --- a/src/AcDream.Core/Physics/BSPQuery.cs +++ b/src/AcDream.Core/Physics/BSPQuery.cs @@ -1611,6 +1611,23 @@ public static class BSPQuery var movement = sphere0.Center - localCurrCenter; + // A6.P1: snapshot dispatcher entry for the [push-back-disp] probe. + // Emitted before path selection so the captured state reflects + // the inputs the dispatcher routes on. The returnState=-1 sentinel + // marks "entry log" — A6.P2 analysis pairs entry with the + // subsequent [push-back] adjust-sphere lines and inferred return. + if (PhysicsDiagnostics.ProbePushBackEnabled) + { + PhysicsDiagnostics.LogPushBackDispatch( + sphereCenter: sphere0.Center, + movement: movement, + collide: path.Collide, + insertType: (int)path.InsertType, + objState: unchecked((int)obj.State), + walkInterpEntry: path.WalkInterp, + returnState: -1); + } + // Helper: transform a local-space vector to world space. // ACE: path.LocalSpacePos.LocalToGlobalVec(v) Vector3 L2W(Vector3 v) => Vector3.Transform(v, localToWorld);