From 841c905c0681269fa1b59f51a630ac89e2fc02e0 Mon Sep 17 00:00:00 2001 From: gramps Date: Tue, 27 Oct 2026 09:25:49 -0700 Subject: [PATCH] Brand logo: one locked image layer per scene above the background, image from App Settings - Source.IsBrandLogo persisted (additive migration); layer healed on load, removal blocked - Image stored as an asset; settings keep the asset id and file name - App Settings: Brand Logo file field with Browse - Default placement top-left; per-scene eye uses the existing element visibility Test: BrandLogoTests; layout/background tests pass (34). Not pushed. --- Controls/OverlayHost.xaml | 11 ++++ Models/Source.cs | 4 ++ Services/LayoutStore.Load.cs | 3 +- Services/LayoutStore.Migrations.cs | 7 +++ Services/LayoutStore.Save.cs | 6 +- Services/LayoutStore.Settings.cs | 16 ++++++ TASKS.md | 5 +- ViewModels/MainViewModel.Background.cs | 1 + ViewModels/MainViewModel.BrandLogo.cs | 77 ++++++++++++++++++++++++++ ViewModels/MainViewModel.Sources.cs | 4 +- ai.md | 9 +++ ytLive.Tests/BrandLogoTests.cs | 58 +++++++++++++++++++ 12 files changed, 194 insertions(+), 7 deletions(-) create mode 100644 ViewModels/MainViewModel.BrandLogo.cs create mode 100644 ytLive.Tests/BrandLogoTests.cs diff --git a/Controls/OverlayHost.xaml b/Controls/OverlayHost.xaml index 50ec09d..cf6df90 100644 --- a/Controls/OverlayHost.xaml +++ b/Controls/OverlayHost.xaml @@ -56,6 +56,17 @@ + + + + + + + +