• refactor: split LayoutStore by concern — 500-limit Phase 3, Commit E

    gramps released this 2026-08-31 16:10:17 +00:00

    LayoutStore.cs 1402 -> 47-line shell + 5 partials, grouped by functionality
    (line count is a consequence, not the goal):

    • LayoutStore.Migrations.cs: all DB schema migration (EnsureSchema, GetUserVersion,
      MigrateSourceTable/WebcamConfigTable/ToV3/SceneTable/SceneSocialBarColumn/
      SocialsTable/SocialEntryTable)
    • LayoutStore.Load.cs: Load() scene/source read-back
    • LayoutStore.Save.cs: Save() full scene tree write
    • LayoutStore.Settings.cs: key/value settings + mic/record-folder/reusable-stream
      • license/transition/broadcast/hotkey/window-state GetSetting/UpsertSetting
    • LayoutStore.Assets.cs: GetAssetBytes/UpsertAsset blob IO
    • LayoutStore.cs: shell — Instance, fields, ctor, Dispose

    Converted to public partial class LayoutStore : IDisposable. Pruned per-file
    dead usings. Phase 3 DOWN: no production .cs exceeds 500 lines.

    Zero behavior change; build 0 warnings; 246 pass, only the 2 known failures.
    Docs: ViewModels/index.md Phase 3 tracker updated in same commit.

    Downloads