Screen backdrop (schema v5/v6) + five-scene catalog + webcam polish: live desktop/game capture as a permanent non-deletable bottom layer (Source.IsBackdrop), auto full-screen game detection (Win32FullScreenDetector) else primary display, GraphicsCapturePicker re-designation, refcounted shared ScreenCaptureManager, Live-only backdrop by policy (HasBackdrop + v5-v6 backfill + EnforceBackdropPolicy, checkbox gone), SceneCatalog (Starting/Live/BRB/Chat/Ending) with + button re-adding missing scenes, webcam mid-session transparent-container fix (GetPreviewBitmap propagation), Chat half-screen-area cap, 'Add Webcam' always opens the picker (SwapWebcamIdentityAsync, no silent resurrect), WindowsRuntimeMarshal frame-read + 5s-throttled errors, docs updated, tests (65 passing)

This commit is contained in:
2026-08-07 14:15:50 -07:00
parent e037ba027b
commit ad9b3e1e48
27 changed files with 2232 additions and 116 deletions
+11
View File
@@ -11,6 +11,7 @@ public class Scene : INotifyPropertyChanged
private string _name = string.Empty;
private bool _isEditing;
private bool _isHidden;
private bool _hasBackdrop;
public string Name
{
@@ -30,6 +31,16 @@ public class Scene : INotifyPropertyChanged
set => Set(ref _isHidden, value);
}
/// <summary>
/// Whether the scene has a live desktop/game backdrop layer. Enforced by
/// policy: only the canonical Live scene ever has one (see SceneCatalog).
/// </summary>
public bool HasBackdrop
{
get => _hasBackdrop;
set => Set(ref _hasBackdrop, value);
}
/// <summary>
/// The scene's rendered elements in z-order (back to front): multi-instance
/// Sources plus this scene's webcam usage (<see cref="WebcamConfig"/>), if any.