feat: card-based Sample Library layout with grouping #15

Merged
david merged 3 commits from feat/sample-library-cards into main 2026-06-22 09:56:57 +00:00
Owner

Summary

Redesigned the WAV Browser into a structured Sample Library with card-based layout.

  • WAVs grouped by library (ISO name) and program (volume name)
  • Library cards with program/sample counts
  • Program sections within each library
  • Sample cards in a compact grid, click anywhere to play
  • Cleaned display names (underscores → spaces, no .wav extensions)
  • Player bar shows sample name, auto-hides on end

Testing

  • ESLint: 0 issues
  • JS tests: 19 tests, all pass
  • Go tests: 65.1% coverage, all pass
  • golangci-lint: 0 issues
## Summary Redesigned the WAV Browser into a structured Sample Library with card-based layout. - WAVs grouped by library (ISO name) and program (volume name) - Library cards with program/sample counts - Program sections within each library - Sample cards in a compact grid, click anywhere to play - Cleaned display names (underscores → spaces, no .wav extensions) - Player bar shows sample name, auto-hides on end ## Testing - ESLint: 0 issues - JS tests: 19 tests, all pass - Go tests: 65.1% coverage, all pass - golangci-lint: 0 issues
david added 1 commit 2026-06-22 09:38:17 +00:00
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)
david added 1 commit 2026-06-22 09:46:37 +00:00
Docs:
- AGENTS.md: updated toolchain section with js-lint/js-test tasks,
  expanded web/ui/ directory listing, added event delegation and
  Web Audio API to key patterns, updated testing section
- README: marked issue #9 (Audio Preview Player) as done
- .gitignore: added akai-fetch.test and cover.out

Tests:
- Moved groupWavs and cleanName to util.js (pure functions)
- Added 10 new JS tests: 6 groupWavs, 4 cleanName
- Total JS tests: 29 (up from 19)
david added 1 commit 2026-06-22 09:52:27 +00:00
- Sample Library section now collapsible via header click
- Library cards collapsible via header click (toggle icon ▾)
- Collapse All button to batch-collapse all libraries
- Compact sample cards: 28px height, 10px font, 70px min grid column
- Tighter spacing throughout (8px lib gap, 4px sample grid gap)
- Play icon removed from cards (card itself is clickable)
david merged commit 669d3abe27 into main 2026-06-22 09:56:57 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: david/akai-utils#15