Record the creator's Live-only, single-layer scope and distinguish it from the existing session-scoped Capture Window backdrop pin. Include HWND lifecycle, protected-window, visual-only, and duplicate-underlay boundaries. Reference scan: Microsoft HWND capture item API and OBS Window Capture: https://learn.microsoft.com/en-us/windows/win32/api/windows.graphics.capture.interop/nf-windows-graphics-capture-interop-igraphicscaptureiteminterop-createforwindow https://obsproject.com/kb/window-capture-sources
31 lines
1.9 KiB
Markdown
31 lines
1.9 KiB
Markdown
# HANDOFF — 2026-11-11 (TASK 37 complete; TASK 69 queued)
|
||
|
||
## State
|
||
|
||
- `main`. App code is pushed through `b265d42`; queue-only docs commits are local.
|
||
- **Done:** TASK 35 scene-linked audio, TASK 55 disk hygiene, TASK 65 replay clips, TASK 37 defaults/current split.
|
||
- TASK 37: SQLite keeps an immutable default snapshot beside build-stamped current rows; App Settings can
|
||
restore the staged scene or all scenes, offline only. Webcam identity survives both restore paths.
|
||
- TASK 14·15 mic input gain was closed by creator test (−2.6 dB, works great); slices 16–18 remain.
|
||
- Verification: **615 tests green, clean build with 0 warnings** (`FAST=1 ./scripts/verify.sh`).
|
||
- Steam remains blocked on Valve identity/tax review; no app IDs or store page.
|
||
|
||
## Next action
|
||
|
||
- Queue: **40·A/C/D → Move → 9·5 → 14·16/17/18 → 66 → 67 → 68 → 69 → 70 → 36**.
|
||
- Ask creator before TASK 68 about first-run ON-AIR default; before gold pass, settle the Release
|
||
single-instance mutex behavior.
|
||
- TASK 34 scheduling and TASK 50 recording publish are retired; YouTube owns those surfaces.
|
||
- Do not push app commits absent a checkpoint request.
|
||
|
||
## Landmines
|
||
|
||
- Preview frame-source layers need a `PreviewPane` DataTrigger; pin each new type with a visibility test.
|
||
- Bundled-art healing compares bytes (`LayoutStore.AssetMatches`); a compiled version constant races its resource.
|
||
- Pack URIs for bundled assets must be assembly-qualified (`/LlamaCasty;component/Assets/…`).
|
||
- Media sessions are keyed by path + look; never acquire by raw path.
|
||
- Audio pipe allows one server per name; DEBUG suffixes it, Release does not.
|
||
- Any test constructing `MainWindow` must use a temporary `LayoutPathOverride` and clear it in `finally`.
|
||
- Build with the Windows `dotnet.exe` host from WSL; read render numbers in Release.
|
||
- Bundled FFmpeg stays outside the single-file exe (`ExcludeFromSingleFile="true"`).
|