feat(text): composite shared text rasters in output
Raster static text on UI-thread changes and reuse the same transparent BGRA frame in preview and all compositor paths. Cache text frame identity in the frame-pump signature and invalidate static bakes on edits. Follow OBS text-source conventions: https://obsproject.com/kb/text-sources
This commit is contained in:
+9
-12
@@ -1,21 +1,18 @@
|
||||
# HANDOFF — 2026-11-04 (Day 2 and YouTube live-state color)
|
||||
# HANDOFF — 2026-11-04 (TASK 3·17 — static text layers)
|
||||
|
||||
## State
|
||||
|
||||
- `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.
|
||||
- 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.
|
||||
- `main`; TASK 53 is complete and TASK 3·17 is complete in three commits: `60c4a00`, `58eb640`,
|
||||
and the final output/compositing phase.
|
||||
- Text layers persist independently, edit as static multiline text, and share one cached raster between
|
||||
preview and output. The frame pump only reads the raster cache; no WPF render occurs on its thread.
|
||||
- The app clean build has 0 warnings. 524 tests passed with the documented physical mouse-injection test
|
||||
and known audio test excluded; the new text renderer, preview/output, and pump-cache tests pass.
|
||||
- The four untracked `Assets/llamacasty-*` files remain untouched.
|
||||
|
||||
## Next action
|
||||
|
||||
- Next queued coding task: TASK 3·17, the Text layer.
|
||||
- Next action: select the next queued task from `TASKS.md`.
|
||||
- Do not push absent a checkpoint request.
|
||||
|
||||
## Landmines
|
||||
|
||||
Reference in New Issue
Block a user