docs(plan): mark Phase 20 Theater Mode scoped after sign-off
This commit is contained in:
@@ -462,10 +462,10 @@ across all three; the Session-doesn't-use-the-scaffold asymmetry is the key cons
|
||||
works around.
|
||||
|
||||
**Architectural spine.** **One boolean, multiple observers** (memory: *one source, multiple views*).
|
||||
Recommended home: **widen `WaveformVisualizerControlState` with a `TheaterMode` flag** (Option A — the
|
||||
object is already scoped, session-persistent, observed via its `Changed` event, gated on the same
|
||||
State home (OQ3, resolved): **widen `WaveformVisualizerControlState` with a `TheaterMode` flag** —
|
||||
the object is already scoped, session-persistent, observed via its `Changed` event, gated on the same
|
||||
`LavaEnabled || WaveformEnabled` the Theater button reads, and *explicitly designed to widen by adding a
|
||||
field + default*); the SRP-purist alternative is a dedicated `TheaterModeState` holder (Option B). The
|
||||
field + default*. The
|
||||
**detail pages own only the content `@if`** (each page gates the fragments it renders, so the scaffold
|
||||
stays Theater-unaware and Session is covered the same way); the **player bar owns only the enlargement**
|
||||
(reads `CurrentTrack.Release` — `Title`/`ImagePath`/`EntryKey`/`Medium`, all already on the DTO — and
|
||||
@@ -482,17 +482,14 @@ existing theme-aware aliases (`--deepdrft-page-surface`/`-text`/`-text-muted`),
|
||||
visible only when `LavaEnabled || WaveformEnabled`, disabled until interactive, with an on/off active
|
||||
state. Material `Theaters` glyph for v1 (bespoke `DDIcons` deferred — Phase 17 OQ7 precedent).
|
||||
|
||||
**Open questions for Daniel (spec §9) — none block a first cut, but several are genuine product calls:**
|
||||
(OQ1) Theater icon — Material `Theaters` vs. bespoke (recommend Material now); (OQ2) bar enlargement when
|
||||
nothing is playing — page's release vs. playing-release-only (recommend playing-only, keeps the seam
|
||||
clean); (OQ3) state home — Option A widen vs. Option B dedicated holder; (OQ4) back link stays in Theater
|
||||
(recommend keep — it's navigation chrome); (OQ5) persistence — session-scoped/reset-on-reload vs. cookie
|
||||
(recommend session-scoped, matches visualizer-state precedent); (OQ6) Theater on the home hero/NowPlaying
|
||||
panel too, or detail-pages-only (recommend detail-pages-only for v1, as scoped).
|
||||
**Open questions — all six resolved (Daniel, 2026-06-20; spec §9).** OQ1: Material `Theaters` glyph for
|
||||
v1. OQ2: playing-release only — bar stays a pure function of player state. OQ3: Option A — widen
|
||||
`WaveformVisualizerControlState` with a `TheaterMode` flag. OQ4: top action row (back, lava, theater)
|
||||
stays visible — it's controls, not content. OQ5: session-scoped, resets to OFF on fresh page load.
|
||||
OQ6: detail-pages-only for v1; no Theater affordance on the home hero.
|
||||
|
||||
**Status: proposed — awaiting Daniel sign-off on §9 before scoping waves.** Cold-start once signed off;
|
||||
no dependency on any in-flight phase (Phases 11/16/17 — the player bar, queue, and visualizer it builds
|
||||
on — are all complete).
|
||||
**Status: scoped and approved — Phase 20, Wave 1.** Cold-start; no dependency on any in-flight phase
|
||||
(Phases 11/16/17 — the player bar, queue, and visualizer it builds on — are all complete).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user