fix #434: delete the unreachable DebugPanel/DebugVM surface and the comments that advertised it
DebugPanel and DebugVM have not been constructible since Campaign V slice
V11 removed the ImGui frontend that hosted them: nothing in src/ ever
called their constructors, only a test did. Two consequences, both fixed
here — 35 environment reads inside them were unreachable, and roughly forty
XML doc comments across the diagnostics owners promised a runtime checkbox
that no longer exists. A flag documented as runtime-toggleable when it is
startup-only sends the next investigation down a path that cannot work.
Deleted DebugPanel.cs (340 lines), DebugVM.cs (548) and DebugVMTests.cs
(327). Corrected the surviving claims in PhysicsDiagnostics,
RenderingDiagnostics, CameraDiagnostics, PhysicsEngine and GameWindow to say
what is actually true: these flags are set from the environment at startup
or by direct assignment.
The one real dependant was CombatFeedbackSlot, whose binding target was
DebugVM. It now takes a plain Action<string>, which removes the dependency
without changing behavior — and makes visible that there is no behavior:
nothing binds the slot, so the combat refusals it carries ("No monster
target", "Enter melee or missile combat first") have been discarded all
along. Filed as #436 and pinned by a test, rather than papered over with an
invented chat message; the retail text and channel need the oracle first.
Deliberately untouched: F1's AcdreamToggleDebugPanel binding, which
GameplayInputCommandController consumes as a documented no-op so the key
does not fall through to a lower input scope; and the
DebugVmRenderFactsPublisher / DevToolsRuntimeSources chain, which is still
wired into production composition and deserves its own dead-code pass
instead of being pulled into this one.
Full hermetic suite 15,333 passed / 0 failed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
e77dd7c413
commit
05bfe8d162
11 changed files with 129 additions and 1294 deletions
|
|
@ -6,7 +6,8 @@ namespace AcDream.Core.Rendering;
|
|||
/// Runtime-tunable knobs for the retail-faithful chase camera. Mirrors
|
||||
/// the <see cref="AcDream.Core.Physics.PhysicsDiagnostics"/> pattern:
|
||||
/// static fields seeded from env vars at process start, runtime-settable
|
||||
/// via property setters that the DebugPanel writes to.
|
||||
/// via property setters. (#434: the DebugPanel that used to write them has
|
||||
/// been unreachable since Campaign V slice V11.)
|
||||
///
|
||||
/// <para>
|
||||
/// Spec: <c>docs/superpowers/specs/2026-05-18-retail-chase-camera-design.md</c>.
|
||||
|
|
@ -21,7 +22,7 @@ public static class CameraDiagnostics
|
|||
/// <c>AcDream.App.Rendering.ChaseCamera</c> rigid-follow camera is.
|
||||
/// Initial state from <c>ACDREAM_RETAIL_CHASE</c> — default-on if
|
||||
/// unset, off only when explicitly set to <c>"0"</c>. The legacy
|
||||
/// camera stays available via the DebugPanel toggle pending the
|
||||
/// camera stays available by assigning this property pending the
|
||||
/// follow-up deletion commit.
|
||||
/// </summary>
|
||||
public static bool UseRetailChaseCamera { get; set; } =
|
||||
|
|
|
|||
|
|
@ -8,9 +8,11 @@ namespace AcDream.Core.Rendering;
|
|||
/// <summary>
|
||||
/// 2026-05-19 — runtime-toggleable diagnostic flags for the indoor cell
|
||||
/// rendering pipeline. Initialized from env vars at process start;
|
||||
/// flippable at runtime via the DebugPanel mirror. Log call sites read
|
||||
/// these statics so a checkbox toggle takes effect on the next frame
|
||||
/// without relaunching.
|
||||
/// flippable at runtime by direct assignment. Log call sites read these
|
||||
/// statics so a change takes effect on the next frame without relaunching.
|
||||
/// (#434: these used to have a DebugPanel checkbox mirror. That panel has
|
||||
/// been unreachable since Campaign V slice V11 removed its ImGui host, so
|
||||
/// every flag here is startup-or-assignment only.)
|
||||
///
|
||||
/// <para>
|
||||
/// Mirrors the L.2a <see cref="AcDream.Core.Physics.PhysicsDiagnostics"/>
|
||||
|
|
@ -90,8 +92,8 @@ public static class RenderingDiagnostics
|
|||
/// Initial state from <c>ACDREAM_PROBE_VIS=1</c>.
|
||||
/// <para>
|
||||
/// Phase U.2d (2026-05-30) repurposed this flag from the abandoned A8
|
||||
/// two-pipe stencil pass to the Phase U unified pipeline. The env var name +
|
||||
/// the DebugPanel mirror (<c>DebugVM.ProbeVisibility</c>) are unchanged.
|
||||
/// two-pipe stencil pass to the Phase U unified pipeline. The env var name
|
||||
/// is unchanged (its DebugPanel mirror is gone — #434).
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public static bool ProbeVisibilityEnabled { get; set; } =
|
||||
|
|
@ -352,8 +354,8 @@ public static class RenderingDiagnostics
|
|||
/// (the intensity-100 portal purples + the viewer fill off; statics stay);
|
||||
/// 3 = raw vLit visualization in the fragment shader (texture ignored).
|
||||
/// Discriminates lighting-driven stripes (gone at 1/2, visible in the field
|
||||
/// at 3) from texture/per-pixel machinery (survive 1). Settable for a
|
||||
/// future DebugPanel mirror.
|
||||
/// at 3) from texture/per-pixel machinery (survive 1). Settable at
|
||||
/// runtime by direct assignment.
|
||||
/// </summary>
|
||||
public static int LightDebugMode { get; set; } =
|
||||
int.TryParse(
|
||||
|
|
@ -771,7 +773,7 @@ public static class RenderingDiagnostics
|
|||
/// <c>FrameProfiler</c>'s own class doc. Every backend reports GPU time
|
||||
/// through <c>FrameProfiler.RecordGpuSample</c>.
|
||||
/// Initial state from <c>ACDREAM_FRAME_PROF=1</c>; runtime-toggleable
|
||||
/// via the DebugPanel mirror (<c>DebugVM.FrameProf</c>).
|
||||
/// by direct assignment (its DebugPanel mirror is gone — #434).
|
||||
/// Spec: docs/superpowers/specs/2026-07-05-modern-pipeline-design.md §5.
|
||||
/// </summary>
|
||||
public static bool FrameProfEnabled { get; set; } =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue