16 lines
1.3 KiB
Markdown
16 lines
1.3 KiB
Markdown
# Models — index
|
|
|
|
Plain data types. No logic beyond what a property can carry. See
|
|
[`schema.md`](../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` (static) / `VideoImageSource` (webcam live frames), `DisplaySource` (whichever the preview shows), `ClipShape` enum (Traditional/Round), `IsMirrored` + `MirrorScale`, `MirrorButtonText`/`ShapeButtonText` toggle labels, asset identity, webcam `DeviceId` |
|
|
| `QualityOption.cs` | Resolution tier record `(Display, Fps, Bitrate, Width, Height)`; `Label` formats as `1080p60 (8Mbps)` — drives the bottom-bar dropdown and the output-rect math |
|
|
| `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`](../ViewModels/index.md) consume these;
|
|
[`Services/LayoutStore.cs`](../Services/LayoutStore.cs) persists `Scene`/`Source`.
|