From 7c19fe8a6a8f18fc5571b5df268ea34c7a261d9f Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Fri, 24 Apr 2026 08:57:52 -0400 Subject: [PATCH] docs(plan): add web UI player implementation plan 8 TDD tasks: player rune store (2 tasks covering basic actions then shuffle/repeat/audio-reporting), MediaSession glue, click-to-play wiring in TrackRow + album page, PlayerBar component, Shell 3rd-row integration, audio element wiring in root layout, and a final verification + branch-finish step. Co-Authored-By: Claude Opus 4.7 --- .../plans/2026-04-24-web-ui-player.md | 1698 +++++++++++++++++ 1 file changed, 1698 insertions(+) create mode 100644 docs/superpowers/plans/2026-04-24-web-ui-player.md diff --git a/docs/superpowers/plans/2026-04-24-web-ui-player.md b/docs/superpowers/plans/2026-04-24-web-ui-player.md new file mode 100644 index 00000000..32caee1e --- /dev/null +++ b/docs/superpowers/plans/2026-04-24-web-ui-player.md @@ -0,0 +1,1698 @@ +# Web UI Player Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Ship queue-based audio playback in the SPA — click a track on an album, the rest of the album queues, the bottom bar shows progress + controls, MediaSession populates OS media UI, and shuffle/repeat/volume all work. + +**Architecture:** A single Svelte 5 rune store in `lib/player/store.svelte.ts` holds all player state. A single `