• refactor: split Chat out of MainViewModel — Commit 10/12

    gramps released this 2026-08-30 15:48:35 +00:00 | 150 commits to main since this release

    MainViewModel.Chat.cs (194 lines) takes the YouTube chat overlay: ChatMessages
    (+500 cap, clear-on-fade), OnChatMessageReceived (dispatcher marshal,
    mock→real preview switch), chat fade timer (ResetChatFadeTimer), the ChatBox
    render paths (RenderChatBox for the live compositor, UpdateChatBoxPreview for
    the editor preview), the mock preview loop (MockChatMessages/StartMockChatPreview/
    StopMockChatPreview/RunMockChatPreviewAsync/_mockChatCts), UpdateActiveChatBoxPreviews,
    CanAddYouTubeChat (one-per-layout gate) and ShowChatInactiveMessage. Core drops
    1119 -> 940 lines. Ctor wiring (MessageReceived hookup, ChatBoxRenderer ctor,
    LoadLayout preview start, dispose) stays in core; ResolveOutputFrame (core)
    still calls RenderChatBox cross-partial.

    Zero behavior change; build 0 warnings; 246 pass, only the 2 known failures.
    Docs: index.md Chat row added + core row trimmed in the same commit.

    Downloads