# 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 - [x] **JT-01**: Defer stem/player UI rendering until backend processing completes ✓ - [x] **JT-02**: Fix WindowPortal sizing to match player content (460x350) ✓ - [x] **JT-03**: Implement "Create custom mix" navigation to `/jamtracks/{id}` in new tab ✓ - [x] **JT-04**: Add callback cleanup for window.jamTrackDownload* in mediaSlice ✓ ### Backing Track Fixes - [x] **BT-01**: Use openBackingTrack() action to enable track sync to session screen ✓ - [x] **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*