Feature Spec
Related feature document: docs/features/21-arrangement-wav-export.md
Goal
Render the current arrangement to a downloadable WAV file.
Context
WAV is the first export target because it can be generated directly from rendered PCM without adding a codec dependency. Export timing should come from audio engine/offline scheduling, not UI timers.
Scope
Included:
- Export action for the current arrangement.
- Offline rendering of the full arrangement length.
- WAV Blob encoding, initially stereo 44.1 kHz 16-bit PCM unless implementation constraints justify another format.
- Include arranged clips and mixer routing available at implementation time.
- Busy/progress/error UI.
Excluded:
- MP3/FLAC/AAC.
- Stem export.
- Realtime recording.
- Mastering/normalization.
- Cloud upload.
Constraints
- Do not mutate live playback state while exporting.
- Keep offline rendering separate from React components.
- Do not add an encoder dependency unless the PR justifies it.
Done when
- Export downloads a playable WAV file.
- WAV duration matches the arrangement length.
- Missing sample data produces a clear error.
- Live playback still works after export completes or fails.
Verification
- npm run typecheck --if-present
- npm run lint --if-present
- npm run test --if-present
- npm run build --if-present
Notes
Planning created from the agentic workflow discuss-feature process.
Feature Spec
Related feature document: docs/features/21-arrangement-wav-export.md
Goal
Render the current arrangement to a downloadable WAV file.
Context
WAV is the first export target because it can be generated directly from rendered PCM without adding a codec dependency. Export timing should come from audio engine/offline scheduling, not UI timers.
Scope
Included:
Excluded:
Constraints
Done when
Verification
Notes
Planning created from the agentic workflow discuss-feature process.