refactor: split Background out of MainViewModel — Commit 4/12 (tag refactor-commit-4)

This commit is contained in:
2026-08-30 07:30:24 -07:00
parent dcdfcb9cee
commit db068abbc7
3 changed files with 582 additions and 553 deletions
+14 -2
View File
@@ -38,12 +38,24 @@ Progress (Commit N/12 · tag):
`RefreshHotkeyLabels`, scene-gating hints, `MissingScenes`/`ShowAddScene`/
`CanChangeBackground`, scene wiring `OnScenesChanged`/`WireScene`/`UnwireScene`,
`AddScene`).
- **Commit 4/12 · `refactor-commit-4`: Background landed** → `MainViewModel.Background.cs`
(background model `EnsureBackground`/`CreateBackground`/`NormalizeBackgrounds`/
`HealBackgrounds`/`StampDefaultBackgroundAsset`, display picker `Displays` +
`SetBackgroundCapture`, screen capture `ReacquireScreenCaptures`/
`ResolveAutoCaptureKey`/`RedesignateBackgroundAsync`/`ClearBackgroundCaptureAsync`/
`OnScreenPreviewBitmapChanged`/`OnFullscreenMonitorChanged`/
`RefreshBackgroundAutoCapture`/`BackgroundShowDesktop`, preview fns
`ActiveBackgroundImage`/`BackgroundImage`/`UpdateActiveBackground`/
`UpdateBackgroundImage`/`RefreshSnapshotsAsync`/`LoadBackgroundImage`,
`ChangeCaptureCommand`/`RefreshCaptureCommand`/`SetBackgroundDisplayCommand`/
`ToggleShowDesktopCommand`/`BrowseBackgroundCommand`). `ShowPreviewPlaceholder`
stays in core.
- Core file keeps: fields, ctor, `Shutdown`/`SaveLayoutNow`/`ScheduleSave`/`LoadLayout`,
`SetPanel`/`ShowOverlay`/`ShowLicenses`, `CreateBrush`, `OpenUrl`/`ComposeEmail`,
`SubmitBug`/`SubmitFeature`, window-geometry pass-through.
- Partials: `Account` ✔ (Commit 1), `License` ✔ (Commit 2), `Scenes` ✔ (Commit 3), `Background` (background model + screen
capture + display picker), `Webcam` (webcam identity + per-scene configs + captures),
- Partials: `Account` ✔ (Commit 1), `License` ✔ (Commit 2), `Scenes` ✔ (Commit 3), `Background` ✔ (Commit 4),
`Webcam` (webcam identity + per-scene configs + captures),
`Audio` (mic + game bars + TRAX), `Trax` (music player), `Socials` (social bar + dialog),
`Streaming` (go-live/record + health + quality tiers + media source pipeline),
`Chat` (YouTube chat + mock preview + chatbox render), `Overlays` (settings/bug/feature/about