2.1 KiB
2.1 KiB
HANDOFF — 2026-09-06
Branch / Commit State
main HEAD = e002847 — web transparency fix (take-21): feed full canvas to compositor.
e002847 fix(web): feed full canvas to compositor — transparent margins reveal layers beneath (take-21)
70db344 perf(camera): MJPEG negotiation before frame reader — camera drives at its best rate
0f059ec docs: HANDOFF — #12 landed (element rasters), MJPEG next, web transparency spin-guarded
6d11e8b perf(compositor): reuse per-element rasters in-place — take-16 GC-churn fix
87509bc (origin/main) docs: restructure TASKS.md into a catalog — one file per task in TASKS/
Pushed to origin: 87509bc. 4 unpushed commits after it.
today-slices branch @ ce87490 — preserves 17-commit chain. Fallback recovery.
Resolved this session
- Audio regression (TASK 26): Non-event — external headset volume control was at minimum, not a code bug.
- Webcam black square / web overlay transparency: FIXED at
e002847. Root cause:bccdb48introduced alpha cropping; the CROP was fed to the compositor, whichUniformToFill-zoomed the opaque content to cover the entire element rect. Fix: feed the FULL1920×1080canvas to the compositor; transparent margins reveal layers beneath; the alpha crop (outPixels) is used only for the previewWriteableBitmap.0f441d8(take-19) had the right insight but introducedCanvasRingalongside the fix — the ring reuse caused additional breakage. Take-21 keeps the singleCanvasScratchbuffer (no ring), feeds full canvas, Epoch increments per frame.
MyMistakes.md update needed
The spin-guard entry for the web overlay needs updating with the take-21 resolution. See that file.
Landmines
- testhost shares startup.log with app — filter by time when triaging
- Stale testhost/exe locks DLL:
taskkill /F /IM testhost.exe /IM ytLive.exefirst - Do NOT run full-suite vstest (WASAPI hang); flow = clean build + per-class + scope-check
- Kill app before build:
/mnt/c/Windows/System32/taskkill.exe /F /IM ytLive.exe - ffmpeg month-end pinned;
Startup.log"Recording saved:" shows real final path