Generate a Tile (first render job) #39

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

Parent

#24

What to build

A filmmaker can generate a Tile with image.t2i. This is the first job that runs through the app's own render queue, so the job table, worker, progress and Queue panel are built here in their simplest form. See User Stories 55, 56, 136 and 139.

Acceptance criteria

  • The job table has one row per ComfyUI submission: kind, exactly one target FK, state, queue position, attempt, our own prompt_id, error and timestamps
  • A worker with one ComfyUI submission lane fills bindings, uploads inputs, submits with our UUID prompt_id (a 200 with non-empty node_errors is a failure), follows WebSocket progress, and on executing{node:null} fetches results from history and /api/view and persists them at once
  • Generated Tiles use the right shape: 4:9 ~1 MP for turnaround and mannequin, Project ratio ~1 MP for location angles, 1:1 ~1 MP for Props
  • A generated Reference version exists as a row with no pixels from the moment it is queued, and is the same kind of object as an imported one
  • Per-job progress streams over a channel; a dockable Queue panel and a status-bar indicator show the running job and %
  • Preflight runs before each submission
  • The fake ComfyUI is extended with /api/prompt, /api/upload/image, /ws event sequences, /api/history and /api/view, recording each submitted graph
  • Tests queue a Tile against the fake and assert on the submitted graph and the stored version

Blocked by

## Parent #24 ## What to build A filmmaker can generate a Tile with `image.t2i`. This is the first job that runs through the app's own render queue, so the job table, worker, progress and Queue panel are built here in their simplest form. See User Stories 55, 56, 136 and 139. ## Acceptance criteria - [ ] The `job` table has one row per ComfyUI submission: kind, exactly one target FK, state, queue position, attempt, our own `prompt_id`, error and timestamps - [ ] A worker with one ComfyUI submission lane fills bindings, uploads inputs, submits with our UUID `prompt_id` (a 200 with non-empty `node_errors` is a failure), follows WebSocket progress, and on `executing{node:null}` fetches results from history and `/api/view` and persists them at once - [ ] Generated Tiles use the right shape: 4:9 ~1 MP for turnaround and mannequin, Project ratio ~1 MP for location angles, 1:1 ~1 MP for Props - [ ] A generated Reference version exists as a row with no pixels from the moment it is queued, and is the same kind of object as an imported one - [ ] Per-job progress streams over a channel; a dockable Queue panel and a status-bar indicator show the running job and % - [ ] Preflight runs before each submission - [ ] The fake ComfyUI is extended with `/api/prompt`, `/api/upload/image`, `/ws` event sequences, `/api/history` and `/api/view`, recording each submitted graph - [ ] Tests queue a Tile against the fake and assert on the submitted graph and the stored version ## Blocked by - #34 - #35
Sign in to join this conversation.
No description provided.