docs(task-53): accept six output samples and advance queue

This commit is contained in:
2026-11-04 11:32:44 -08:00
parent 4b7e798757
commit bde2a4cf4b
3 changed files with 16 additions and 6 deletions
+3 -2
View File
@@ -6,14 +6,15 @@
Day 2 documentation reconciliation `f921c01`. Day 2 documentation reconciliation `f921c01`.
- The top menu background follows YouTube's broadcast status: normal ON-AIR starts red and turns - The top menu background follows YouTube's broadcast status: normal ON-AIR starts red and turns
green only at `lifeCycleStatus=live`; TEST stays gold; stopping restores the idle surface color. green only at `lifeCycleStatus=live`; TEST stays gold; stopping restores the idle surface color.
The focused test passes; the change is included in this work unit. - Six creator-supplied output recordings match their named dimensions and frame rates; the creator
visually reviewed and accepted them.
- The focused top-bar test passes. The last full verification had a clean build and 522/523 tests; - The focused top-bar test passes. The last full verification had a clean build and 522/523 tests;
the only failure was the known `AudioPipelineTests.Mix_HonorsProviderGains_AndGameMute_KillsTheLoopback`. the only failure was the known `AudioPipelineTests.Mix_HonorsProviderGains_AndGameMute_KillsTheLoopback`.
- Four untracked `Assets/llamacasty-*` files remain untouched. - Four untracked `Assets/llamacasty-*` files remain untouched.
## Next action ## Next action
- TASK 53 remains the next queued output task: inventory emitted tiers and pin their geometry. - TASK 53 remains the next queued output task: check 9:16 safe zones and caption placement.
- Do not push absent a checkpoint request. - Do not push absent a checkpoint request.
## Landmines ## Landmines
+1 -1
View File
@@ -41,7 +41,7 @@ persisted; renderer mirrors `Services/ChatBoxRenderer.cs`.
> 2026-11-07 are a failure of the plan, not a scheduling note. > 2026-11-07 are a failure of the plan, not a scheduling note.
| Task | Status | Scope | Detail | | Task | Status | Scope | Detail |
|---|---|---|---| |---|---|---|---|
| 53 | 🔶 **NEXT** | Output-format contract — next slice: inventory actual tiers and pin their geometry; the supplied vertical recording passed resolution-only review | [`task-53`](TASKS/task-53-output-formats.md) | | 53 | 🔶 **NEXT** | Output-format contract — next slice: 9:16 safe-zone and caption geometry; six emitted size/FPS modes have been verified from recordings | [`task-53`](TASKS/task-53-output-formats.md) |
| — | ☐ | Output entitlement: change `OutputProfile` and its tests to free at 30 fps / paid at 60 fps, independent of resolution | [`commercial`](docs/ai/commercial.md) | | — | ☐ | Output entitlement: change `OutputProfile` and its tests to free at 30 fps / paid at 60 fps, independent of resolution | [`commercial`](docs/ai/commercial.md) |
| 3·17 | ☐ | **Text layer** — content, font family/size/weight/style, colour, alignment, drag/resize, persisted | [`task-03`](TASKS/task-03-capture-pipeline.md) | | 3·17 | ☐ | **Text layer** — content, font family/size/weight/style, colour, alignment, drag/resize, persisted | [`task-03`](TASKS/task-03-capture-pipeline.md) |
| 21 | 🔶 | Media source: acquisition wiring + file picker + loop/volume UI (decoder, manager, pacing, loop all shipped — **no `AcquireAsync` caller exists**) | [`task-21`](TASKS/task-21-media-source.md) | | 21 | 🔶 | Media source: acquisition wiring + file picker + loop/volume UI (decoder, manager, pacing, loop all shipped — **no `AcquireAsync` caller exists**) | [`task-21`](TASKS/task-21-media-source.md) |
+12 -3
View File
@@ -12,9 +12,18 @@ prove it. Make the output formats a tested, locked contract instead of an assump
**Slices (one integration test each, in order):** **Slices (one integration test each, in order):**
1. ☐ **What we actually emit** — enumerate the real encoding configurations (widescreen 1080p60/ 1. ✅ **What we actually emit** (2026-11-04; creator visually reviewed and accepted) — six
1080p30/720p60/720p30 + vertical 9:16 1080p60/1080p30) and pin them in one place (`FfmpegArgs`-adjacent), creator-supplied recordings confirm the emitted configurations. All are H.264 with exact
each with its own geometry contract test. This turns "formats exist" into "formats are defined". average frame rates and dimensions:
| Mode | File | Output |
|---|---|---|
| Landscape 1080p60 | `rec1-1080p60.mp4` | 1920×1080 @60 fps |
| Landscape 1080p30 | `rec2-1080p30.mp4` | 1920×1080 @30 fps |
| Landscape 720p60 | `rec3-720p60.mp4` | 1280×720 @60 fps |
| Landscape 720p30 | `rec4-720p30.mp4` | 1280×720 @30 fps |
| Vertical 1080p30 | `rec5-1080p30-vert.mp4` | 1080×1920 @30 fps |
| Vertical 1080p60 | `rec6-1080p60-vert.mp4` | 1080×1920 @60 fps |
2. ✅ **9:16 output resolution (resolution-only acceptance, 2026-11-04)** — creator-supplied 2. ✅ **9:16 output resolution (resolution-only acceptance, 2026-11-04)** — creator-supplied
`ty-20261104-0927-982-0000-2.mp4` reports H.264 1080×1920 at 60 fps. The creator accepted the `ty-20261104-0927-982-0000-2.mp4` reports H.264 1080×1920 at 60 fps. The creator accepted the
resolution check only; captions and visual safe-zone placement were not reviewed. resolution check only; captions and visual safe-zone placement were not reviewed.