docs: HANDOFF — #12 landed (element rasters), MJPEG next, web transparency spin-guarded

This commit is contained in:
2026-09-05 16:48:22 -07:00
parent 6d11e8b3fc
commit 0f059ece33
+7 -9
View File
@@ -2,10 +2,7 @@
## Branch / Commit State ## Branch / Commit State
**`main` HEAD = `1295e0e`** — a revert; see "REJECTED this session" below. **`#11` from the roll-forward **`main` HEAD = `6d11e8b`** — `#12` landed (per-element raster reuse: _elementRasters, steady-state compositor allocation ≈ 0; regression test; 289 tests). **`#11` landed as `d35823a`** (release counter in wordmark; capture/camera/web rings 4→8 + Epoch — three-loop hunks dropped per plan). User tested take-15 frame (~clean). Recording output: webcam "black square" regression under the web overlay is OPEN (spin guard triggered; research first before next attempt).
landed as `d35823a`** (release counter in wordmark; capture/camera/web rings 4→8 + Epoch — three-loop
hunks dropped per plan). User tested take-15 frame (~clean). Recording output since then: webcam
"black square" regression under the web overlay is OPEN (details below).
**`today-slices` branch @ `ce87490` (#17)** — preserves ALL 17 commits of the 7fcb2ad→ce87490 chain **`today-slices` branch @ `ce87490` (#17)** — preserves ALL 17 commits of the 7fcb2ad→ce87490 chain
(1 `716a77f` … 17 `ce87490`), including the two-loop producer, encoder staging fix, chat fix, e2e (1 `716a77f` … 17 `ce87490`), including the two-loop producer, encoder staging fix, chat fix, e2e
@@ -126,11 +123,12 @@ and apply cleanly.
0. **Webcam-black-square-under-web transparent: research FIRST.** Second failed remedy → spin guard. 0. **Webcam-black-square-under-web transparent: research FIRST.** Second failed remedy → spin guard.
Externally research how OBS/CEV keep browser-source transparency in recorded output; cite the URL Externally research how OBS/CEV keep browser-source transparency in recorded output; cite the URL
in the commit AND MyMistakes before any code (see REJECTED section above). User tests each attempt. in the commit AND MyMistakes before any code (see REJECTED section above). Do NOT touch the
Do NOT touch the compositor/web code until the research is done. compositor/web code until research names a seam.
1. **#12 `d1126dd`** — compositor raster reuse + MJPEG camera negotiation + stats formatting (FramePump 1. **#12 MJPEG camera negotiation** — `MediaCaptureFrameSource` MJPEG negotiation before frame reader
hunk dropped). creation (SetMediaStreamPropertiesAsync → best MJPEG ≥640×360 @≥30fps, ≤1280 wide), startup.log
2. **#13 `e4621c1`**, **#14 `b4f6a92`** — docs. truth line of actual media type. Stat formatting (`:F1` ms) already in #12 diff. Next to apply.
2. **#13 `e4621c1`**, **#14 `b4f6a92`** — docs (TASKS restructure this session).
3. **#15 `7bf00a9`** — e2e smoothness bar (re-tune thresholds to single-loop measurements if needed). 3. **#15 `7bf00a9`** — e2e smoothness bar (re-tune thresholds to single-loop measurements if needed).
4. **#16 `1a808ae`** — chat empty-buffer composite fix + test. 4. **#16 `1a808ae`** — chat empty-buffer composite fix + test.
5. **#17 `ce87490`** — encoder staging snapshot (the genuine tear cure — applies on the single loop as 5. **#17 `ce87490`** — encoder staging snapshot (the genuine tear cure — applies on the single loop as