docs(phase-15): record polish round 2; mark slider decision superseded
Note the five round-2 changes in COMPLETED.md; mark §8 + the §2/§11 slider references superseded (scroll reverted to RadialKnob).
This commit is contained in:
@@ -25,6 +25,8 @@ Newest entries at the top. Group by phase/wave header (mirroring `PLAN.md` / `CM
|
|||||||
|
|
||||||
**Post-landing fixes (2026-06-17):** Seven defects found during smoke-testing were remediated in a follow-up round on dev: (1) new `--deepdrft-panel-ground` CSS token so the blue slider reads against the panel background; (2) drag-scrollbar removed + body-scroll locked while the modal is open; (3) knob caption icons forced light so lamp toggles stay green; (4) WAVE-row slider vertically centered; (5) **site-wide `RadialKnob` pointer-capture fix** — drag no longer sticks when the cursor leaves the browser window, implemented via real `setPointerCapture` / `releasePointerCapture` (benefits every `RadialKnob` on the site, not just this panel); (6) modal scrim alpha softened (0.3 → 0.15); (7) modal overlay z-index raised above the header and player-dock footer. Fix #5 introduced a **new TypeScript interop module in `DeepDrftShared.Client`**: `Interop/knob/knob.ts` (exports `capturePointer`/`releasePointer`), compiled to `wwwroot/js/knob/knob.js` via `Microsoft.TypeScript.MSBuild`, lazy-imported by `RadialKnob.razor` as `_content/DeepDrftShared.Client/js/knob/knob.js` — following the existing `parallax.ts` precedent in the same RCL.
|
**Post-landing fixes (2026-06-17):** Seven defects found during smoke-testing were remediated in a follow-up round on dev: (1) new `--deepdrft-panel-ground` CSS token so the blue slider reads against the panel background; (2) drag-scrollbar removed + body-scroll locked while the modal is open; (3) knob caption icons forced light so lamp toggles stay green; (4) WAVE-row slider vertically centered; (5) **site-wide `RadialKnob` pointer-capture fix** — drag no longer sticks when the cursor leaves the browser window, implemented via real `setPointerCapture` / `releasePointerCapture` (benefits every `RadialKnob` on the site, not just this panel); (6) modal scrim alpha softened (0.3 → 0.15); (7) modal overlay z-index raised above the header and player-dock footer. Fix #5 introduced a **new TypeScript interop module in `DeepDrftShared.Client`**: `Interop/knob/knob.ts` (exports `capturePointer`/`releasePointer`), compiled to `wwwroot/js/knob/knob.js` via `Microsoft.TypeScript.MSBuild`, lazy-imported by `RadialKnob.razor` as `_content/DeepDrftShared.Client/js/knob/knob.js` — following the existing `parallax.ts` precedent in the same RCL.
|
||||||
|
|
||||||
|
**Polish round 2 (2026-06-17):** Five further UI changes from Daniel's second review: (1) panel ground darkened further (`--deepdrft-panel-ground` `#1e2028` → `#1a1c22`); (2) **WAVE-row scroll/zoom control reverted from `MudSlider` back to a `RadialKnob`** — Daniel's explicit call, reversing the §8 slider decision; the scroll control is now a knob like the other dials; (3) **waveform toggle given its own distinct icon** — new `DDIcons.Waveform`/`WaveformFilled` six-bar sound-wave glyph, so the waveform toggle and lava toggle each have a unique visual identity (lava toggle keeps the lamp); (4) **strong active-state styling on both toggles** — green-accent filled chip + ring when ON, dimmed when OFF, making subsystem state unmistakable at a glance; (5) `WaveformVisualizerControlPopover.razor` in-source comment refreshed to describe the `setPointerCapture` mechanism.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Phase 14 — CMS Releases Consolidation (landed 2026-06-17)
|
## Phase 14 — CMS Releases Consolidation (landed 2026-06-17)
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ change; the centering and chrome are the polish around it.
|
|||||||
- A deterministic three-row layout with conditional visibility (§3).
|
- A deterministic three-row layout with conditional visibility (§3).
|
||||||
- Re-primitiving the popover host to a **screen-centered, tinted modal** overlay (§4).
|
- Re-primitiving the popover host to a **screen-centered, tinted modal** overlay (§4).
|
||||||
- NowPlayingCard-matched panel chrome (§5).
|
- NowPlayingCard-matched panel chrome (§5).
|
||||||
- One control changes widget type: **scroll/zoom becomes a slider, not a knob** (§3, §8).
|
- One control changes widget type: **scroll/zoom becomes a slider, not a knob** (§3, §8). *(superseded 2026-06-17 — reverted to a RadialKnob; see §8)*
|
||||||
- Per-control playful tooltips (§7) and the icon-colour change to light (§9).
|
- Per-control playful tooltips (§7) and the icon-colour change to light (§9).
|
||||||
|
|
||||||
**Out of scope / unchanged.**
|
**Out of scope / unchanged.**
|
||||||
@@ -334,6 +334,10 @@ don't collapse one into the other.
|
|||||||
|
|
||||||
## 8. The one widget-type change: scroll/zoom → slider
|
## 8. The one widget-type change: scroll/zoom → slider
|
||||||
|
|
||||||
|
> **SUPERSEDED (2026-06-17) — polish round 2.** Daniel reversed this decision after the initial landing:
|
||||||
|
> the WAVE-row scroll/zoom control was reverted from `MudSlider` back to a `RadialKnob`. The scroll
|
||||||
|
> control is now a knob like the other dials. The rationale below is the historical design record.
|
||||||
|
|
||||||
Today all eight controls are `RadialKnob`s. Daniel wants the WAVE-row scroll/zoom to be a **slider, not a
|
Today all eight controls are `RadialKnob`s. Daniel wants the WAVE-row scroll/zoom to be a **slider, not a
|
||||||
knob.** Use `MudSlider` (already in the codebase — `VolumeZone`, `WaveformSeeker` use it). Bind
|
knob.** Use `MudSlider` (already in the codebase — `VolumeZone`, `WaveformSeeker` use it). Bind
|
||||||
`Value`/`ValueChanged` to `ScrollSpeed` through the same `OnScrollSpeedChanged` → `NotifyChanged()` handler
|
`Value`/`ValueChanged` to `ScrollSpeed` through the same `OnScrollSpeedChanged` → `NotifyChanged()` handler
|
||||||
@@ -403,7 +407,7 @@ Phase-12, this is moot; if it survives, align it to light too for consistency. F
|
|||||||
far-right of row 1 and does not reflow when collisions hides; both-off leaves toggles + color only.
|
far-right of row 1 and does not reflow when collisions hides; both-off leaves toggles + color only.
|
||||||
5. **Chrome:** panel has square corners, lighter-navy ground, thin light border — visibly matching
|
5. **Chrome:** panel has square corners, lighter-navy ground, thin light border — visibly matching
|
||||||
NowPlayingCard's treatment. All colours token-sourced; no new hardcoded hex.
|
NowPlayingCard's treatment. All colours token-sourced; no new hardcoded hex.
|
||||||
6. **Widget types:** scroll/zoom is a slider bound to `ScrollSpeed` alone; the other seven continuous
|
6. **Widget types:** scroll/zoom is a slider bound to `ScrollSpeed` alone *(superseded 2026-06-17 — reverted to a RadialKnob; see §8)*; the other seven continuous
|
||||||
controls are knobs; lava/waveform are **iconographic lamp toggles** (lit/unlit).
|
controls are knobs; lava/waveform are **iconographic lamp toggles** (lit/unlit).
|
||||||
7. **Colour principle (green = interactive, light = non-interactive):** knob caption icons render **light**;
|
7. **Colour principle (green = interactive, light = non-interactive):** knob caption icons render **light**;
|
||||||
"LAVA:" / "WAVE:" section labels render **light**; knob arcs/pointers, the scroll slider, and the lamp
|
"LAVA:" / "WAVE:" section labels render **light**; knob arcs/pointers, the scroll slider, and the lamp
|
||||||
|
|||||||
Reference in New Issue
Block a user