Source access enforcement (the catalog): 10-source catalog + per-scene access matrix enforced by SceneAccessPolicy; Add-Source menu is one ItemsSource rebuilt per scene (Screen = Live-only, BG/Image/Text every scene), webcam row always present + greys out; Chatbox/Alerts/Socials are inert SourceType rows ready for their features; Text queued as a ship step (countdown + credits modes); Monetization notes socialBar free = YouTube + 1, unlimited with the paid key (79 tests passing)

This commit is contained in:
2026-08-10 12:17:03 -07:00
parent cc3b1c9234
commit ac22b1658f
8 changed files with 236 additions and 25 deletions
+10 -1
View File
@@ -3,13 +3,22 @@ using ytLive.Helpers;
namespace ytLive.Models;
/// <summary>
/// The source catalog (see TASKS.md). Chatbox / Alerts / Socials are inert
/// values until their features ship — the access-policy rows are live from
/// today, the menu items arrive with the features. Countdown and Credits are
/// NOT types: they're Text modes, gated by the same policy when Text ships.
/// </summary>
public enum SourceType
{
DisplayCapture,
WindowCapture,
Background,
Image,
TextOverlay
TextOverlay,
Chatbox,
Alerts,
Socials
}
public enum ClipShape