Ariver
2026-06-12 63128a870cbedb841cb19cdfbf2bf54e3dfbc25c
C1.source/Sources/Aligner/QuickSwitchSnapshotLoader.swift
@@ -14,6 +14,7 @@
    case layout
    case candidateFiltering
    case activation
    case spaceFilter
}
final class LiveQuickSwitchSnapshotLoader: QuickSwitchSnapshotLoading {
@@ -82,6 +83,9 @@
        }
        if mode == .activation {
            return activationSnapshot()
        }
        if mode == .spaceFilter {
            return spaceFilterSnapshot()
        }
        return layoutSnapshot()
@@ -395,4 +399,99 @@
            currentSpaceIDs: [1]
        )
    }
    private func spaceFilterSnapshot() -> QuickSwitchSnapshotLoad {
        let displayAUUID = "fixture-display-a"
        let displayBUUID = "fixture-display-b"
        let displays = [
            AlignerDisplay(
                uuid: displayAUUID,
                physical: true,
                spaces: [
                    AlignerSpace(id: 1, type: .user, displayUUID: displayAUUID, index: 1),
                    AlignerSpace(id: 2, type: .user, displayUUID: displayAUUID, index: 2),
                    AlignerSpace(id: 3, type: .user, displayUUID: displayAUUID, index: 3)
                ]
            ),
            AlignerDisplay(
                uuid: displayBUUID,
                physical: true,
                spaces: [
                    AlignerSpace(id: 4, type: .user, displayUUID: displayBUUID, index: 1),
                    AlignerSpace(id: 5, type: .fullscreen, displayUUID: displayBUUID, index: 2)
                ]
            )
        ]
        let alphaApp = AlignerApp(
            bundleIdentifier: "com.example.spacefilter.alpha",
            name: "Alpha Space App",
            category: .finder,
            processIdentifier: 50_001
        )
        let betaApp = AlignerApp(
            bundleIdentifier: "com.example.spacefilter.beta",
            name: "Beta Space App",
            category: .documentNotes,
            processIdentifier: 50_002
        )
        let fullscreenApp = AlignerApp(
            bundleIdentifier: "com.example.spacefilter.fullscreen",
            name: "Fullscreen Solo App",
            category: .generic,
            processIdentifier: 50_003
        )
        let noSpaceApp = AlignerApp(
            bundleIdentifier: "com.example.spacefilter.nospace",
            name: "No Space App",
            category: .generic,
            processIdentifier: 50_004
        )
        let windows = [
            AlignerWindow(
                id: 50_101,
                app: alphaApp,
                title: "Alpha A1 Primary",
                spaceIDs: [1]
            ),
            AlignerWindow(
                id: 50_102,
                app: alphaApp,
                title: "Alpha A1 Secondary",
                isMinimized: true,
                spaceIDs: [1]
            ),
            AlignerWindow(
                id: 50_201,
                app: betaApp,
                title: "Beta A1 Shared",
                spaceIDs: [1]
            ),
            AlignerWindow(
                id: 50_202,
                app: betaApp,
                title: "Beta A2 Only",
                spaceIDs: [2]
            ),
            AlignerWindow(
                id: 50_501,
                app: fullscreenApp,
                title: "Fullscreen B2 Solo",
                isFullscreen: true,
                spaceIDs: [5]
            ),
            AlignerWindow(
                id: 50_901,
                app: noSpaceApp,
                title: "No Space Diagnostic",
                spaceIDs: []
            )
        ]
        return QuickSwitchSnapshotLoad(
            snapshot: QuickSwitchSnapshotBuilder.snapshot(displays: displays, windows: windows),
            currentSpaceIDs: [1, 4]
        )
    }
}