The Swift Package Index logo.Swift Package Index

Build Information

Failed to build PatternAuthentication, reference dev (514af4), with Swift 6.3 for macOS (SPM) on 3 Jul 2026 10:20:56 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
615 |     /// - Returns: A new credential envelope with a fresh random salt.
616 |     /// - Throws: Any error thrown by `GestureCredentialHasher.createCredential`.
617 |     private nonisolated static func createCredentialOffMainActor(
    |                                     `- note: add '@available' attribute to enclosing static method
618 |         for pattern: [Int],
619 |         configuration: GestureHashConfiguration
620 |     ) async throws -> GestureCredentialEnvelope {
621 |         try await Task.detached(priority: .userInitiated) {
    |                   |- error: 'Task' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
622 |             try GestureCredentialHasher.createCredential(
623 |                 for: pattern,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:621:24: error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
615 |     /// - Returns: A new credential envelope with a fresh random salt.
616 |     /// - Throws: Any error thrown by `GestureCredentialHasher.createCredential`.
617 |     private nonisolated static func createCredentialOffMainActor(
    |                                     `- note: add '@available' attribute to enclosing static method
618 |         for pattern: [Int],
619 |         configuration: GestureHashConfiguration
620 |     ) async throws -> GestureCredentialEnvelope {
621 |         try await Task.detached(priority: .userInitiated) {
    |                        |- error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
622 |             try GestureCredentialHasher.createCredential(
623 |                 for: pattern,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:626:11: error: 'value' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
615 |     /// - Returns: A new credential envelope with a fresh random salt.
616 |     /// - Throws: Any error thrown by `GestureCredentialHasher.createCredential`.
617 |     private nonisolated static func createCredentialOffMainActor(
    |                                     `- note: add '@available' attribute to enclosing static method
618 |         for pattern: [Int],
619 |         configuration: GestureHashConfiguration
    :
624 |                 configuration: configuration
625 |             )
626 |         }.value
    |           |- error: 'value' is only available in macOS 10.15 or newer
    |           `- note: add 'if #available' version check
627 |     }
628 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:641:19: error: 'Task' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
635 |     ///   otherwise, `false`.
636 |     /// - Throws: Any error thrown by `GestureCredentialHasher.verify`.
637 |     private nonisolated static func verifyCredentialOffMainActor(
    |                                     `- note: add '@available' attribute to enclosing static method
638 |         vertices: [Int],
639 |         credential: GestureCredentialEnvelope
640 |     ) async throws -> Bool {
641 |         try await Task.detached(priority: .userInitiated) {
    |                   |- error: 'Task' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
642 |             try GestureCredentialHasher.verify(vertices: vertices, against: credential)
643 |         }.value
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:641:24: error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
635 |     ///   otherwise, `false`.
636 |     /// - Throws: Any error thrown by `GestureCredentialHasher.verify`.
637 |     private nonisolated static func verifyCredentialOffMainActor(
    |                                     `- note: add '@available' attribute to enclosing static method
638 |         vertices: [Int],
639 |         credential: GestureCredentialEnvelope
640 |     ) async throws -> Bool {
641 |         try await Task.detached(priority: .userInitiated) {
    |                        |- error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
642 |             try GestureCredentialHasher.verify(vertices: vertices, against: credential)
643 |         }.value
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:643:11: error: 'value' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
635 |     ///   otherwise, `false`.
636 |     /// - Throws: Any error thrown by `GestureCredentialHasher.verify`.
637 |     private nonisolated static func verifyCredentialOffMainActor(
    |                                     `- note: add '@available' attribute to enclosing static method
638 |         vertices: [Int],
639 |         credential: GestureCredentialEnvelope
    :
641 |         try await Task.detached(priority: .userInitiated) {
642 |             try GestureCredentialHasher.verify(vertices: vertices, against: credential)
643 |         }.value
    |           |- error: 'value' is only available in macOS 10.15 or newer
    |           `- note: add 'if #available' version check
644 |     }
645 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:653:9: error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
650 |     /// `false`.
651 |     /// - Throws: This method does not throw.
652 |     private func failAuthentication() {
    |                  `- note: add '@available' attribute to enclosing instance method
653 |         incorrectHash = true
    |         |- error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
654 |         selectedCardsIndices = []
655 |         withAnimation(.easeInOut(duration: 0.3)) {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:654:9: error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
650 |     /// `false`.
651 |     /// - Throws: This method does not throw.
652 |     private func failAuthentication() {
    |                  `- note: add '@available' attribute to enclosing instance method
653 |         incorrectHash = true
654 |         selectedCardsIndices = []
    |         |- error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
655 |         withAnimation(.easeInOut(duration: 0.3)) {
656 |             incorrectCount += 1
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:655:9: error: 'withAnimation' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
650 |     /// `false`.
651 |     /// - Throws: This method does not throw.
652 |     private func failAuthentication() {
    |                  `- note: add '@available' attribute to enclosing instance method
653 |         incorrectHash = true
654 |         selectedCardsIndices = []
655 |         withAnimation(.easeInOut(duration: 0.3)) {
    |         |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
656 |             incorrectCount += 1
657 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:655:24: error: 'easeInOut(duration:)' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
650 |     /// `false`.
651 |     /// - Throws: This method does not throw.
652 |     private func failAuthentication() {
    |                  `- note: add '@available' attribute to enclosing instance method
653 |         incorrectHash = true
654 |         selectedCardsIndices = []
655 |         withAnimation(.easeInOut(duration: 0.3)) {
    |                        |- error: 'easeInOut(duration:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
656 |             incorrectCount += 1
657 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:656:13: error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
 14 | /// SwiftUI-observed state and animation state.
 15 | @MainActor
 16 | public class GridAuthenticatorViewModel: ObservableObject {
    |              `- note: add '@available' attribute to enclosing class
 17 |     /// The ordered 3x3 grid indices selected during the current gesture.
 18 |     @Published public var selectedCardsIndices: [Int] = []
    :
650 |     /// `false`.
651 |     /// - Throws: This method does not throw.
652 |     private func failAuthentication() {
    |                  `- note: add '@available' attribute to enclosing instance method
653 |         incorrectHash = true
654 |         selectedCardsIndices = []
655 |         withAnimation(.easeInOut(duration: 0.3)) {
656 |             incorrectCount += 1
    |             |- error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
657 |         }
658 |         authCompletion?(false)
[9/11] Compiling PatternAuthentication Shake.swift
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/Shake.swift:46:46: error: 'ProjectionTransform' is only available in macOS 10.15 or newer
 9 |
10 | /// A horizontal shake effect used to signal failed gesture attempts.
11 | public struct Shake: GeometryEffect {
   |               `- note: add '@available' attribute to enclosing struct
12 |     /// The maximum horizontal translation in points.
13 |     public var amount: CGFloat = 10
   :
44 |     /// - Returns: A projection transform that translates the view on the x-axis.
45 |     /// - Throws: This method does not throw.
46 |     public func effectValue(size: CGSize) -> ProjectionTransform {
   |                 |                            `- error: 'ProjectionTransform' is only available in macOS 10.15 or newer
   |                 `- note: add '@available' attribute to enclosing instance method
47 |         ProjectionTransform(CGAffineTransform(translationX:
48 |             amount * sin(animatableData * .pi * CGFloat(shakesPerUnit)),
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/Shake.swift:47:9: error: 'ProjectionTransform' is only available in macOS 10.15 or newer
 9 |
10 | /// A horizontal shake effect used to signal failed gesture attempts.
11 | public struct Shake: GeometryEffect {
   |               `- note: add '@available' attribute to enclosing struct
12 |     /// The maximum horizontal translation in points.
13 |     public var amount: CGFloat = 10
   :
44 |     /// - Returns: A projection transform that translates the view on the x-axis.
45 |     /// - Throws: This method does not throw.
46 |     public func effectValue(size: CGSize) -> ProjectionTransform {
   |                 `- note: add '@available' attribute to enclosing instance method
47 |         ProjectionTransform(CGAffineTransform(translationX:
   |         |- error: 'ProjectionTransform' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
48 |             amount * sin(animatableData * .pi * CGFloat(shakesPerUnit)),
49 |             y: 0))
[10/11] Compiling PatternAuthentication PatternAuthentication.swift
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:10:6: error: 'StateObject' is only available in macOS 11.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    |      `- error: 'StateObject' is only available in macOS 11.0 or newer
 11 |
 12 |     /// Creates a grid authenticator view for setup or authentication.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:22:36: error: 'GridItem' is only available in macOS 11.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 20 |     }
 21 |
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
    |                                    `- error: 'GridItem' is only available in macOS 11.0 or newer
 23 |
 24 |     public var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:24:27: error: 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                |          `- error: 'View' is only available in macOS 10.15 or newer
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:149:6: error: 'State' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
147 |
148 |     /// Whether the selection glow is currently visible.
149 |     @State private var isBeingTouched: Bool = false
    |      `- error: 'State' is only available in macOS 10.15 or newer
150 |
151 |     /// The view model that receives geometry and selection updates.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:152:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
150 |
151 |     /// The view model that receives geometry and selection updates.
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
    |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
153 |
154 |     public var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:154:27: error: 'View' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                |          `- error: 'View' is only available in macOS 10.15 or newer
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:238:31: error: 'View' is only available in macOS 10.15 or newer
235 |
236 | #if DEBUG
237 | struct GridAuthenticatorPreviews: PreviewProvider {
    |        `- note: add '@available' attribute to enclosing struct
238 |     static var previews: some View {
    |                |              `- error: 'View' is only available in macOS 10.15 or newer
    |                `- note: add '@available' attribute to enclosing static property
239 |         GridAuthenticator(.setCredential(debug: true) { _ in })
240 |             .previewDisplayName("Credential Setup")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:19:22: error: 'StateObject' is only available in macOS 11.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 16 |     /// - Returns: A SwiftUI view that presents the gesture grid.
 17 |     /// - Throws: This initializer does not throw.
 18 |     public init(_ gridAuthModel: GridAuthenticatorViewModel.GridAuthenticatorOption) {
    |            `- note: add '@available' attribute to enclosing initializer
 19 |         _viewModel = StateObject(wrappedValue: GridAuthenticatorViewModel(gridAuthModel))
    |                      |- error: 'StateObject' is only available in macOS 11.0 or newer
    |                      `- note: add 'if #available' version check
 20 |     }
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/ParticleSystem.swift:50:24: error: 'Image' is only available in macOS 10.15 or newer
 46 | /// and is mutated by SwiftUI gesture callbacks and timeline rendering.
 47 | @MainActor
 48 | public final class ParticleSystem {
    |                    `- note: add '@available' attribute to enclosing class
 49 |     /// The spark image loaded from the SwiftPM resource bundle.
 50 |     public let image = Image("spark", bundle: Bundle.module)
    |                        `- error: 'Image' is only available in macOS 10.15 or newer
 51 |
 52 |     /// The rendered point-size of each particle.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/ParticleSystem.swift:50:24: error: 'init(_:bundle:)' is only available in macOS 10.15 or newer
 46 | /// and is mutated by SwiftUI gesture callbacks and timeline rendering.
 47 | @MainActor
 48 | public final class ParticleSystem {
    |                    `- note: add '@available' attribute to enclosing class
 49 |     /// The spark image loaded from the SwiftPM resource bundle.
 50 |     public let image = Image("spark", bundle: Bundle.module)
    |                        `- error: 'init(_:bundle:)' is only available in macOS 10.15 or newer
 51 |
 52 |     /// The rendered point-size of each particle.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:25:9: error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
    |         |- error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:25:9: error: 'VStack' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
    |         |- error: 'VStack' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:25:16: error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
    |                |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
    |                `- note: add 'if #available' version check
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:25:16: error: conformance of '_ChangedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
    |                |- error: conformance of '_ChangedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |                `- note: add 'if #available' version check
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:25:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
    |                |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                `- note: add 'if #available' version check
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:25:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
    |                |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                `- note: add 'if #available' version check
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:27:17: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
    |                 |- error: 'Text' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 28 |                     .padding()
 29 |                 if viewModel.expectedCredential != nil {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:28:22: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
 28 |                     .padding()
    |                      |- error: 'padding' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
 29 |                 if viewModel.expectedCredential != nil {
 30 |                     Text("[DEBUG] Credential Mode: v1 envelope")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:30:21: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 28 |                     .padding()
 29 |                 if viewModel.expectedCredential != nil {
 30 |                     Text("[DEBUG] Credential Mode: v1 envelope")
    |                     |- error: 'Text' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 31 |                         .padding()
 32 |                 } else if viewModel.expectedHash != nil {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:31:26: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 29 |                 if viewModel.expectedCredential != nil {
 30 |                     Text("[DEBUG] Credential Mode: v1 envelope")
 31 |                         .padding()
    |                          |- error: 'padding' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 32 |                 } else if viewModel.expectedHash != nil {
 33 |                     Text("[DEBUG] Credential Mode: legacy hash")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:29:56: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
 28 |                     .padding()
 29 |                 if viewModel.expectedCredential != nil {
    |                                                        |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                                                        `- note: add 'if #available' version check
 30 |                     Text("[DEBUG] Credential Mode: v1 envelope")
 31 |                         .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:29:56: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
 28 |                     .padding()
 29 |                 if viewModel.expectedCredential != nil {
    |                                                        |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |                                                        `- note: add 'if #available' version check
 30 |                     Text("[DEBUG] Credential Mode: v1 envelope")
 31 |                         .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:33:21: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 31 |                         .padding()
 32 |                 } else if viewModel.expectedHash != nil {
 33 |                     Text("[DEBUG] Credential Mode: legacy hash")
    |                     |- error: 'Text' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 34 |                         .padding()
 35 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:34:26: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 32 |                 } else if viewModel.expectedHash != nil {
 33 |                     Text("[DEBUG] Credential Mode: legacy hash")
 34 |                         .padding()
    |                          |- error: 'padding' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 35 |                 }
 36 |             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:29:56: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
 28 |                     .padding()
 29 |                 if viewModel.expectedCredential != nil {
    |                                                        |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                                                        `- note: add 'if #available' version check
 30 |                     Text("[DEBUG] Credential Mode: v1 envelope")
 31 |                         .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:32:57: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 30 |                     Text("[DEBUG] Credential Mode: v1 envelope")
 31 |                         .padding()
 32 |                 } else if viewModel.expectedHash != nil {
    |                                                         |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |                                                         `- note: add 'if #available' version check
 33 |                     Text("[DEBUG] Credential Mode: legacy hash")
 34 |                         .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:35:17: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 33 |                     Text("[DEBUG] Credential Mode: legacy hash")
 34 |                         .padding()
 35 |                 }
    |                 |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 36 |             }
 37 |             LazyVGrid(columns: columns, spacing: 40) {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:26:32: error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    |                                |- error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
 28 |                     .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:26:32: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    |                                |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
 28 |                     .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:36:13: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 34 |                         .padding()
 35 |                 }
 36 |             }
    |             |- error: 'buildIf' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
 37 |             LazyVGrid(columns: columns, spacing: 40) {
 38 |                 ForEach(0 ..< 9, id: \.self) { index in
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:37:13: error: 'LazyVGrid' is only available in macOS 11.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 35 |                 }
 36 |             }
 37 |             LazyVGrid(columns: columns, spacing: 40) {
    |             |- error: 'LazyVGrid' is only available in macOS 11.0 or newer
    |             `- note: add 'if #available' version check
 38 |                 ForEach(0 ..< 9, id: \.self) { index in
 39 |                     GlowyCircle(index: index, viewModel: viewModel)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:37:13: error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 35 |                 }
 36 |             }
 37 |             LazyVGrid(columns: columns, spacing: 40) {
    |             |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
 38 |                 ForEach(0 ..< 9, id: \.self) { index in
 39 |                     GlowyCircle(index: index, viewModel: viewModel)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:38:17: error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 36 |             }
 37 |             LazyVGrid(columns: columns, spacing: 40) {
 38 |                 ForEach(0 ..< 9, id: \.self) { index in
    |                 |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 39 |                     GlowyCircle(index: index, viewModel: viewModel)
 40 |                         .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:38:17: error: 'ForEach' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 36 |             }
 37 |             LazyVGrid(columns: columns, spacing: 40) {
 38 |                 ForEach(0 ..< 9, id: \.self) { index in
    |                 |- error: 'ForEach' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 39 |                     GlowyCircle(index: index, viewModel: viewModel)
 40 |                         .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:38:17: error: 'init(_:id:content:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 36 |             }
 37 |             LazyVGrid(columns: columns, spacing: 40) {
 38 |                 ForEach(0 ..< 9, id: \.self) { index in
    |                 |- error: 'init(_:id:content:)' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 39 |                     GlowyCircle(index: index, viewModel: viewModel)
 40 |                         .padding()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:40:26: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 38 |                 ForEach(0 ..< 9, id: \.self) { index in
 39 |                     GlowyCircle(index: index, viewModel: viewModel)
 40 |                         .padding()
    |                          |- error: 'padding' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 41 |                         .tag(index)
 42 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:41:26: error: 'tag(_:includeOptional:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 39 |                     GlowyCircle(index: index, viewModel: viewModel)
 40 |                         .padding()
 41 |                         .tag(index)
    |                          |- error: 'tag(_:includeOptional:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 42 |                 }
 43 |             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:37:54: error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 35 |                 }
 36 |             }
 37 |             LazyVGrid(columns: columns, spacing: 40) {
    |                                                      |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
    |                                                      `- note: add 'if #available' version check
 38 |                 ForEach(0 ..< 9, id: \.self) { index in
 39 |                     GlowyCircle(index: index, viewModel: viewModel)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:44:14: error: 'overlay(alignment:content:)' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 42 |                 }
 43 |             }
 44 |             .overlay {
    |              |- error: 'overlay(alignment:content:)' is only available in macOS 12.0 or newer
    |              `- note: add 'if #available' version check
 45 |                 TimelineView(.animation) { timeline in
 46 |                     Canvas { context, _ in
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:45:17: error: 'TimelineView' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 43 |             }
 44 |             .overlay {
 45 |                 TimelineView(.animation) { timeline in
    |                 |- error: 'TimelineView' is only available in macOS 12.0 or newer
    |                 `- note: add 'if #available' version check
 46 |                     Canvas { context, _ in
 47 |                         let timelineDate = timeline.date.timeIntervalSinceReferenceDate
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:45:17: error: 'init(_:content:)' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 43 |             }
 44 |             .overlay {
 45 |                 TimelineView(.animation) { timeline in
    |                 |- error: 'init(_:content:)' is only available in macOS 12.0 or newer
    |                 `- note: add 'if #available' version check
 46 |                     Canvas { context, _ in
 47 |                         let timelineDate = timeline.date.timeIntervalSinceReferenceDate
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:45:31: error: 'animation' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 43 |             }
 44 |             .overlay {
 45 |                 TimelineView(.animation) { timeline in
    |                               |- error: 'animation' is only available in macOS 12.0 or newer
    |                               `- note: add 'if #available' version check
 46 |                     Canvas { context, _ in
 47 |                         let timelineDate = timeline.date.timeIntervalSinceReferenceDate
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:46:21: error: conformance of 'Canvas<Symbols>' to 'View' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 44 |             .overlay {
 45 |                 TimelineView(.animation) { timeline in
 46 |                     Canvas { context, _ in
    |                     |- error: conformance of 'Canvas<Symbols>' to 'View' is only available in macOS 12.0 or newer
    |                     `- note: add 'if #available' version check
 47 |                         let timelineDate = timeline.date.timeIntervalSinceReferenceDate
 48 |                         viewModel.particleSystem.update(date: timelineDate)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:46:21: error: 'Canvas' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 44 |             .overlay {
 45 |                 TimelineView(.animation) { timeline in
 46 |                     Canvas { context, _ in
    |                     |- error: 'Canvas' is only available in macOS 12.0 or newer
    |                     `- note: add 'if #available' version check
 47 |                         let timelineDate = timeline.date.timeIntervalSinceReferenceDate
 48 |                         viewModel.particleSystem.update(date: timelineDate)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:46:21: error: 'init(opaque:colorMode:rendersAsynchronously:renderer:)' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 44 |             .overlay {
 45 |                 TimelineView(.animation) { timeline in
 46 |                     Canvas { context, _ in
    |                     |- error: 'init(opaque:colorMode:rendersAsynchronously:renderer:)' is only available in macOS 12.0 or newer
    |                     `- note: add 'if #available' version check
 47 |                         let timelineDate = timeline.date.timeIntervalSinceReferenceDate
 48 |                         viewModel.particleSystem.update(date: timelineDate)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:45:42: error: conformance of 'Canvas<Symbols>' to 'View' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 43 |             }
 44 |             .overlay {
 45 |                 TimelineView(.animation) { timeline in
    |                                          |- error: conformance of 'Canvas<Symbols>' to 'View' is only available in macOS 12.0 or newer
    |                                          `- note: add 'if #available' version check
 46 |                     Canvas { context, _ in
 47 |                         let timelineDate = timeline.date.timeIntervalSinceReferenceDate
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:70:18: error: 'allowsHitTesting' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 68 |                     }
 69 |                 }
 70 |                 .allowsHitTesting(false)
    |                  |- error: 'allowsHitTesting' is only available in macOS 10.15 or newer
    |                  `- note: add 'if #available' version check
 71 |             }
 72 |             .onPreferenceChange(CardPreferenceKey.self) { value in
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:72:14: error: 'onPreferenceChange(_:perform:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 70 |                 .allowsHitTesting(false)
 71 |             }
 72 |             .onPreferenceChange(CardPreferenceKey.self) { value in
    |              |- error: 'onPreferenceChange(_:perform:)' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 73 |                 viewModel.cardsData = value
 74 |             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:73:17: error: setter for 'cardsData' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 71 |             }
 72 |             .onPreferenceChange(CardPreferenceKey.self) { value in
 73 |                 viewModel.cardsData = value
    |                 |- error: setter for 'cardsData' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 74 |             }
 75 |             .coordinateSpace(name: "GridSpace")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:75:14: error: 'coordinateSpace(name:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 73 |                 viewModel.cardsData = value
 74 |             }
 75 |             .coordinateSpace(name: "GridSpace")
    |              |- error: 'coordinateSpace(name:)' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 76 |             .contentShape(Rectangle())
 77 |             .gesture(
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:76:14: error: 'contentShape(_:eoFill:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 74 |             }
 75 |             .coordinateSpace(name: "GridSpace")
 76 |             .contentShape(Rectangle())
    |              |- error: 'contentShape(_:eoFill:)' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 77 |             .gesture(
 78 |                 DragGesture(minimumDistance: 0, coordinateSpace: .named("GridSpace"))
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:76:27: error: 'Rectangle' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 74 |             }
 75 |             .coordinateSpace(name: "GridSpace")
 76 |             .contentShape(Rectangle())
    |                           |- error: 'Rectangle' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
 77 |             .gesture(
 78 |                 DragGesture(minimumDistance: 0, coordinateSpace: .named("GridSpace"))
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:77:14: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 75 |             .coordinateSpace(name: "GridSpace")
 76 |             .contentShape(Rectangle())
 77 |             .gesture(
    |              |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 78 |                 DragGesture(minimumDistance: 0, coordinateSpace: .named("GridSpace"))
 79 |                     .onChanged { drag in
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:78:17: error: 'DragGesture' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 76 |             .contentShape(Rectangle())
 77 |             .gesture(
 78 |                 DragGesture(minimumDistance: 0, coordinateSpace: .named("GridSpace"))
    |                 |- error: 'DragGesture' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 79 |                     .onChanged { drag in
 80 |                         viewModel.duringDrag(drag: drag)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:78:17: error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 76 |             .contentShape(Rectangle())
 77 |             .gesture(
 78 |                 DragGesture(minimumDistance: 0, coordinateSpace: .named("GridSpace"))
    |                 |- error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 79 |                     .onChanged { drag in
 80 |                         viewModel.duringDrag(drag: drag)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:79:22: error: 'onChanged' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 77 |             .gesture(
 78 |                 DragGesture(minimumDistance: 0, coordinateSpace: .named("GridSpace"))
 79 |                     .onChanged { drag in
    |                      |- error: 'onChanged' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
 80 |                         viewModel.duringDrag(drag: drag)
 81 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:82:22: error: 'onEnded' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 80 |                         viewModel.duringDrag(drag: drag)
 81 |                     }
 82 |                     .onEnded { _ in
    |                      |- error: 'onEnded' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
 83 |                         viewModel.afterDrag()
 84 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:87:13: error: 'VStack' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 85 |             )
 86 |
 87 |             VStack {
    |             |- error: 'VStack' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
 88 |                 Text(viewModel.validityText)
 89 |                     .foregroundStyle(.red)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:87:20: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 85 |             )
 86 |
 87 |             VStack {
    |                    |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
 88 |                 Text(viewModel.validityText)
 89 |                     .foregroundStyle(.red)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:87:20: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 85 |             )
 86 |
 87 |             VStack {
    |                    |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
 88 |                 Text(viewModel.validityText)
 89 |                     .foregroundStyle(.red)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:88:17: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 86 |
 87 |             VStack {
 88 |                 Text(viewModel.validityText)
    |                 |- error: 'Text' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 89 |                     .foregroundStyle(.red)
 90 |                     .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:89:22: error: 'foregroundStyle' is only available in macOS 14.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 87 |             VStack {
 88 |                 Text(viewModel.validityText)
 89 |                     .foregroundStyle(.red)
    |                      |- error: 'foregroundStyle' is only available in macOS 14.0 or newer
    |                      `- note: add 'if #available' version check
 90 |                     .padding(.bottom)
 91 |                 if viewModel.mode == .set {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:89:39: error: 'red' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 87 |             VStack {
 88 |                 Text(viewModel.validityText)
 89 |                     .foregroundStyle(.red)
    |                                       |- error: 'red' is only available in macOS 10.15 or newer
    |                                       `- note: add 'if #available' version check
 90 |                     .padding(.bottom)
 91 |                 if viewModel.mode == .set {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:90:22: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 88 |                 Text(viewModel.validityText)
 89 |                     .foregroundStyle(.red)
 90 |                     .padding(.bottom)
    |                      |- error: 'padding' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
 91 |                 if viewModel.mode == .set {
 92 |                     switch viewModel.confirmationState {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:94:25: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 92 |                     switch viewModel.confirmationState {
 93 |                     case .initial:
 94 |                         Text("Set your pattern")
    |                         |- error: 'Text' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 95 |                             .foregroundStyle(viewModel.viewColor)
 96 |                             .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:95:30: error: 'foregroundStyle' is only available in macOS 14.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 93 |                     case .initial:
 94 |                         Text("Set your pattern")
 95 |                             .foregroundStyle(viewModel.viewColor)
    |                              |- error: 'foregroundStyle' is only available in macOS 14.0 or newer
    |                              `- note: add 'if #available' version check
 96 |                             .padding(.bottom)
 97 |                     case .awaitingConfirmation:
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:96:30: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 94 |                         Text("Set your pattern")
 95 |                             .foregroundStyle(viewModel.viewColor)
 96 |                             .padding(.bottom)
    |                              |- error: 'padding' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
 97 |                     case .awaitingConfirmation:
 98 |                         Text("Please confirm your pattern")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:94:25: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 92 |                     switch viewModel.confirmationState {
 93 |                     case .initial:
 94 |                         Text("Set your pattern")
    |                         |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 95 |                             .foregroundStyle(viewModel.viewColor)
 96 |                             .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:94:25: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 92 |                     switch viewModel.confirmationState {
 93 |                     case .initial:
 94 |                         Text("Set your pattern")
    |                         |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 95 |                             .foregroundStyle(viewModel.viewColor)
 96 |                             .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:98:25: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 96 |                             .padding(.bottom)
 97 |                     case .awaitingConfirmation:
 98 |                         Text("Please confirm your pattern")
    |                         |- error: 'Text' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 99 |                             .foregroundStyle(viewModel.viewColor)
100 |                             .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:99:30: error: 'foregroundStyle' is only available in macOS 14.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 97 |                     case .awaitingConfirmation:
 98 |                         Text("Please confirm your pattern")
 99 |                             .foregroundStyle(viewModel.viewColor)
    |                              |- error: 'foregroundStyle' is only available in macOS 14.0 or newer
    |                              `- note: add 'if #available' version check
100 |                             .padding(.bottom)
101 |                     case .confirmed:
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:100:30: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 98 |                         Text("Please confirm your pattern")
 99 |                             .foregroundStyle(viewModel.viewColor)
100 |                             .padding(.bottom)
    |                              |- error: 'padding' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
101 |                     case .confirmed:
102 |                         Text("Pattern confirmed!")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:98:25: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 96 |                             .padding(.bottom)
 97 |                     case .awaitingConfirmation:
 98 |                         Text("Please confirm your pattern")
    |                         |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 99 |                             .foregroundStyle(viewModel.viewColor)
100 |                             .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:98:25: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 96 |                             .padding(.bottom)
 97 |                     case .awaitingConfirmation:
 98 |                         Text("Please confirm your pattern")
    |                         |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 99 |                             .foregroundStyle(viewModel.viewColor)
100 |                             .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:102:25: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
100 |                             .padding(.bottom)
101 |                     case .confirmed:
102 |                         Text("Pattern confirmed!")
    |                         |- error: 'Text' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
103 |                             .foregroundStyle(.green)
104 |                             .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:103:30: error: 'foregroundStyle' is only available in macOS 14.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
101 |                     case .confirmed:
102 |                         Text("Pattern confirmed!")
103 |                             .foregroundStyle(.green)
    |                              |- error: 'foregroundStyle' is only available in macOS 14.0 or newer
    |                              `- note: add 'if #available' version check
104 |                             .padding(.bottom)
105 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:103:47: error: 'green' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
101 |                     case .confirmed:
102 |                         Text("Pattern confirmed!")
103 |                             .foregroundStyle(.green)
    |                                               |- error: 'green' is only available in macOS 10.15 or newer
    |                                               `- note: add 'if #available' version check
104 |                             .padding(.bottom)
105 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:104:30: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
102 |                         Text("Pattern confirmed!")
103 |                             .foregroundStyle(.green)
104 |                             .padding(.bottom)
    |                              |- error: 'padding' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
105 |                     }
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:102:25: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
100 |                             .padding(.bottom)
101 |                     case .confirmed:
102 |                         Text("Pattern confirmed!")
    |                         |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
103 |                             .foregroundStyle(.green)
104 |                             .padding(.bottom)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:107:25: error: 'HStack' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
105 |                     }
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
107 |                         HStack {
    |                         |- error: 'HStack' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
108 |                             Button {
109 |                                 viewModel.reset()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:107:32: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
105 |                     }
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
107 |                         HStack {
    |                                |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
108 |                             Button {
109 |                                 viewModel.reset()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:107:32: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
105 |                     }
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
107 |                         HStack {
    |                                |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
108 |                             Button {
109 |                                 viewModel.reset()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:108:29: error: 'Button' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
107 |                         HStack {
108 |                             Button {
    |                             |- error: 'Button' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
109 |                                 viewModel.reset()
110 |                             } label: {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:108:29: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
107 |                         HStack {
108 |                             Button {
    |                             |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
109 |                                 viewModel.reset()
110 |                             } label: {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:111:33: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
109 |                                 viewModel.reset()
110 |                             } label: {
111 |                                 Text("Reset")
    |                                 |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
112 |                                 .bold()
113 |                                 .foregroundStyle(.red)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:111:33: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
109 |                                 viewModel.reset()
110 |                             } label: {
111 |                                 Text("Reset")
    |                                 |- error: 'Text' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
112 |                                 .bold()
113 |                                 .foregroundStyle(.red)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:112:34: error: 'bold()' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
110 |                             } label: {
111 |                                 Text("Reset")
112 |                                 .bold()
    |                                  |- error: 'bold()' is only available in macOS 10.15 or newer
    |                                  `- note: add 'if #available' version check
113 |                                 .foregroundStyle(.red)
114 |                             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:113:34: error: 'foregroundStyle' is only available in macOS 14.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
111 |                                 Text("Reset")
112 |                                 .bold()
113 |                                 .foregroundStyle(.red)
    |                                  |- error: 'foregroundStyle' is only available in macOS 14.0 or newer
    |                                  `- note: add 'if #available' version check
114 |                             }
115 |                             .buttonBorderShape(.capsule)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:113:51: error: 'red' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
111 |                                 Text("Reset")
112 |                                 .bold()
113 |                                 .foregroundStyle(.red)
    |                                                   |- error: 'red' is only available in macOS 10.15 or newer
    |                                                   `- note: add 'if #available' version check
114 |                             }
115 |                             .buttonBorderShape(.capsule)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:110:38: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
108 |                             Button {
109 |                                 viewModel.reset()
110 |                             } label: {
    |                                      |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                                      `- note: add 'if #available' version check
111 |                                 Text("Reset")
112 |                                 .bold()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:115:30: error: 'buttonBorderShape' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
113 |                                 .foregroundStyle(.red)
114 |                             }
115 |                             .buttonBorderShape(.capsule)
    |                              |- error: 'buttonBorderShape' is only available in macOS 12.0 or newer
    |                              `- note: add 'if #available' version check
116 |                             .buttonStyle(BorderedProminentButtonStyle())
117 |                             .tint(.yellow)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:115:49: error: 'capsule' is only available in macOS 14.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
113 |                                 .foregroundStyle(.red)
114 |                             }
115 |                             .buttonBorderShape(.capsule)
    |                                                 |- error: 'capsule' is only available in macOS 14.0 or newer
    |                                                 `- note: add 'if #available' version check
116 |                             .buttonStyle(BorderedProminentButtonStyle())
117 |                             .tint(.yellow)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:116:30: error: 'buttonStyle' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
114 |                             }
115 |                             .buttonBorderShape(.capsule)
116 |                             .buttonStyle(BorderedProminentButtonStyle())
    |                              |- error: 'buttonStyle' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
117 |                             .tint(.yellow)
118 |                             .padding(.leading)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:116:42: error: 'BorderedProminentButtonStyle' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
114 |                             }
115 |                             .buttonBorderShape(.capsule)
116 |                             .buttonStyle(BorderedProminentButtonStyle())
    |                                          |- error: 'BorderedProminentButtonStyle' is only available in macOS 12.0 or newer
    |                                          `- note: add 'if #available' version check
117 |                             .tint(.yellow)
118 |                             .padding(.leading)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:117:30: error: 'tint' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
115 |                             .buttonBorderShape(.capsule)
116 |                             .buttonStyle(BorderedProminentButtonStyle())
117 |                             .tint(.yellow)
    |                              |- error: 'tint' is only available in macOS 12.0 or newer
    |                              `- note: add 'if #available' version check
118 |                             .padding(.leading)
119 |                             Spacer()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:117:36: error: 'yellow' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
115 |                             .buttonBorderShape(.capsule)
116 |                             .buttonStyle(BorderedProminentButtonStyle())
117 |                             .tint(.yellow)
    |                                    |- error: 'yellow' is only available in macOS 10.15 or newer
    |                                    `- note: add 'if #available' version check
118 |                             .padding(.leading)
119 |                             Spacer()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:118:30: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
116 |                             .buttonStyle(BorderedProminentButtonStyle())
117 |                             .tint(.yellow)
118 |                             .padding(.leading)
    |                              |- error: 'padding' is only available in macOS 10.15 or newer
    |                              `- note: add 'if #available' version check
119 |                             Spacer()
120 |                             if viewModel.requireConfirmation ?? false && viewModel.confirmationState == .initial {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:119:29: error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
117 |                             .tint(.yellow)
118 |                             .padding(.leading)
119 |                             Spacer()
    |                             |- error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
120 |                             if viewModel.requireConfirmation ?? false && viewModel.confirmationState == .initial {
121 |                                 Button {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:119:29: error: 'Spacer' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
117 |                             .tint(.yellow)
118 |                             .padding(.leading)
119 |                             Spacer()
    |                             |- error: 'Spacer' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
120 |                             if viewModel.requireConfirmation ?? false && viewModel.confirmationState == .initial {
121 |                                 Button {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:121:33: error: 'Button' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
119 |                             Spacer()
120 |                             if viewModel.requireConfirmation ?? false && viewModel.confirmationState == .initial {
121 |                                 Button {
    |                                 |- error: 'Button' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
122 |                                     viewModel.confirmPattern()
123 |                                 } label: {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:121:33: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
119 |                             Spacer()
120 |                             if viewModel.requireConfirmation ?? false && viewModel.confirmationState == .initial {
121 |                                 Button {
    |                                 |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
122 |                                     viewModel.confirmPattern()
123 |                                 } label: {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:124:37: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
122 |                                     viewModel.confirmPattern()
123 |                                 } label: {
124 |                                     Text("Confirm")
    |                                     |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                                     `- note: add 'if #available' version check
125 |                                 }
126 |                                 .buttonBorderShape(.capsule)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:124:37: error: 'Text' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
122 |                                     viewModel.confirmPattern()
123 |                                 } label: {
124 |                                     Text("Confirm")
    |                                     |- error: 'Text' is only available in macOS 10.15 or newer
    |                                     `- note: add 'if #available' version check
125 |                                 }
126 |                                 .buttonBorderShape(.capsule)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:123:42: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
121 |                                 Button {
122 |                                     viewModel.confirmPattern()
123 |                                 } label: {
    |                                          |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
124 |                                     Text("Confirm")
125 |                                 }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:126:34: error: 'buttonBorderShape' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
124 |                                     Text("Confirm")
125 |                                 }
126 |                                 .buttonBorderShape(.capsule)
    |                                  |- error: 'buttonBorderShape' is only available in macOS 12.0 or newer
    |                                  `- note: add 'if #available' version check
127 |                                 .buttonStyle(BorderedProminentButtonStyle())
128 |                                 .tint(viewModel.viewColor)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:126:53: error: 'capsule' is only available in macOS 14.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
124 |                                     Text("Confirm")
125 |                                 }
126 |                                 .buttonBorderShape(.capsule)
    |                                                     |- error: 'capsule' is only available in macOS 14.0 or newer
    |                                                     `- note: add 'if #available' version check
127 |                                 .buttonStyle(BorderedProminentButtonStyle())
128 |                                 .tint(viewModel.viewColor)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:127:34: error: 'buttonStyle' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
125 |                                 }
126 |                                 .buttonBorderShape(.capsule)
127 |                                 .buttonStyle(BorderedProminentButtonStyle())
    |                                  |- error: 'buttonStyle' is only available in macOS 10.15 or newer
    |                                  `- note: add 'if #available' version check
128 |                                 .tint(viewModel.viewColor)
129 |                                 .padding(.trailing)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:127:46: error: 'BorderedProminentButtonStyle' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
125 |                                 }
126 |                                 .buttonBorderShape(.capsule)
127 |                                 .buttonStyle(BorderedProminentButtonStyle())
    |                                              |- error: 'BorderedProminentButtonStyle' is only available in macOS 12.0 or newer
    |                                              `- note: add 'if #available' version check
128 |                                 .tint(viewModel.viewColor)
129 |                                 .padding(.trailing)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:128:34: error: 'tint' is only available in macOS 12.0 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
126 |                                 .buttonBorderShape(.capsule)
127 |                                 .buttonStyle(BorderedProminentButtonStyle())
128 |                                 .tint(viewModel.viewColor)
    |                                  |- error: 'tint' is only available in macOS 12.0 or newer
    |                                  `- note: add 'if #available' version check
129 |                                 .padding(.trailing)
130 |                             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:129:34: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
127 |                                 .buttonStyle(BorderedProminentButtonStyle())
128 |                                 .tint(viewModel.viewColor)
129 |                                 .padding(.trailing)
    |                                  |- error: 'padding' is only available in macOS 10.15 or newer
    |                                  `- note: add 'if #available' version check
130 |                             }
131 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:120:114: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
118 |                             .padding(.leading)
119 |                             Spacer()
120 |                             if viewModel.requireConfirmation ?? false && viewModel.confirmationState == .initial {
    |                                                                                                                  |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                                                                                                                  `- note: add 'if #available' version check
121 |                                 Button {
122 |                                     viewModel.confirmPattern()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:130:29: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
128 |                                 .tint(viewModel.viewColor)
129 |                                 .padding(.trailing)
130 |                             }
    |                             |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
131 |                         }
132 |                         .frame(maxWidth: .infinity)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:107:32: error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
105 |                     }
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
107 |                         HStack {
    |                                |- error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
108 |                             Button {
109 |                                 viewModel.reset()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:107:32: error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
105 |                     }
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
107 |                         HStack {
    |                                |- error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
108 |                             Button {
109 |                                 viewModel.reset()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:132:26: error: 'frame(minWidth:idealWidth:maxWidth:minHeight:idealHeight:maxHeight:alignment:)' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
130 |                             }
131 |                         }
132 |                         .frame(maxWidth: .infinity)
    |                          |- error: 'frame(minWidth:idealWidth:maxWidth:minHeight:idealHeight:maxHeight:alignment:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
133 |                         .padding()
134 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:133:26: error: 'padding' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
131 |                         }
132 |                         .frame(maxWidth: .infinity)
133 |                         .padding()
    |                          |- error: 'padding' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
134 |                     }
135 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:106:85: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
104 |                             .padding(.bottom)
105 |                     }
106 |                     if viewModel.selectedCardsIndices.count > 0 && viewModel.locked {
    |                                                                                     |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                                                                                     `- note: add 'if #available' version check
107 |                         HStack {
108 |                             Button {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:134:21: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
132 |                         .frame(maxWidth: .infinity)
133 |                         .padding()
134 |                     }
    |                     |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
135 |                 }
136 |             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:91:43: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 89 |                     .foregroundStyle(.red)
 90 |                     .padding(.bottom)
 91 |                 if viewModel.mode == .set {
    |                                           |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
    |                                           `- note: add 'if #available' version check
 92 |                     switch viewModel.confirmationState {
 93 |                     case .initial:
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:91:43: error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 89 |                     .foregroundStyle(.red)
 90 |                     .padding(.bottom)
 91 |                 if viewModel.mode == .set {
    |                                           |- error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
    |                                           `- note: add 'if #available' version check
 92 |                     switch viewModel.confirmationState {
 93 |                     case .initial:
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:91:43: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 89 |                     .foregroundStyle(.red)
 90 |                     .padding(.bottom)
 91 |                 if viewModel.mode == .set {
    |                                           |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                                           `- note: add 'if #available' version check
 92 |                     switch viewModel.confirmationState {
 93 |                     case .initial:
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:135:17: error: 'buildIf' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
133 |                         .padding()
134 |                     }
135 |                 }
    |                 |- error: 'buildIf' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
136 |             }
137 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:87:20: error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
 85 |             )
 86 |
 87 |             VStack {
    |                    |- error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
 88 |                 Text(viewModel.validityText)
 89 |                     .foregroundStyle(.red)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:25:16: error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
    |                |- error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
    |                `- note: add 'if #available' version check
 26 |             if viewModel.debug {
 27 |                 Text("[DEBUG] Selected Vertices: \(viewModel.selectedCardsIndices.count)")
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:138:10: error: 'modifier' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
    :
136 |             }
137 |         }
138 |         .modifier(Shake(animatableData: CGFloat(viewModel.incorrectCount)))
    |          |- error: 'modifier' is only available in macOS 10.15 or newer
    |          `- note: add 'if #available' version check
139 |     }
140 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:24:32: error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
  6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
  7 | @MainActor
  8 | public struct GridAuthenticator: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     /// The main-actor state object that owns gesture flow state.
 10 |     @StateObject public var viewModel: GridAuthenticatorViewModel
    :
 22 |     let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
 23 |
 24 |     public var body: some View {
    |                |               |- error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
    |                |               `- note: add 'if #available' version check
    |                `- note: add '@available' attribute to enclosing property
 25 |         VStack {
 26 |             if viewModel.debug {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:155:9: error: 'ZStack' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
    |         |- error: 'ZStack' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
156 |             Circle()
157 |                 .foregroundStyle(viewModel.viewColor.opacity(0.9))
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:156:13: error: 'Circle' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    |             |- error: 'Circle' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
157 |                 .foregroundStyle(viewModel.viewColor.opacity(0.9))
158 |                 .frame(width: 60, height: 60)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:157:18: error: 'foregroundStyle' is only available in macOS 12.0 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
157 |                 .foregroundStyle(viewModel.viewColor.opacity(0.9))
    |                  |- error: 'foregroundStyle' is only available in macOS 12.0 or newer
    |                  `- note: add 'if #available' version check
158 |                 .frame(width: 60, height: 60)
159 |             Circle()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:157:54: error: 'opacity' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
157 |                 .foregroundStyle(viewModel.viewColor.opacity(0.9))
    |                                                      |- error: 'opacity' is only available in macOS 10.15 or newer
    |                                                      `- note: add 'if #available' version check
158 |                 .frame(width: 60, height: 60)
159 |             Circle()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:158:18: error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
157 |                 .foregroundStyle(viewModel.viewColor.opacity(0.9))
158 |                 .frame(width: 60, height: 60)
    |                  |- error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
    |                  `- note: add 'if #available' version check
159 |             Circle()
160 |                 .foregroundStyle(viewModel.viewColor.opacity(isBeingTouched ? 0.6 : 0))
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:159:13: error: 'Circle' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
157 |                 .foregroundStyle(viewModel.viewColor.opacity(0.9))
158 |                 .frame(width: 60, height: 60)
159 |             Circle()
    |             |- error: 'Circle' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
160 |                 .foregroundStyle(viewModel.viewColor.opacity(isBeingTouched ? 0.6 : 0))
161 |                 .frame(width: 80, height: 80)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:160:18: error: 'foregroundStyle' is only available in macOS 12.0 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
158 |                 .frame(width: 60, height: 60)
159 |             Circle()
160 |                 .foregroundStyle(viewModel.viewColor.opacity(isBeingTouched ? 0.6 : 0))
    |                  |- error: 'foregroundStyle' is only available in macOS 12.0 or newer
    |                  `- note: add 'if #available' version check
161 |                 .frame(width: 80, height: 80)
162 |                 .blur(radius: 7)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:160:54: error: 'opacity' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
158 |                 .frame(width: 60, height: 60)
159 |             Circle()
160 |                 .foregroundStyle(viewModel.viewColor.opacity(isBeingTouched ? 0.6 : 0))
    |                                                      |- error: 'opacity' is only available in macOS 10.15 or newer
    |                                                      `- note: add 'if #available' version check
161 |                 .frame(width: 80, height: 80)
162 |                 .blur(radius: 7)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:161:18: error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
159 |             Circle()
160 |                 .foregroundStyle(viewModel.viewColor.opacity(isBeingTouched ? 0.6 : 0))
161 |                 .frame(width: 80, height: 80)
    |                  |- error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
    |                  `- note: add 'if #available' version check
162 |                 .blur(radius: 7)
163 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:162:18: error: 'blur(radius:opaque:)' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
160 |                 .foregroundStyle(viewModel.viewColor.opacity(isBeingTouched ? 0.6 : 0))
161 |                 .frame(width: 80, height: 80)
162 |                 .blur(radius: 7)
    |                  |- error: 'blur(radius:opaque:)' is only available in macOS 10.15 or newer
    |                  `- note: add 'if #available' version check
163 |         }
164 |         .onChange(of: viewModel.mostRecentSelection) { _ in
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:164:10: error: 'onChange(of:perform:)' is only available in macOS 11.0 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
162 |                 .blur(radius: 7)
163 |         }
164 |         .onChange(of: viewModel.mostRecentSelection) { _ in
    |          |- error: 'onChange(of:perform:)' is only available in macOS 11.0 or newer
    |          `- note: add 'if #available' version check
165 |             if viewModel.mostRecentSelection == self.index {
166 |                 triggerGlow()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:169:10: error: 'background(alignment:content:)' is only available in macOS 12.0 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
167 |             }
168 |         }
169 |         .background {
    |          |- error: 'background(alignment:content:)' is only available in macOS 12.0 or newer
    |          `- note: add 'if #available' version check
170 |             GeometryReader { geometry in
171 |                 Rectangle()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:169:21: error: conformance of 'Color' to 'ShapeStyle' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
167 |             }
168 |         }
169 |         .background {
    |                     |- error: conformance of 'Color' to 'ShapeStyle' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
170 |             GeometryReader { geometry in
171 |                 Rectangle()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:170:13: error: 'GeometryReader' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
168 |         }
169 |         .background {
170 |             GeometryReader { geometry in
    |             |- error: 'GeometryReader' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
171 |                 Rectangle()
172 |                     .fill(Color.clear)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:170:28: error: conformance of 'Color' to 'ShapeStyle' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
168 |         }
169 |         .background {
170 |             GeometryReader { geometry in
    |                            |- error: conformance of 'Color' to 'ShapeStyle' is only available in macOS 10.15 or newer
    |                            `- note: add 'if #available' version check
171 |                 Rectangle()
172 |                     .fill(Color.clear)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:171:17: error: 'Rectangle' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
169 |         .background {
170 |             GeometryReader { geometry in
171 |                 Rectangle()
    |                 |- error: 'Rectangle' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
172 |                     .fill(Color.clear)
173 |                     .preference(key: CardPreferenceKey.self,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:172:22: error: 'fill(_:style:)' is only available in macOS 14.0 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
170 |             GeometryReader { geometry in
171 |                 Rectangle()
172 |                     .fill(Color.clear)
    |                      |- error: 'fill(_:style:)' is only available in macOS 14.0 or newer
    |                      `- note: add 'if #available' version check
173 |                     .preference(key: CardPreferenceKey.self,
174 |                                 value: [CardPreferenceData(index: self.index, bounds: geometry.frame(in: .named("GridSpace")))])
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:172:27: error: 'Color' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
170 |             GeometryReader { geometry in
171 |                 Rectangle()
172 |                     .fill(Color.clear)
    |                           |- error: 'Color' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
173 |                     .preference(key: CardPreferenceKey.self,
174 |                                 value: [CardPreferenceData(index: self.index, bounds: geometry.frame(in: .named("GridSpace")))])
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:172:33: error: 'clear' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
170 |             GeometryReader { geometry in
171 |                 Rectangle()
172 |                     .fill(Color.clear)
    |                                 |- error: 'clear' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
173 |                     .preference(key: CardPreferenceKey.self,
174 |                                 value: [CardPreferenceData(index: self.index, bounds: geometry.frame(in: .named("GridSpace")))])
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:173:22: error: 'preference(key:value:)' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
171 |                 Rectangle()
172 |                     .fill(Color.clear)
173 |                     .preference(key: CardPreferenceKey.self,
    |                      |- error: 'preference(key:value:)' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
174 |                                 value: [CardPreferenceData(index: self.index, bounds: geometry.frame(in: .named("GridSpace")))])
175 |             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:174:96: error: 'frame(in:)' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
152 |     @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
155 |         ZStack {
156 |             Circle()
    :
172 |                     .fill(Color.clear)
173 |                     .preference(key: CardPreferenceKey.self,
174 |                                 value: [CardPreferenceData(index: self.index, bounds: geometry.frame(in: .named("GridSpace")))])
    |                                                                                                |- error: 'frame(in:)' is only available in macOS 10.15 or newer
    |                                                                                                `- note: add 'if #available' version check
175 |             }
176 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:185:9: error: setter for 'isBeingTouched' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
182 |     /// animates it back to `false`.
183 |     /// - Throws: This method does not throw.
184 |     private func triggerGlow() {
    |                  `- note: add '@available' attribute to enclosing instance method
185 |         isBeingTouched = true
    |         |- error: setter for 'isBeingTouched' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
186 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
187 |             withAnimation(.easeInOut(duration: 0.3)) {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:187:13: error: 'withAnimation' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
182 |     /// animates it back to `false`.
183 |     /// - Throws: This method does not throw.
184 |     private func triggerGlow() {
    |                  `- note: add '@available' attribute to enclosing instance method
185 |         isBeingTouched = true
186 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
187 |             withAnimation(.easeInOut(duration: 0.3)) {
    |             |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
188 |                 isBeingTouched = false
189 |             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:187:28: error: 'easeInOut(duration:)' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
182 |     /// animates it back to `false`.
183 |     /// - Throws: This method does not throw.
184 |     private func triggerGlow() {
    |                  `- note: add '@available' attribute to enclosing instance method
185 |         isBeingTouched = true
186 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
187 |             withAnimation(.easeInOut(duration: 0.3)) {
    |                            |- error: 'easeInOut(duration:)' is only available in macOS 10.15 or newer
    |                            `- note: add 'if #available' version check
188 |                 isBeingTouched = false
189 |             }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:188:17: error: setter for 'isBeingTouched' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
    |               `- note: add '@available' attribute to enclosing struct
145 |     /// The zero-based 3x3 grid index represented by this circle.
146 |     public var index: Int
    :
182 |     /// animates it back to `false`.
183 |     /// - Throws: This method does not throw.
184 |     private func triggerGlow() {
    |                  `- note: add '@available' attribute to enclosing instance method
185 |         isBeingTouched = true
186 |         DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
187 |             withAnimation(.easeInOut(duration: 0.3)) {
188 |                 isBeingTouched = false
    |                 |- error: setter for 'isBeingTouched' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
189 |             }
190 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:240:14: error: 'previewDisplayName' is only available in macOS 10.15 or newer
235 |
236 | #if DEBUG
237 | struct GridAuthenticatorPreviews: PreviewProvider {
    |        `- note: add '@available' attribute to enclosing struct
238 |     static var previews: some View {
    |                `- note: add '@available' attribute to enclosing static property
239 |         GridAuthenticator(.setCredential(debug: true) { _ in })
240 |             .previewDisplayName("Credential Setup")
    |              |- error: 'previewDisplayName' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
241 |     }
242 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:728:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 |     /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 |     public enum GridAuthenticatorOption {
    |                 `- note: add '@available' attribute to enclosing enum
663 |         /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 |         ///
    :
726 |         case setCredential(
727 |             minimumVertices: Int = 6,
728 |             color: Color = .blue,
    |                             `- error: 'blue' is only available in macOS 10.15 or newer
729 |             interactionMode: InteractionMode = .drag,
730 |             requireConfirmation: Bool = true,
[11/11] Compiling PatternAuthentication LegacyPatternHash.swift
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Credentials/LegacyPatternHash.swift:25:16: error: 'SHA256' is only available in macOS 10.15 or newer
21 | /// - Returns: A lowercase hexadecimal SHA-256 hash matching v0 package output.
22 | /// - Throws: This function does not throw.
23 | func legacyHashArray(_ array: [Int]) -> String {
   |      `- note: add '@available' attribute to enclosing global function
24 |     let data = array.withUnsafeBytes { Data($0) }
25 |     let hash = SHA256.hash(data: data)
   |                |- error: 'SHA256' is only available in macOS 10.15 or newer
   |                `- note: add 'if #available' version check
26 |     return hash.compactMap { String(format: "%02x", $0) }.joined()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Credentials/LegacyPatternHash.swift:25:23: error: 'hash(data:)' is only available in macOS 10.15 or newer
21 | /// - Returns: A lowercase hexadecimal SHA-256 hash matching v0 package output.
22 | /// - Throws: This function does not throw.
23 | func legacyHashArray(_ array: [Int]) -> String {
   |      `- note: add '@available' attribute to enclosing global function
24 |     let data = array.withUnsafeBytes { Data($0) }
25 |     let hash = SHA256.hash(data: data)
   |                       |- error: 'hash(data:)' is only available in macOS 10.15 or newer
   |                       `- note: add 'if #available' version check
26 |     return hash.compactMap { String(format: "%02x", $0) }.joined()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Credentials/LegacyPatternHash.swift:26:17: error: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer
21 | /// - Returns: A lowercase hexadecimal SHA-256 hash matching v0 package output.
22 | /// - Throws: This function does not throw.
23 | func legacyHashArray(_ array: [Int]) -> String {
   |      `- note: add '@available' attribute to enclosing global function
24 |     let data = array.withUnsafeBytes { Data($0) }
25 |     let hash = SHA256.hash(data: data)
26 |     return hash.compactMap { String(format: "%02x", $0) }.joined()
   |                 |- error: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer
   |                 `- note: add 'if #available' version check
27 | }
28 |
BUILD FAILURE 6.3 macosSpm