design: three Jam Guide visualization concepts for user selection (tasks D-00a/b/c)

Muse explored three distinct philosophies for the live Jam Guide panel:
- Stage: live-play-at-a-glance (current chord huge, next preview, one big grip)
- Playbook: study/comparison grid (loop chords x voicings, more-ways expand)
- Roadmap: improv-first highway (playhead, guide tones, scale, voice-leading rails)

Each in docs/design/jam-guide-concept-{a,b,c}.md. Awaiting user pick (D-SEL).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
vadimwit
2026-06-14 15:49:56 +01:00
parent 3c3e30de75
commit dc1778a134
4 changed files with 338 additions and 2 deletions
+10 -2
View File
@@ -7,13 +7,19 @@ The shared queue all agents read and write. Lifecycle and rules: [`PROTOCOL.md`]
---
## Active sprint: `sprint-jam-guide` (branch: not yet cut)
## Active sprint: `sprint-jam-guide` (branch: `sprint-jam-guide`)
Emphasis this sprint: **ship the Jam Guide MVP** (put the 8 guitar style packs on screen, synced to live detection) + **reframe the repo as a learning platform**. Weights this sprint: Luthier 3, Muse 3 (design-heavy), Professor 2, Herald 2, Critic gate.
**Design-first gate (user directive 2026-06-14):** before D-02 locks a layout, Muse explores *several distinct* visualization concepts and the **user picks** one. D-01x/D-02 implement the chosen concept.
| id | title | domain | status | depends-on | files (lock) | definition of done |
|----|-------|--------|--------|-----------|--------------|--------------------|
| M-01 | Cut `sprint-jam-guide` branch; seed sprint | maestro | ready | — | (branch) | branch off main, ledger header set |
| M-01 | Cut `sprint-jam-guide` branch; seed sprint | maestro | done | — | (branch) | branch cut off ensemble-system HEAD (carries agents+KB+skill), ledger header set |
| D-00a | Viz concept **A — "Stage"**: optimised for live play at-a-glance (big current chord, next-chord preview, one recommended voicing) | design | in-review | — | `docs/design/jam-guide-concept-a.md` | ASCII mockup at panel proportions, interaction model, KB-data mapping, pros/cons, ≤16-line preview block |
| D-00b | Viz concept **B — "Playbook"**: optimised for study/comparison (full progression grid × multiple voicings per chord, "more ways" expansion) | design | in-review | — | `docs/design/jam-guide-concept-b.md` | same DoD as D-00a |
| D-00c | Viz concept **C — "Roadmap"**: optimised for improv guidance (progression timeline, position-in-loop, voice-leading/scale hints, what's coming) | design | in-review | — | `docs/design/jam-guide-concept-c.md` | same DoD as D-00a |
| D-SEL | **User selects** a concept (or a blend); Maestro folds it into D-01x/D-02 | maestro | blocked | D-00a, D-00b, D-00c | `docs/agents/LEDGER.md` | chosen concept recorded; layout tasks rewritten to match |
| L-01 | Shared util: extract `findLoopPosition` + degree-relative loop matcher (rotation-invariant) from `ProgressionBanner.jsx` into `src/lib/match.js` | engineering | backlog | M-01 | `src/lib/match.js`, `src/components/ProgressionBanner.jsx` | matcher maps detected loop → style progression id, rotation-invariant; existing banner still works; build green |
| L-02 | `JamGuide.jsx` panel shell: mounts last in `App.jsx`, reads `kb/index.js`, instrument+style tabs from registry, collapsed header → ~70vh | engineering | backlog | L-01 | `src/components/JamGuide.jsx`, `src/App.jsx` | panel renders, tabs generate from KB, matches current loop or shows fallback; build green |
| D-01 | `ChordDiagram.jsx`: 6-string × 5-fret SVG, consumes the KB shape format (movable `rootStr`+`offsets`, open `frets`+`onlyRoot`), key-aware fret placement | design | backlog | L-01 | `src/components/ChordDiagram.jsx` | renders any KB guitar shape correctly in any key; uses design tokens; chord-tone colour tier |
@@ -41,3 +47,5 @@ Emphasis this sprint: **ship the Jam Guide MVP** (put the 8 guitar style packs o
## Iteration log
_(Maestro appends one line per completed iteration: `<date> · <task ids done> · <next>`.)_
- 2026-06-14 · done: M-01 · in-review (awaiting user pick): D-00a/b/c viz concepts · next: D-SEL (user chooses) → then L-01/D-01/D-02 implement chosen concept