slab/menuband: tiny numeric instrument map + Whistle default + name readout
InstrumentListView rewritten as a non-scrollable 8 × 16 numeric grid:
- 128 cells, one per GM program, each ~28 × 14 px showing just the 3-
digit number ("078") in monospaced. Family-tinted background per row
(16 families = 16 colored stripes top to bottom). Selected cell
flashes the family color full-strength + bold white number.
- No scroll, no names inside cells — the popover gets way smaller and
the whole instrument set is readable at a glance.
- Hover only nudges the row's tint; clicks commit + audition.
Below the grid, a single monospaced readout line shows the selected
program's number + name ("078 Whistle") so the user still sees what
they picked. Updated on syncFromController + handleInstrumentCommit.
Default instrument: Whistle (GM 078) — playful + breathy, more
distinctive than acoustic grand on a fresh install. Fresh-install
default written in bootstrap if the UserDefault isn't set; this user's
pref also flipped to 78 via `defaults write …notepat.melodicProgram`.
About / Crash row:
- Distribution flipped from .fillEqually to .fill, with About hugging
low (expands) and Crash hugging high (sticks to its content). When
there are no crashes, About claims the whole row instead of leaving
empty space on the right.
- About body font bumped 10 → 10.5 with preferredMaxLayoutWidth = the
instrument-map width so the paragraph wraps to the popover width.
Site:
- Bump download cache-buster query string to ?v=237f18c.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>