fix(theater): auto-exit Theater Mode when both visualizer subsystems are disabled

Adds CoerceTheaterMode() to WaveformVisualizerControlState; ToggleLava/ToggleWaveform
call it before NotifyChanged so all observers see consistent state in one Changed cycle.
Covers the dead-end escape route bug (Phase 20 review finding).
This commit is contained in:
daniel-c-harvey
2026-06-20 22:03:39 -04:00
parent fa01b9c8e0
commit 14f3af41e4
3 changed files with 106 additions and 0 deletions
@@ -226,12 +226,14 @@
private void ToggleLava()
{
ControlState.LavaEnabled = !ControlState.LavaEnabled;
ControlState.CoerceTheaterMode();
ControlState.NotifyChanged();
}
private void ToggleWaveform()
{
ControlState.WaveformEnabled = !ControlState.WaveformEnabled;
ControlState.CoerceTheaterMode();
ControlState.NotifyChanged();
}