feat(B.6 slice 1): DebugPanel mirror for ProbeAutoWalk checkbox

Wires PhysicsDiagnostics.ProbeAutoWalkEnabled into the DebugVM + ImGui
panel checkbox alongside the existing Probe Resolve / Probe Cell /
Probe BSP hits checkboxes. Following the L.2a + L.2d pattern: the
panel toggle takes effect live (no relaunch needed) because the
diagnostic call sites read the static flag every frame.

Lets the next B.6 trace session toggle the probe via panel checkbox
when ACDREAM_DEVTOOLS=1, without an env-var dance.
This commit is contained in:
Erik 2026-05-14 18:03:05 +02:00
parent eda8278a64
commit 1b4f3bac6b
2 changed files with 20 additions and 0 deletions

View file

@ -206,6 +206,7 @@ public sealed class DebugPanel : IPanel
bool probeResolve = _vm.ProbeResolve;
bool probeCell = _vm.ProbeCell;
bool probeBuilding = _vm.ProbeBuilding;
bool probeAutoWalk = _vm.ProbeAutoWalk;
if (r.Checkbox("Dump motion (ACDREAM_DUMP_MOTION)", ref dumpMotion)) _vm.DumpMotion = dumpMotion;
if (r.Checkbox("Dump vitals (ACDREAM_DUMP_VITALS)", ref dumpVitals)) _vm.DumpVitals = dumpVitals;
@ -220,6 +221,10 @@ public sealed class DebugPanel : IPanel
// [resolve-bldg] entries; expect log volume to spike at walls.
if (r.Checkbox("Probe BSP hits (ACDREAM_PROBE_BUILDING, slow)",
ref probeBuilding)) _vm.ProbeBuilding = probeBuilding;
// B.6 slice 1 (2026-05-14): local-player auto-walk trace for issue #63.
// Low volume — only the local player's UM/UP/Use/PickUp events emit.
if (r.Checkbox("Probe auto-walk (ACDREAM_PROBE_AUTOWALK)",
ref probeAutoWalk)) _vm.ProbeAutoWalk = probeAutoWalk;
r.Spacing();

View file

@ -275,6 +275,21 @@ public sealed class DebugVM
set => PhysicsDiagnostics.ProbeBuildingEnabled = value;
}
/// <summary>
/// B.6 slice 1 (2026-05-14). Runtime mirror of
/// <c>PhysicsDiagnostics.ProbeAutoWalkEnabled</c> (env var
/// <c>ACDREAM_PROBE_AUTOWALK</c>). Toggling here flips the
/// <c>[autowalk-out]</c> / <c>[autowalk-mt]</c> / <c>[autowalk-up]</c>
/// trace used to characterize ACE's behavior during a server-
/// initiated auto-walk (issue #63). Low volume when off — only the
/// local player's events are filtered through the probe.
/// </summary>
public bool ProbeAutoWalk
{
get => PhysicsDiagnostics.ProbeAutoWalkEnabled;
set => PhysicsDiagnostics.ProbeAutoWalkEnabled = value;
}
// ── Action hooks invoked by panel buttons ──────────────────────────
/// <summary>