public enum ThumbnailStrategy: Equatable, Sendable {
    case skeletonPreferred
    case screenshotPreferred
    case fallbackSkeleton(reason: FallbackReason)
}

public enum FallbackReason: Equatable, Sendable {
    case screenRecordingDenied
    case captureFailed
    case performanceLimited
    case unsupportedWindow
}

public enum ThumbnailPolicy {
    public static func preferredStrategy(for category: AppCategory) -> ThumbnailStrategy {
        .screenshotPreferred
    }
}
