From 30824c6d6e84f34a839497df4689f55c10068dbf Mon Sep 17 00:00:00 2001 From: gramps Date: Fri, 6 Nov 2026 12:21:35 -0800 Subject: [PATCH] docs(handoff): byte-compare art seed, not a version stamp --- HANDOFF.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/HANDOFF.md b/HANDOFF.md index 44205ca..0253886 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -4,10 +4,11 @@ - `main`. TASK 21 (video layer + soundtrack), TASK 64 (green/blue screen) and TASK 32·4 (fragmented MP4) are complete; TASK 49 is retired (YouTube owns chat moderation — we just don't paint tombstones). -- **Starting art replaced twice today** (`f7e1b76`, `a6f15a4`): the corrected onboarding screen is - `Assets/starting-background.jpg`; both earlier images are in `Assets/archive/`. Bundled art is - hash-keyed into the layout DB on first seed, so replacement rides on `HealDefaultArtVersion` - (**now 4**) — bump it whenever a bundled background changes. +- **Starting art replaced twice today** (`f7e1b76`, `a6f15a4`, fix `70e2c48`): the corrected + onboarding screen is `Assets/starting-background.jpg`; both earlier images are in `Assets/archive/`. + Bundled art is hash-keyed into the layout DB on first seed, so `StampDefaultBackgroundAsset` + compares the stored asset's hash with the resource and re-stamps on a mismatch — replacing a + bundled background needs no version bump. - Left panel alert stack shipped: Steam licence indicator pinned at row 1, event rows LIFO, click → About or Logs with the event's lines painted. Detail: `docs/ai/ui-surface.md`. - Site: the Starting screen is now in the scenes section (`scenes-shot`), deployed 2026-11-06 12:05. @@ -28,8 +29,9 @@ - **The preview pane draws frame-source layers from a whitelist of DataTriggers.** A layer type with no trigger is invisible in the preview while its decode looks healthy. Add the trigger with the layer type; pin it with `MediaPreviewDisplayTests`. -- **`AllBackgrounds()` returns only the LIVE scene's rows** — never use it to mean "every background" - (that bug made art-version 2 heal nothing). Walk `Scenes` instead. +- **A bundled-art "version" heal cannot work**: the constant and the embedded resource are compiled at + different moments, so a bump can race the image it is meant to ship. Compare bytes + (`LayoutStore.AssetMatches`). Also: `AllBackgrounds()` returns only the LIVE scene's rows. - Pack URIs for bundled assets must be assembly-qualified (`/LlamaCasty;component/Assets/…`): the unqualified form resolves against the entry assembly, which is the test host under `dotnet test`. - Media sessions are keyed by **path + look** (`MainViewModel.MediaSessionKey`); never acquire by raw path.