Files
LlamaCasty/HANDOFF.md
T

55 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HANDOFF — 2026-10-09 (TASK 51 webcam background Remove + Blur — BUILT)
## Branch
- main (no feature branch). Pushed through `f8dd107`; everything after is local, **not pushed**
(push at the creator's call).
## Dirty files (NOT mine — do NOT commit)
- The in-flight "pinned chat" work unit: `Models/YouTube.cs`, `ViewModels/MainViewModel.Chat.cs`,
untracked `Helpers/RelayCommandGeneric.cs`, and **its hunks in `Controls/LeftPanel.xaml`**
(lines ~599–610, the chat area). TASK 51 slice 5 edited the SAME file in a different region (the
webcam properties, ~line 287); only the TASK 51 hunk was staged (`git apply --cached` of that hunk
alone) — the pinned-chat hunks are still unstaged and untouched.
- The creator's untracked logo art in `Assets/` (`llamacasty text.*`, `llamacasty-text-nobg*.png`,
`thin logo wordmark.png`).
## What just happened — TASK 51, all five slices
1. **Engine** — Google's MediaPipe Selfie Segmenter (landscape, Apache-2.0) converted to ONNX by
`tools/selfie-seg/` and verified vs MediaPipe's own runtime; embedded resource; onnxruntime CPU.
2. **Blur** — background at ¼ res, 3 box passes, mask-blended; Remove gets edge feather.
3. **Config** — `WebcamSceneConfig.BackgroundEffect` + `BackgroundStrength`, persisted (additive cols).
4. **Hookup** — `CameraManager` renders per-scene effect **variants** (one segmentation per raw frame
on a latest-frame-drop worker; raw path untouched); VM `SyncWebcamEffects()` declares/adopts them.
Synthetic 720p Debug: segment 1.6 ms, Remove 3.3 ms, Blur 17.5 ms.
5. **UI** — Background section in the webcam's Layers properties: Remove / Blur `PillToggle`s,
radio-exclusive, + Strength slider (visible while an effect is on).
Also this session: 64-bit requirement (`PlatformTarget=x64`), GPL-3.0-or-later licensing, README
rewrite, TASK 55 (disk hygiene) + TASK 56 (secret scan before going public) queued.
## Tests
- Full suite **412 passed / 0 failed**, 0 build warnings. New: `BackgroundEffectEngineTests` (Remove,
Blur, bundled-model contract), `CameraManagerTests` (variant reaches compositor + preview, raw
stays raw), `LayoutStorePersistenceTests` (per-scene roundtrip + legacy migration),
`WebcamBackgroundPillTests` (radio semantics + XAML wiring).
- Known environment flakes (not regressions): `Mix_HonorsProviderGains…` (fails while system audio
plays), `RealMouseDrag…` (needs an idle desktop).
## Known issues / follow-ups
- **Creator's real-camera check (TASK 51):** toggle Remove/Blur on a webcam, watch edges/lighting,
and read `startup.log` → "background effects avg … ms/frame".
- `onnxruntime.dll` ~17 MB; TASK 48's MSIX publish must pin `-r win-x64` (x64-only already enforced).
- Still stale, not rewritten: ai.md "Windows packaging" (Store IAP / branding-flash paid delta) and
"Monetization" sections; MARCOM.md asset table (`llama-logo.png` doesn't exist).
- TASK 56: secret-scan the full history BEFORE the Gitea repo (`gramps/LlamaCasty`) goes public.
- Carried: "Use default background" toggle still not working (from 2026-10-07).
## Also shipped after TASK 51 (2026-10-09)
- **Brand flash OFF by default** (`MainViewModel.ShowBrandFlash = false`; feature kept).
- **Audio loudness:** `SpeechLeveler` auto-gain in the voice chain + honest mic meter (no +10 dB boost).
Creator's upload was −28.5 LUFS; the same audio through the new chain measures −17.9 LUFS.
- **Private broadcast close-out:** Enter keeps / Escape deletes (`KeepBroadcastDialog`,
`videos.delete`). Untested against the real API — first real private stream is the check.
## Next step
- Creator runs the app: webcam → Layers properties → Background → Remove / Blur + Strength.