jam-cloud/.planning/ROADMAP.md

4.8 KiB

Roadmap: JamKazam Media Features Modernization

Overview

Transform the media opening workflow (Backing Track, JamTrack, Metronome) from legacy jQuery/CoffeeScript/Rails patterns into modern React patterns in jam-ui. Starting with completing the partially-implemented Backing Track player, we'll establish patterns that carry forward to JamTrack and Metronome implementations. Each media type involves research phases to understand legacy CoffeeScript patterns, followed by React implementation phases.

Domain Expertise

None

Phases

Phase Numbering:

  • Integer phases (1, 2, 3): Planned milestone work
  • Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)

Decimal phases appear between their surrounding integers in numeric order.

  • Phase 1: Backing Track Playback Monitoring - Implement 500ms polling, display duration and current time in MM:SS format
  • Phase 2: Backing Track Seek Controls - Functional seek bar with drag-to-position capability
  • Phase 3: Backing Track Finalization - Error handling, edge cases, performance optimization
  • Phase 4: JamTrack Research & Design - Explore legacy jQuery/CoffeeScript implementation, design React patterns
  • Phase 5: JamTrack Implementation - Build JamTrack player with mixdown selection and controls
  • Phase 6: Metronome Research & Design - Explore legacy implementation, design React patterns
  • Phase 7: Metronome Implementation - Build metronome with tempo/sound/cricket configuration

Phase Details

Phase 1: Backing Track Playback Monitoring

Goal: Complete the player's time display by implementing real-time monitoring of playback position and duration Depends on: Nothing (first phase) Research: Unlikely (internal patterns using established jamClient API) Plans: 1 plan

Plans:

  • 01-01: Implement 500ms polling with formatTime utility and duration initialization

Phase 2: Backing Track Seek Controls

Goal: Make the seek bar functional with drag-to-position capability Depends on: Phase 1 Research: Unlikely (building on Phase 1, same API patterns) Plans: 1 plan

Plans:

  • 02-01: Wire slider to position state, implement drag-to-seek with SessionTrackSeekMs()

Phase 3: Backing Track Finalization

Goal: Complete Backing Track with error handling, edge cases, and performance optimization Depends on: Phase 2 Research: Unlikely (error handling and optimization of established code) Plans: 3 plans

Plans:

  • 03-01: Finalize volume/loop controls and resolve UAT-003
  • 03-02: Add comprehensive error handling and loading states
  • 03-03: Performance optimization and final UAT

Phase 4: JamTrack Research & Design

Goal: Understand legacy JamTrack implementation (jQuery/CoffeeScript) and design React migration strategy Depends on: Phase 3 Research: Likely (exploring legacy jQuery/CoffeeScript implementation) Research topics: Legacy JamTrack dialog patterns, mixdown selection UI, CoffeeScript React integration patterns, jamClient JamTrack API methods Plans: 2 plans

Plans:

  • 04-01: Document legacy implementation, jamClient API, and React patterns
  • 04-02: Design React architecture, Redux state, and Phase 5 roadmap

Phase 5: JamTrack Implementation

Goal: Build JamTrack player with file opening, mixdown selection, and playback controls Depends on: Phase 4 Research: Unlikely (following patterns established in Phase 4) Plans: TBD

Plans:

  • TBD during phase planning

Phase 6: Metronome Research & Design

Goal: Understand legacy metronome implementation and design React migration strategy Depends on: Phase 5 Research: Likely (exploring legacy jQuery/CoffeeScript implementation) Research topics: Legacy metronome configuration UI, tempo/sound/cricket controls, CoffeeScript React integration patterns, jamClient metronome API methods Plans: TBD

Plans:

  • TBD during phase planning

Phase 7: Metronome Implementation

Goal: Build metronome with tempo/sound/cricket configuration and start/stop controls Depends on: Phase 6 Research: Unlikely (following patterns established in Phase 6) Plans: TBD

Plans:

  • TBD during phase planning

Progress

Execution Order: Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7

Phase Plans Complete Status Completed
1. Backing Track Playback Monitoring 1/1 Complete 2026-01-13
2. Backing Track Seek Controls 1/1 Complete 2026-01-14
3. Backing Track Finalization 3/3 Complete 2026-01-14
4. JamTrack Research & Design 1/2 In progress -
5. JamTrack Implementation 0/TBD Not started -
6. Metronome Research & Design 0/TBD Not started -
7. Metronome Implementation 0/TBD Not started -