jam-cloud/.planning/REQUIREMENTS.md

2.0 KiB

Requirements: v1.6 Media Features Polish

Defined: 2026-02-25 Core Value: Fix usability issues in Metronome, Backing Track, and JamTrack features

v1.6 Requirements

Requirements for polishing media player features. Each maps to roadmap phases.

JamTrack Fixes

  • JT-01: Defer stem/player UI rendering until backend processing completes ✓
  • JT-02: Fix WindowPortal sizing to match player content (460x350) ✓
  • JT-03: Implement "Create custom mix" navigation to /jamtracks/{id} in new tab ✓
  • JT-04: Add callback cleanup for window.jamTrackDownload* in mediaSlice ✓

Backing Track Fixes

  • BT-01: Use openBackingTrack() action to enable track sync to session screen ✓
  • BT-02: Add ignore flag to duration fetch useEffect ✓

Metronome Fixes

  • MET-01: Add debounce (300ms) to BPM/sound/meter control handlers
  • MET-02: Add timer cleanup for debounce timeouts on unmount

Decisions

Decision Rationale
Keep WindowPortal for Metronome Consistency with JamTrack, BackingTrack, Chat. "about:blank" URL is browser security limitation.
Include all performance fixes Prevents memory leaks and state-after-unmount warnings
300ms debounce Standard for responsive UI while avoiding excessive native client calls

Out of Scope

Explicitly excluded for this milestone.

Feature Reason
Hide "about:blank" URL bar Browser security constraint, cannot be changed
Recording improvements Separate milestone (v1.5 shipped)
Additional media features Keep v1.6 focused on polish

Traceability

Requirement Phase Status
JT-01 Phase 26 Complete
JT-02 Phase 26 Complete
JT-03 Phase 26 Complete
JT-04 Phase 26 Complete
BT-01 Phase 27 Complete
BT-02 Phase 27 Complete
MET-01 Phase 28 Pending
MET-02 Phase 28 Pending

v1.6 requirements defined 2026-02-25