feat(physics): Cluster A — indoor BSP collision probe
Adds the [indoor-bsp] probe + ProbeIndoorBspEnabled toggle for the Indoor walking Phase 1 BSP-cluster investigation. Mirrors the existing [resolve] / [cell-transit] / [indoor-*] pattern: one log line per BSPQuery.FindCollisions call from FindEnvCollisions' cell branch, capturing cell id, sphere local-pos, result TransitionState, and the hit poly's normal + side-type via the LastBspHitPoly side-channel (already wired for ProbeBuildingEnabled, now also fires for the indoor flag). Toggle via ACDREAM_PROBE_INDOOR_BSP=1 env var or DebugPanel checkbox. Zero-cost when off. Predecessor for the three fix commits that will close ISSUES.md #84/#85/#86 after the capture session. Spec: docs/superpowers/specs/2026-05-19-indoor-walking-phase1-bsp-cluster-design.md Plan: docs/superpowers/plans/2026-05-19-indoor-walking-phase1-bsp-cluster.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
18a2e28875
commit
27d7de11d8
6 changed files with 96 additions and 9 deletions
|
|
@ -166,4 +166,33 @@ public static class PhysicsDiagnostics
|
|||
/// </summary>
|
||||
public static bool DumpSteepRoofEnabled { get; set; } =
|
||||
Environment.GetEnvironmentVariable("ACDREAM_DUMP_STEEP_ROOF") == "1";
|
||||
|
||||
/// <summary>
|
||||
/// Indoor walking Phase 1 (2026-05-19). When true, emits one
|
||||
/// <c>[indoor-bsp]</c> line per <see cref="BSPQuery.FindCollisions"/>
|
||||
/// call made from <see cref="Transition.FindEnvCollisions"/>'s indoor
|
||||
/// cell-BSP branch. Captures the cell id, sphere local position,
|
||||
/// resulting <see cref="TransitionState"/>, and the hit poly's id,
|
||||
/// local-normal, and side-type — pinpoints why indoor collision
|
||||
/// returns spurious collisions (#84) and helps cross-check the
|
||||
/// outdoor-in approach path (#85).
|
||||
///
|
||||
/// <para>
|
||||
/// While true, this also un-gates the diagnostic
|
||||
/// <see cref="LastBspHitPoly"/> side-channel inside
|
||||
/// <see cref="BSPQuery"/> — see the OR'd condition at every poly
|
||||
/// write site. Zero-cost when off.
|
||||
/// </para>
|
||||
///
|
||||
/// <para>
|
||||
/// Initial state from <c>ACDREAM_PROBE_INDOOR_BSP=1</c>.
|
||||
/// Runtime-toggleable via DebugPanel.
|
||||
/// </para>
|
||||
///
|
||||
/// <para>
|
||||
/// Spec: <c>docs/superpowers/specs/2026-05-19-indoor-walking-phase1-bsp-cluster-design.md</c>.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public static bool ProbeIndoorBspEnabled { get; set; } =
|
||||
Environment.GetEnvironmentVariable("ACDREAM_PROBE_INDOOR_BSP") == "1";
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue