docs: resolve remaining seven Phase 17 open questions (all 11 now closed)
This commit is contained in:
@@ -305,21 +305,31 @@ existing `Enqueue`/`EnqueueRange`, not 17.1's new members). **Landed:** 2026-06-
|
||||
Full design — goal, constraints, use cases, acceptance criteria, test cases, wave decomposition, and
|
||||
the open-question set: `product-notes/phase-17-player-queue-view.md`.
|
||||
|
||||
**Open questions — 4 resolved (Daniel, 2026-06-19), 7 pending (spec §10).**
|
||||
**Open questions — all 11 resolved (Daniel, 2026-06-19; spec §10).**
|
||||
|
||||
- **Resolved (Daniel, 2026-06-19):** **OQ1** → **Option A, conditional** — collapse/expand toggle *if*
|
||||
the embed snippet can dynamically resize the iframe (`postMessage` → host resize handshake), **else
|
||||
fall back to Option B** (omit the button); A preferred, B fallback, deciding factor = iframe-resize
|
||||
feasibility, **determined during 17.3**. **OQ4** → **`MudDropContainer` for now** (C6 softened —
|
||||
touch-viability is a known risk with a planned pivot path, not a pre-ship blocker). **OQ8** →
|
||||
**pure append** (add ≠ play; first add into a dormant queue leaves a coherent `CurrentIndex` via the
|
||||
17.1 engine affordance, no auto-play). **OQ10** → **deferred** (cards get no Add-to-Queue in Phase
|
||||
17; deferred card work captured in `TODO.md`).
|
||||
- **Still pending (recommendations stand, not confirmed):** OQ2 (click-a-row to jump — recommend yes,
|
||||
both modes); OQ3 (terminal/empty states after removal); OQ5 (Clear-queue in the UI and whether it
|
||||
stops playback); OQ6 (embed panel height — fixed+scroll vs. grow-to-cap; couples to OQ1's resize
|
||||
decision); OQ7 (Material vs. bespoke `DDIcons` glyph); OQ9 (exclude `StreamNowButton` — no fixed
|
||||
track); OQ11 (removing the current track — recommend keep playing to natural end).
|
||||
- **OQ1** → **Option A, conditional** — collapse/expand toggle *if* the embed snippet can dynamically
|
||||
resize the iframe (`postMessage` → host resize handshake), **else fall back to Option B** (omit the
|
||||
button); A preferred, B fallback, deciding factor = iframe-resize feasibility, **determined during
|
||||
17.3**.
|
||||
- **OQ2** → **yes, both modes** — clicking a queued row jumps playback to that track in the docked
|
||||
overlay *and* the read-only embed; reuses `PlayRelease(Items, index)`.
|
||||
- **OQ3 + OQ11** (jointly) → **the currently-playing track cannot be removed at all** — no "remove
|
||||
current" action; the × is suppressed on the current row. The queue empties only **organically** (the
|
||||
current track ends with nothing queued after). The engine's `RemoveAt`-of-current path (17.1) stays as
|
||||
defensive, UI-unreachable behavior.
|
||||
- **OQ4** → **`MudDropContainer` for now** (C6 softened — touch-viability is a known risk with a planned
|
||||
pivot path, not a pre-ship blocker).
|
||||
- **OQ5** → **yes, Clear in the overlay header** — but Clear must **not** stop or remove the
|
||||
currently-playing track (it keeps playing and stays in the queue; only the other queued tracks clear).
|
||||
- **OQ6** → **fixed sensible height with internal scroll past N rows** (not grow-to-cap; affects
|
||||
`EmbedSnippetBuilder.ForRelease`).
|
||||
- **OQ7** → **Material icons for now** (`QueueMusic` / `PlaylistAdd`; bespoke `DDIcons` glyph not pursued
|
||||
in Phase 17).
|
||||
- **OQ8** → **pure append** (add ≠ play; first add into a dormant queue leaves a coherent `CurrentIndex`
|
||||
via the 17.1 engine affordance, no auto-play).
|
||||
- **OQ9** → **exclude `StreamNowButton`** (no fixed track until one resolves).
|
||||
- **OQ10** → **deferred** (cards get no Add-to-Queue in Phase 17; deferred card work captured in
|
||||
`TODO.md`).
|
||||
- **None block 17.1.**
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user