NLE: narration on A1, assemble progress, and layout fixes
A dense wave of NLE polish and additions. The A1 audio track hydrates with the full-length narration for the production. Video shots also mirror their audio as a waveform on A1, so both the narration and the shot audio show up on one lane. The assemble button reports real progress now through a server-side event relay, so you watch the render tick along instead of staring at a spinner. On the backend, the shot create and soft-delete endpoints landed as real implementations, replacing the stubs from earlier today, and overlays now travel through the production manifest. Two small layout fixes came along too. The ruler aligns with the lane origin now (was offset), and the track headers are narrower to leave more room for the clips.
- A1 hydrates with full-length narration via a new
/narrationendpoint - Video shots mirror their audio as a waveform on A1
- Assemble progress reports through an SSE relay (no more spinner-only wait)
- Shot create and soft-delete endpoints now real implementations, replacing the stubs
- Overlays included in the production manifest
- Fixed: ruler now aligns with the lane origin
- Narrower track headers, more room for clips