From 106896c4083e56723826e4715f8ea95da1512c99 Mon Sep 17 00:00:00 2001 From: gramps Date: Wed, 4 Nov 2026 13:49:39 -0800 Subject: [PATCH] docs: close Task 53 and advance queue --- HANDOFF.md | 11 ++++++----- TASKS.md | 6 +++--- TASKS/task-53-output-formats.md | 6 ++++-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/HANDOFF.md b/HANDOFF.md index a92a68e..e235a90 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -2,19 +2,20 @@ ## State -- `main`; relevant commits: dialog ownership `76e8c22`, vertical scaling through FFmpeg `6310f50`, - Day 2 documentation reconciliation `f921c01`. +- `main`; relevant commits: vertical scaling through FFmpeg `6310f50`, Day 2 reconciliation + `f921c01`, Steam-frame-rate entitlement `7216c95`, Task 53 visual acceptance `1993e7c`. - 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. -- Six creator-supplied output recordings match their named dimensions and frame rates; the creator - visually reviewed and accepted them. The vertical YouTube player check is also accepted. +- TASK 53 is complete: six output recordings and the vertical YouTube player view were accepted by + the creator. Platform-specific safe zones are explicitly out of scope. +- Output entitlement code now gates by frame rate; the paid Steam App ID still needs Steamworks metadata. - 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`. - Four untracked `Assets/llamacasty-*` files remain untouched. ## Next action -- TASK 53 remains the next queued output task: verify the local vertical MP4 matches the YouTube live output. +- Next queued coding task: TASK 3ยท17, the Text layer. - Do not push absent a checkpoint request. ## Landmines diff --git a/TASKS.md b/TASKS.md index 8956bce..a6d6630 100644 --- a/TASKS.md +++ b/TASKS.md @@ -41,9 +41,9 @@ persisted; renderer mirrors `Services/ChatBoxRenderer.cs`. > 2026-11-07 are a failure of the plan, not a scheduling note. | Task | Status | Scope | Detail | |---|---|---|---| -| 53 | ๐Ÿ”ถ **NEXT** | Output-format contract โ€” next slice: verify the local vertical MP4 matches the YouTube live output; all six size/FPS modes and the vertical player view are confirmed | [`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) | -| 3ยท17 | โ˜ | **Text layer** โ€” content, font family/size/weight/style, colour, alignment, drag/resize, persisted | [`task-03`](TASKS/task-03-capture-pipeline.md) | +| 53 | โœ… | Output-format contract โ€” six size/FPS modes, vertical YouTube playback, and recordings visually accepted | [`task-53`](TASKS/task-53-output-formats.md) | +| โ€” | โœ… | Output entitlement code: free at 30 fps / paid at 60 fps regardless of resolution; Steam App ID is still pending | [`commercial`](docs/ai/commercial.md) | +| 3ยท17 | โ˜ **NEXT** | **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) | | โ€” | โ˜ | Transitions **Move**: per-layer carry-across-scenes flag, per-scene placement, fixed z band | [`ui-surface`](docs/ai/ui-surface.md) | | 55ยท2โ€“3 | โ˜ | Disk hygiene: delete `%TEMP%` alert clips on close + sweep at startup; low-disk guard before REC (slice 1 shipped) | [`task-55`](TASKS/task-55-disk-hygiene.md) | diff --git a/TASKS/task-53-output-formats.md b/TASKS/task-53-output-formats.md index 9d89752..7343209 100644 --- a/TASKS/task-53-output-formats.md +++ b/TASKS/task-53-output-formats.md @@ -9,6 +9,8 @@ FFmpeg scaling to YouTube and the local recording needs verification. and recorded outputs preserve the composed image. Creators control layer placement; this task does not promise platform-specific safe zones or keep content clear of every viewer overlay. +### Status: โœ… Complete โ€” creator accepted 2026-11-04 + **Slices (one integration test each, in order):** 1. โœ… **What we actually emit** (2026-11-04; creator visually reviewed and accepted) โ€” six @@ -29,8 +31,8 @@ not promise platform-specific safe zones or keep content clear of every viewer o 3. โœ… **Vertical YouTube live-player check** (creator confirmed 2026-11-04) โ€” the 9:16 stream displays vertically without distortion or letterboxing. Layer placement relative to YouTube controls remains creator-controlled; platform-specific safe zones are not a requirement. -4. โ˜ **Recorded .mp4 matches output** โ€” confirm the vertical local recording uses the same crop and - composed picture as the live stream, not merely the same dimensions. +4. โœ… **Recorded .mp4 matches output** (creator accepted 2026-11-04) โ€” the creator visually reviewed + and accepted the six output recordings and the vertical YouTube live-player result. **Design decisions:**