Queue a draft Take #51

Closed
opened 2026-10-07 07:34:48 +00:00 by crowmaki · 0 comments
Owner

Parent

#24

What to build

A filmmaker can queue a draft Take of a Shot and get back a playable Rendition with full provenance. This is the core job builder. See User Stories 118 and 120–122 and 140. Branch research/h3-latent-reuse has the reference graph.

Acceptance criteria

  • Queuing a Take names it 12A-3 (numbers never reused), assigns a seed, copies the Project profile (overridable per Take in the queue dialog), and records inputs immediately: take_input rows with real FKs and slot numbers, text by value or hash, the job graph and prompt text as blobs, an overridden flag, and workflow id/version/hash
  • The job builder makes these structural edits: one LoadImage/LoadAudio per filled slot wired into the MiniMaxH3ReferenceToVideo Autogrow ports in slot order, and a LoraLoaderModelOnly chain at the named model point (the forced-audio branch, the third allowed edit, comes with #65)
  • Sizes: short side from the profile, long side from the effective ratio, both rounded to ×32; the job records requested seconds and frame count
  • A Rendition row is created at queue time; on collect, the H.264/AAC MP4, lossless FLAC and both split latents are copied into the media folder under ID-based names, and a poster frame is extracted with ffmpeg
  • The ffmpeg sidecar is wired up (only Rust calls it)
  • studio: scheme serves rendition/<id> with Range/206 so the UI can play the draft
  • Shots show a Take list with Queued / Rendering % badges
  • Tests assert on the filled graph sent to the fake and on the stored Rendition files

Blocked by

## Parent #24 ## What to build A filmmaker can queue a draft Take of a Shot and get back a playable Rendition with full provenance. This is the core job builder. See User Stories 118 and 120–122 and 140. Branch `research/h3-latent-reuse` has the reference graph. ## Acceptance criteria - [ ] Queuing a Take names it `12A-3` (numbers never reused), assigns a seed, copies the Project profile (overridable per Take in the queue dialog), and records inputs immediately: `take_input` rows with real FKs and slot numbers, text by value or hash, the job graph and prompt text as blobs, an overridden flag, and workflow id/version/hash - [ ] The job builder makes these structural edits: one `LoadImage`/`LoadAudio` per filled slot wired into the `MiniMaxH3ReferenceToVideo` Autogrow ports in slot order, and a `LoraLoaderModelOnly` chain at the named model point (the forced-audio branch, the third allowed edit, comes with #65) - [ ] Sizes: short side from the profile, long side from the effective ratio, both rounded to ×32; the job records requested seconds and frame count - [ ] A Rendition row is created at queue time; on collect, the H.264/AAC MP4, lossless FLAC and both split latents are copied into the media folder under ID-based names, and a poster frame is extracted with ffmpeg - [ ] The ffmpeg sidecar is wired up (only Rust calls it) - [ ] `studio:` scheme serves `rendition/<id>` with Range/206 so the UI can play the draft - [ ] Shots show a Take list with Queued / Rendering % badges - [ ] Tests assert on the filled graph sent to the fake and on the stored Rendition files ## Blocked by - #48 - #50 - #39
Sign in to join this conversation.
No description provided.