jam-cloud/.planning/REQUIREMENTS.md

60 lines
2.0 KiB
Markdown

# 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*