Redesigned WAV Browser as a structured Sample Library with card layout:
- WAVs grouped by library (ISO name) and program (volume name)
- Library cards with collapsible headers showing program/sample counts
- Program sections within each library
- Sample cards in a compact grid with play-on-click
Updated playWav to show a clean sample name in the player bar,
hide the player when playback ends, and use sample-card selectors
for active-state highlighting.
Clean display names (underscores → spaces, stripped .wav extensions)
- serve.go: embedded web UI (embed.FS), REST API endpoints for
search, list, download (SSE progress), and WAV extraction
- main.go: added serve subcommand and flag registration
- web/ui: vanilla JS frontend with search cards, download queue,
extract controls; dark theme, zero dependencies
- electron/: Electron wrapper that spawns fetch serve as sidecar,
reads port from stdout, creates BrowserWindow; electron-builder
config for macOS .app bundle with akaiutil + script as resources
Refs #1, #9