From f5edcba7b2a5b12dc9e7232700eafd4f3bd23a40 Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Sat, 20 Jun 2026 03:12:41 -0400 Subject: [PATCH] feature: Waveform Controls Restructuring --- .../Controls/WaveformVisualizerControls.razor | 275 ++++++++++-------- .../WaveformVisualizerControls.razor.css | 5 + .../Pages/ArchiveView.razor.css | 2 +- 3 files changed, 152 insertions(+), 130 deletions(-) diff --git a/DeepDrftPublic.Client/Controls/WaveformVisualizerControls.razor b/DeepDrftPublic.Client/Controls/WaveformVisualizerControls.razor index 46e782d..2f2b48d 100644 --- a/DeepDrftPublic.Client/Controls/WaveformVisualizerControls.razor +++ b/DeepDrftPublic.Client/Controls/WaveformVisualizerControls.razor @@ -34,147 +34,164 @@ @if (Visible) { - @* ── Row 1 — MODE (always visible). Toggles + collisions group left; color pinned right. ── *@ - + + @* ── Row 1 — MODE (always visible). ── *@ + + + + + - -
- -
-
+ + + +
+ +
+
- @* Collisions are the interaction BETWEEN the two subsystems — meaningless with only one + @* Collisions are the interaction BETWEEN the two subsystems — meaningless with only one present, so visible only when BOTH are on (§3 truth table). *@ - @if (ControlState.LavaEnabled && ControlState.WaveformEnabled) - { - -
- - -
-
- } - @* *@ + @if (ControlState.LavaEnabled && ControlState.WaveformEnabled) + { + +
+ + +
+
+ } - @* Color applies to the whole field regardless of which subsystems are on, so it is pinned - far-right of row 1 and never reflows when collisions hides (§3). *@ - -
- - -
-
+ @if (ControlState.LavaEnabled && ControlState.WaveformEnabled) + { + +
+ + +
+
+ } - -
- -
-
- -
- - @* ── Row 2 — WAVE section (only when waveform on). Both controls are RadialKnobs (scroll reverted - from MudSlider per Phase 15 polish); width pinned far-right via wvc-row-wave space-between. ── *@ - @if (ControlState.WaveformEnabled) - { -
- - - - -
- - -
-
- - -
- - + +
+
-
- } - - @* ── Row 3 — LAVA section (only when lava on). ── *@ - @if (ControlState.LavaEnabled) - { -
- + + + @* ── Row 2 — WAVE section (only when waveform on). ── *@ + @if (ControlState.WaveformEnabled) + { + + + + + - - -
- - -
-
+ + + +
+ + +
+
- -
- - -
-
+ +
+ + +
+
+
+
+ } + + @if (ControlState.LavaEnabled) + { + + + + + - -
- - -
-
+ + + +
+ + +
+
- -
- - -
-
-
-
- } + +
+ + +
+
+ + +
+ + +
+
+ + +
+ + +
+
+
+ + } + }
diff --git a/DeepDrftPublic.Client/Controls/WaveformVisualizerControls.razor.css b/DeepDrftPublic.Client/Controls/WaveformVisualizerControls.razor.css index 9f10fb2..4a0aeb2 100644 --- a/DeepDrftPublic.Client/Controls/WaveformVisualizerControls.razor.css +++ b/DeepDrftPublic.Client/Controls/WaveformVisualizerControls.razor.css @@ -38,3 +38,8 @@ color: var(--mud-palette-primary); opacity: 0.78; } + +.wvc-row { + display: flex; + width: 100%; +} \ No newline at end of file diff --git a/DeepDrftPublic.Client/Pages/ArchiveView.razor.css b/DeepDrftPublic.Client/Pages/ArchiveView.razor.css index bae908e..3346aa5 100644 --- a/DeepDrftPublic.Client/Pages/ArchiveView.razor.css +++ b/DeepDrftPublic.Client/Pages/ArchiveView.razor.css @@ -9,7 +9,7 @@ flex-wrap: wrap; align-items: center; gap: 24px; - padding: 36px 0 20px 0; + padding: 12px 0 20px 0; } .archive-controls-search {