a74162e34e
- Bottom-bar resolution dropdown (1080p60/1080p30/720p60/480p30) with tooltip on finding upload bandwidth; disabled while live; no in-app speed test - FocusPreservingListBox keeps selection/focus coherent when a selected scene/source is deleted (skip hidden scenes; leave list when empty) - Themes/Controls.xaml: single dark-theme dictionary merged once in App.xaml; custom ComboBox template fixes SelectionBoxItem rendering; GoLiveWindow and ReuseImageDialog consolidated onto shared styles - AppLog file logger + AppDomain/Dispatcher exception hooks; checkpointed MainWindow/VM/dialog constructors (caught MenuItemRole.Separator XAML crash) - Memory map: schema.md conventions, per-directory index.md, updated ai.md/ TASKS.md/README.md (OAuth creds real; token persistence still pending)
1010 B
1010 B
Models — index
Plain data types. No logic beyond what a property can carry. See
schema.md for the memory-map conventions.
| File | Purpose |
|---|---|
Scene.cs |
A scene: Name, IsHidden, IsChatScene, IsEditing, Sources collection |
Source.cs |
A source: SourceType enum (Image/Webcam/Screen/Background/Text), X/Y/Width/Height, Opacity, IsEnabled, ImageSource, asset identity |
QualityOption.cs |
Resolution tier record (Display, Fps, Bitrate); Label formats as 1080p60 (8Mbps) — drives the bottom-bar dropdown |
StreamConfig.cs |
StreamConfig (note: TargetBitrate/Resolution defaults are stale — not yet wired to the dropdown), StreamHealth (bitrate/FPS/dropped/duration), StreamStatus enum |
YouTube.cs |
YouTubeChannel and ChatMessage (chat feed) |
Related: ViewModels/index.md consume these;
Services/LayoutStore.cs persists Scene/Source.