5.4 KiB
5.4 KiB
HANDOFF — 2026-10-10 (strip tile artwork + on-air tile unit; uncommitted)
At a glance
- Branch main (no feature branch). Pushed through
5685c5d; 19 commits local, not pushed (push at the creator's call). - Scene-order unit committed
06f88f4; desktop-lock committed63bf844. The strip tile artwork unit below is uncommitted.
Branch
- main (no feature branch). Pushed through
5685c5d(TRAX toggle); everything after is local, not pushed (push at the creator's call).
New work unit (this handoff) — VERIFIED, ready to commit
Strip tile artwork + on-air indicator (creator ruling 2026-10-10). Three sub-parts:
- Per-scene CRT tile art — each canonical scene's top-bar tile is its OWN image stored in the
internal DB (
Scene.ThumbnailAssetId, additive migration, seeded at heal from the creator's five Downloads JPGs viaSceneThumbnailSeedPaths). The preview pane keeps rendering the scene's original background — never the tile.Save()Asset prune now keepsScene.ThumbnailAssetIdrows (this was a real bug: the first save would have deleted the seeded tiles). - On-air image — one shared image (
Gemini_Generated_Image_4zajyl4zajyl4zaj.jpg) that REPLACES the staged scene's tile ("the on-air screen jumps around the top bar as the creator swaps scenes"). Stored as an Asset BLOB tracked by theOnAirImageAssetIdSetting (EnsureOnAirImage, same contract as the alert clip; prune keep-set extended). Seed path override:MainViewModel.OnAirSeedPath.RefreshSnapshotsAsync: staged scene → on-air art; unstaged → own thumbnail or background art; staged Live without on-air art → green placeholder (unchanged invariant: minis never render captures). - Preview + labels polish — removed the 6px
#22c55erectangle inBackdropLayer(Controls/PreviewPane.xaml) — the ONLY live signal is the outerPreviewGlowred border (MainViewModel.Streaming.cs, transparent otherwise); the redundant rect was only visible when a scene had no background ("green outline around the preview screen" the creator saw). Scene-tile labels doubled:Controls/SceneThumbnailStrip.xamlFontSize 10 → 20.
- Files:
Models/Scene.cs,Services/LayoutStore.{Migrations,Load,Save,Settings}.cs,ViewModels/MainViewModel.Background.cs,Controls/PreviewPane.xaml(rect removed),Controls/SceneThumbnailStrip.xaml(label),ytLive.Tests/SceneThumbnailTests.cs(4 tests). - Full suite 427 passed / 0 failed / 0 warnings (one run flaked on the known
RealMouseDrag_…PersistsTheReorderenv test — needs an idle desktop — and passed on re-run; nothing in this unit touches layer reorder). Existing 3 tile tests stub seed paths +OnAirSeedPathso the suite is hermetic; the new 4th test covers the on-air swap + persistence. - To commit later (this unit only): the files above. Then the working tree is back to just the creator's pinned-chat unit (NOT mine to commit).
Desktop-lock unit (COMMITTED 63bf844)
ShowActivated = !FullscreenGameRunningNow+FullScreenDetectorOverrideseam +DesktopLockTests. Creator still to verify in-game (launch while an exclusive-fullscreen game owns the foreground).
Scene-order unit (COMMITTED 06f88f4)
ReorderScenesToCanonical()+SceneOrderTests. The creator's DB (Chat SortOrder 2, BRB 3) heals to canonical F1-F5 order at load; next save re-stamps SortOrder.
Dirty files — current reality (2026-10-10)
- NOT mine — do NOT commit: the creator's in-flight "pinned chat" unit (
Models/YouTube.cs,ViewModels/MainViewModel.Chat.cs, untrackedHelpers/RelayCommandGeneric.cs, and its hunks inControls/LeftPanel.xaml), plus the creator's untrackedAssets/llamacasty*art. - ⚠️ Pre-commit:
scripts/verify.shrunsscripts/scope-check.shagainst ALL working-tree changes — the not-mine pinned-chat + art files WILL flag. Pass them as declared-known.
Next step
- Commit this unit (files listed above; gate already green at 427/427, 0 warnings). Then the creator
launches the app on the real DB: the five CRT tiles seed from
C:\Users\gramp\Downloads\Gemini_…, the staged scene's tile shows the on-air image, the preview shows the scene's real background with no green frame, and the tile labels are legible (FontSize 20). Push is still at the creator's call.
Tests
- Full suite 427 passed / 0 failed / 0 skipped / 0 warnings (2026-10-10). Known env flakes:
Mix_HonorsProviderGains…(fails while system audio plays),RealMouseDrag…(needs an idle desktop),Round_Clip_Corner…(grab/geometry under active mouse). The verify gate whitelists only the latter two —RealMouseDrag…failing mid-session needs one re-run when the desktop idles.
Also still open
- Vertical-format regression (STALE, not fixed): 1080p60 vertical selection no longer shrinks the
capture border in the preview. Mechanism mapped (see prior summary): the crop Rectangle
Controls/PreviewPane.xaml:319-322bound toOutputRectX/Y/W/H+IsOutputCropped, driven byMainViewModel.Streaming.csApplyStreamQualityfromSelectedQuality(binding + ctor only,new("Vertical 1080p60", 60, 8.0, 1080, 1920)),DimRectsinMainViewModel.cs:91-94. Root cause unknown — paused. - ⛔ Sudo password rotation pending (user; then update both password lines in
CREDENTIALS.md). - TASK 56 secret scan before
gramps/LlamaCastygoes public. TASK 55 disk hygiene queued.