Context
Brief §5.5.8: a command palette and full keyboard-shortcut coverage for power users. By this milestone every major action exists — the palette is the unifying command layer over them.
Scope
- Command registry: typed action definitions (id, title, keywords, scope, enabled-predicate, handler) registered by each feature module — palette, shortcuts and future automation all read this one registry.
- Palette (⌘K/Ctrl-K): fuzzy search over commands + inline entity search (tracks/artists/albums/playlists via the search index) with type-ahead sections, recent commands, contextual scoping (playlist commands only in playlist context), fully renderable in ≤ 1 frame from open.
- Shortcut map: global set (space play/pause, ←/→ seek, ↑/↓ volume, S shuffle, R repeat, / focus search, ? help…) + contextual sets; conflict-free with browser/OS defaults; customisation UI with reset; printable/searchable shortcut-help overlay (via
?).
- A11y: palette is itself fully accessible (combobox pattern), shortcuts never trap AT users, single-key shortcuts suspended inside text inputs (§7.8 keyboard operability without keystroke theft).
Acceptance criteria
Technical notes
The registry-enforcement CI check is what keeps "full coverage" true forever — build it first, then migrate existing actions onto it.
Dependencies
Depends on #10, #31.
Context
Brief §5.5.8: a command palette and full keyboard-shortcut coverage for power users. By this milestone every major action exists — the palette is the unifying command layer over them.
Scope
?).Acceptance criteria
Technical notes
The registry-enforcement CI check is what keeps "full coverage" true forever — build it first, then migrate existing actions onto it.
Dependencies
Depends on #10, #31.