The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Undertow, reference main (4968e6), with Swift 6.3 for macOS (SPM) on 15 Aug 2026 03:38:10 UTC.

Build Command

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

Build Log

 97 |         case let .water(speed, strength, frequency):
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:96:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 94 |             content.colorPlanesEffect(offset: offset)
 95 |         case let .emboss(strength):
 96 |             content.embossEffect(strength: strength)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
 97 |         case let .water(speed, strength, frequency):
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:98:13: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 96 |             content.embossEffect(strength: strength)
 97 |         case let .water(speed, strength, frequency):
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
    |             |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
 99 |         case let .wave(speed, smoothing, strength):
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:98:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 96 |             content.embossEffect(strength: strength)
 97 |         case let .water(speed, strength, frequency):
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
 99 |         case let .wave(speed, smoothing, strength):
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:98:13: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 96 |             content.embossEffect(strength: strength)
 97 |         case let .water(speed, strength, frequency):
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
    |             |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
 99 |         case let .wave(speed, smoothing, strength):
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:98:13: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 96 |             content.embossEffect(strength: strength)
 97 |         case let .water(speed, strength, frequency):
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
    |             |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
 99 |         case let .wave(speed, smoothing, strength):
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:100:13: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
 99 |         case let .wave(speed, smoothing, strength):
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
    |             |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
101 |         case let .shimmer(animationDuration, gradientWidth, maxLightness, direction, angle):
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:100:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
 99 |         case let .wave(speed, smoothing, strength):
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
101 |         case let .shimmer(animationDuration, gradientWidth, maxLightness, direction, angle):
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:100:13: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
 99 |         case let .wave(speed, smoothing, strength):
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
    |             |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
101 |         case let .shimmer(animationDuration, gradientWidth, maxLightness, direction, angle):
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:100:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
 98 |             content.waterEffect(size: boundingRect.size, time: time, speed: speed, strength: strength, frequency: frequency)
 99 |         case let .wave(speed, smoothing, strength):
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
101 |         case let .shimmer(animationDuration, gradientWidth, maxLightness, direction, angle):
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:102:13: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
101 |         case let .shimmer(animationDuration, gradientWidth, maxLightness, direction, angle):
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
    |             |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
103 |         case .whiteNoise:
104 |             content.whiteNoiseEffect(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:102:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
101 |         case let .shimmer(animationDuration, gradientWidth, maxLightness, direction, angle):
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
103 |         case .whiteNoise:
104 |             content.whiteNoiseEffect(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:102:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
101 |         case let .shimmer(animationDuration, gradientWidth, maxLightness, direction, angle):
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
103 |         case .whiteNoise:
104 |             content.whiteNoiseEffect(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:102:13: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
100 |             content.waveEffect(time: time, speed: speed, smoothing: smoothing, strength: strength)
101 |         case let .shimmer(animationDuration, gradientWidth, maxLightness, direction, angle):
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
    |             |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
103 |         case .whiteNoise:
104 |             content.whiteNoiseEffect(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:104:13: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
103 |         case .whiteNoise:
104 |             content.whiteNoiseEffect(time: time)
    |             |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
105 |         case .rainbowNoise:
106 |             content.rainbowNoiseEffect(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:104:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
103 |         case .whiteNoise:
104 |             content.whiteNoiseEffect(time: time)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
105 |         case .rainbowNoise:
106 |             content.rainbowNoiseEffect(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:104:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
103 |         case .whiteNoise:
104 |             content.whiteNoiseEffect(time: time)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
105 |         case .rainbowNoise:
106 |             content.rainbowNoiseEffect(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:104:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
102 |             content.shimmerEffect(size: boundingRect.size, time: time, animationDuration: animationDuration, gradientWidth: gradientWidth, maxLightness: maxLightness, direction: direction, angle: angle)
103 |         case .whiteNoise:
104 |             content.whiteNoiseEffect(time: time)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
105 |         case .rainbowNoise:
106 |             content.rainbowNoiseEffect(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:106:13: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
    :
104 |             content.whiteNoiseEffect(time: time)
105 |         case .rainbowNoise:
106 |             content.rainbowNoiseEffect(time: time)
    |             |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
107 |         }
108 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectSource/EffectSourceViewModifier.swift:87:108: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
 14 | /// the collected target masks. Because the wrapping `GeometryReader` has no intrinsic size,
 15 | /// apply any `.frame(...)` that sizes the scrolled content *after* this modifier, not before.
 16 | struct EffectSourceViewModifier: ViewModifier {
    |        `- note: add '@available' attribute to enclosing struct
 17 |     /// Which effect to apply.
 18 |     let configuration: Effect
    :
 85 |     ///     static ones.
 86 |     @ViewBuilder
 87 |     private func appliedEffect(to content: Content, boundingRect: CGRect, time: TimeInterval) -> some View {
    |                  |                                                                                         |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
    |                  |                                                                                         `- note: add 'if #available' version check
    |                  `- note: add '@available' attribute to enclosing instance method
 88 |         switch configuration {
 89 |         case .invert:
[34/51] Compiling Undertow EffectTargetViewModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:16:41: error: 'View' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          |                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:18:14: error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
   |              |- error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
19 |                 GeometryReader { geometry in
20 |                     Color.clear
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:19:17: error: 'GeometryReader' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
   |                 |- error: 'GeometryReader' is only available in macOS 10.15 or newer
   |                 `- note: add 'if #available' version check
20 |                     Color.clear
21 |                         .preference(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:20:21: error: 'Color' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
   |                     |- error: 'Color' is only available in macOS 10.15 or newer
   |                     `- note: add 'if #available' version check
21 |                         .preference(
22 |                             key: EffectTargetFramePreferenceKey.self,
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:20:27: error: 'clear' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
   |                           |- error: 'clear' is only available in macOS 10.15 or newer
   |                           `- note: add 'if #available' version check
21 |                         .preference(
22 |                             key: EffectTargetFramePreferenceKey.self,
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:21:26: error: 'preference(key:value:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
21 |                         .preference(
   |                          |- error: 'preference(key:value:)' is only available in macOS 10.15 or newer
   |                          `- note: add 'if #available' version check
22 |                             key: EffectTargetFramePreferenceKey.self,
23 |                             value: [
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:25:53: error: 'frame(in:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
   :
23 |                             value: [
24 |                                 TargetMask(
25 |                                     frame: geometry.frame(in: .global),
   |                                                     |- error: 'frame(in:)' is only available in macOS 10.15 or newer
   |                                                     `- note: add 'if #available' version check
26 |                                     cornerRadius: cornerRadius
27 |                                 )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:12:37: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
   |                |                    `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "RGBInversion-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "RGBInversion-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
[35/51] Compiling Undertow TargetMask.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:16:41: error: 'View' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          |                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:18:14: error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
   |              |- error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
19 |                 GeometryReader { geometry in
20 |                     Color.clear
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:19:17: error: 'GeometryReader' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
   |                 |- error: 'GeometryReader' is only available in macOS 10.15 or newer
   |                 `- note: add 'if #available' version check
20 |                     Color.clear
21 |                         .preference(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:20:21: error: 'Color' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
   |                     |- error: 'Color' is only available in macOS 10.15 or newer
   |                     `- note: add 'if #available' version check
21 |                         .preference(
22 |                             key: EffectTargetFramePreferenceKey.self,
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:20:27: error: 'clear' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
   |                           |- error: 'clear' is only available in macOS 10.15 or newer
   |                           `- note: add 'if #available' version check
21 |                         .preference(
22 |                             key: EffectTargetFramePreferenceKey.self,
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:21:26: error: 'preference(key:value:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
21 |                         .preference(
   |                          |- error: 'preference(key:value:)' is only available in macOS 10.15 or newer
   |                          `- note: add 'if #available' version check
22 |                             key: EffectTargetFramePreferenceKey.self,
23 |                             value: [
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:25:53: error: 'frame(in:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
   :
23 |                             value: [
24 |                                 TargetMask(
25 |                                     frame: geometry.frame(in: .global),
   |                                                     |- error: 'frame(in:)' is only available in macOS 10.15 or newer
   |                                                     `- note: add 'if #available' version check
26 |                                     cornerRadius: cornerRadius
27 |                                 )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:12:37: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
   |                |                    `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "RGBInversion-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "RGBInversion-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
[36/51] Compiling Undertow ShaderLibrary+RGBInversionLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:16:41: error: 'View' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          |                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:18:14: error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
   |              |- error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
19 |                 GeometryReader { geometry in
20 |                     Color.clear
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:19:17: error: 'GeometryReader' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
   |                 |- error: 'GeometryReader' is only available in macOS 10.15 or newer
   |                 `- note: add 'if #available' version check
20 |                     Color.clear
21 |                         .preference(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:20:21: error: 'Color' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
   |                     |- error: 'Color' is only available in macOS 10.15 or newer
   |                     `- note: add 'if #available' version check
21 |                         .preference(
22 |                             key: EffectTargetFramePreferenceKey.self,
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:20:27: error: 'clear' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
   |                           |- error: 'clear' is only available in macOS 10.15 or newer
   |                           `- note: add 'if #available' version check
21 |                         .preference(
22 |                             key: EffectTargetFramePreferenceKey.self,
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:21:26: error: 'preference(key:value:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
19 |                 GeometryReader { geometry in
20 |                     Color.clear
21 |                         .preference(
   |                          |- error: 'preference(key:value:)' is only available in macOS 10.15 or newer
   |                          `- note: add 'if #available' version check
22 |                             key: EffectTargetFramePreferenceKey.self,
23 |                             value: [
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectTarget/EffectTargetViewModifier.swift:25:53: error: 'frame(in:)' is only available in macOS 10.15 or newer
10 | /// A view modifier that reports its frame and corner `cornerRadius`, via `EffectTargetFramePreferenceKey`,
11 | /// for collection by the nearest ancestor `.effectCoordinator()` and use by its `.effectSource()`.
12 | struct EffectTargetViewModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
13 |     /// The corner radius applied to this target's mask window.
14 |     let cornerRadius: CGFloat
15 |
16 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         content
18 |             .background(
   :
23 |                             value: [
24 |                                 TargetMask(
25 |                                     frame: geometry.frame(in: .global),
   |                                                     |- error: 'frame(in:)' is only available in macOS 10.15 or newer
   |                                                     `- note: add 'if #available' version check
26 |                                     cornerRadius: cornerRadius
27 |                                 )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:12:37: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
   |                |                    `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "RGBInversion-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "RGBInversion-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+RGBInversionLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the color-inversion effect.
12 |     static let rgbInversionLibrary: ShaderLibrary = {
[37/51] Compiling Undertow Effect.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:12:2: error: 'Observable()' is only available in macOS 14.0 or newer
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
13 | final class MaskStore {
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Core/EnvironmentValues.swift:10:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension EnvironmentValues {
   | |         `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The shared mask store distributed by the nearest ancestor `effectCoordinator`.
12 |     @Entry var maskStore: MaskStore? = nil
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:16:5: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on property 'targetMasks' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
   +--- macro expansion @Observable ------------------------------------
   |1 | @ObservationTracked
   |  |  `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
   +--------------------------------------------------------------------
17 | }
18 |
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:17:1: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on class 'MaskStore' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
17 | }
   +--- macro expansion @Observable ------------------------------------
   | 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
   |   |  `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
   | 2 |
   | 3 | internal nonisolated func access<$s8Undertow9MaskStore10ObservablefMm_6MemberfMu_>(
   +--------------------------------------------------------------------
18 |
macro expansion @ObservationTracked:4:6: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:16:42: note: expanded code originates here
11 | /// descendants.
12 | @Observable
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
   +--- macro expansion @ObservationTracked ----------------------------
   |2 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
   |3 |
   |4 |     @ObservationIgnored
   |  |      `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
   |5 | private  var _targetMasks: Set<TargetMask> = []
   +--------------------------------------------------------------------
17 | }
18 |
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:17:1: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on class 'MaskStore' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
17 | }
   +--- macro expansion @Observable ------------------------------------
   | 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
   |   |                                                                      `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
   | 2 |
   | 3 | internal nonisolated func access<$s8Undertow9MaskStore10ObservablefMm_6MemberfMu_>(
   +--------------------------------------------------------------------
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:15:6: error: 'State' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
   |      `- error: 'State' is only available in macOS 10.15 or newer
16 |
17 |     func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:17:41: error: 'View' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          |                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:19:14: error: 'environment' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
   |              |- error: 'environment' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
20 |             .onPreferenceChange(EffectTargetFramePreferenceKey.self) { store.targetMasks = $0 }
21 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:20:14: error: 'onPreferenceChange(_:perform:)' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
20 |             .onPreferenceChange(EffectTargetFramePreferenceKey.self) { store.targetMasks = $0 }
   |              |- error: 'onPreferenceChange(_:perform:)' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
21 |     }
22 | }
[38/51] Compiling Undertow EnvironmentValues.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:12:2: error: 'Observable()' is only available in macOS 14.0 or newer
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
13 | final class MaskStore {
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Core/EnvironmentValues.swift:10:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension EnvironmentValues {
   | |         `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The shared mask store distributed by the nearest ancestor `effectCoordinator`.
12 |     @Entry var maskStore: MaskStore? = nil
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:16:5: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on property 'targetMasks' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
   +--- macro expansion @Observable ------------------------------------
   |1 | @ObservationTracked
   |  |  `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
   +--------------------------------------------------------------------
17 | }
18 |
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:17:1: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on class 'MaskStore' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
17 | }
   +--- macro expansion @Observable ------------------------------------
   | 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
   |   |  `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
   | 2 |
   | 3 | internal nonisolated func access<$s8Undertow9MaskStore10ObservablefMm_6MemberfMu_>(
   +--------------------------------------------------------------------
18 |
macro expansion @ObservationTracked:4:6: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:16:42: note: expanded code originates here
11 | /// descendants.
12 | @Observable
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
   +--- macro expansion @ObservationTracked ----------------------------
   |2 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
   |3 |
   |4 |     @ObservationIgnored
   |  |      `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
   |5 | private  var _targetMasks: Set<TargetMask> = []
   +--------------------------------------------------------------------
17 | }
18 |
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:17:1: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on class 'MaskStore' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
17 | }
   +--- macro expansion @Observable ------------------------------------
   | 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
   |   |                                                                      `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
   | 2 |
   | 3 | internal nonisolated func access<$s8Undertow9MaskStore10ObservablefMm_6MemberfMu_>(
   +--------------------------------------------------------------------
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:15:6: error: 'State' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
   |      `- error: 'State' is only available in macOS 10.15 or newer
16 |
17 |     func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:17:41: error: 'View' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          |                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:19:14: error: 'environment' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
   |              |- error: 'environment' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
20 |             .onPreferenceChange(EffectTargetFramePreferenceKey.self) { store.targetMasks = $0 }
21 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:20:14: error: 'onPreferenceChange(_:perform:)' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
20 |             .onPreferenceChange(EffectTargetFramePreferenceKey.self) { store.targetMasks = $0 }
   |              |- error: 'onPreferenceChange(_:perform:)' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
21 |     }
22 | }
[39/51] Compiling Undertow EffectCoordinatorModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:12:2: error: 'Observable()' is only available in macOS 14.0 or newer
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
13 | final class MaskStore {
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Core/EnvironmentValues.swift:10:11: error: 'EnvironmentValues' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension EnvironmentValues {
   | |         `- error: 'EnvironmentValues' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The shared mask store distributed by the nearest ancestor `effectCoordinator`.
12 |     @Entry var maskStore: MaskStore? = nil
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:16:5: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on property 'targetMasks' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
   +--- macro expansion @Observable ------------------------------------
   |1 | @ObservationTracked
   |  |  `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
   +--------------------------------------------------------------------
17 | }
18 |
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:17:1: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on class 'MaskStore' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
17 | }
   +--- macro expansion @Observable ------------------------------------
   | 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
   |   |  `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
   | 2 |
   | 3 | internal nonisolated func access<$s8Undertow9MaskStore10ObservablefMm_6MemberfMu_>(
   +--------------------------------------------------------------------
18 |
macro expansion @ObservationTracked:4:6: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:16:42: note: expanded code originates here
11 | /// descendants.
12 | @Observable
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
   +--- macro expansion @ObservationTracked ----------------------------
   |2 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
   |3 |
   |4 |     @ObservationIgnored
   |  |      `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
   |5 | private  var _targetMasks: Set<TargetMask> = []
   +--------------------------------------------------------------------
17 | }
18 |
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/MaskStore.swift:17:1: note: expanded code originates here
10 | /// A shared observable store that holds target masks reported by `.effectTarget()`
11 | /// descendants.
12 | @Observable
   | `- note: in expansion of macro 'Observable' on class 'MaskStore' here
13 | final class MaskStore {
   |             `- note: add '@available' attribute to enclosing class
14 |     /// Masks reported by all `.effectTarget()` targets. Collected via standard SwiftUI
15 |     /// `PreferenceKey` propagation (`EffectTargetFramePreferenceKey`).
16 |     var targetMasks: Set<TargetMask> = []
17 | }
   +--- macro expansion @Observable ------------------------------------
   | 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
   |   |                                                                      `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
   | 2 |
   | 3 | internal nonisolated func access<$s8Undertow9MaskStore10ObservablefMm_6MemberfMu_>(
   +--------------------------------------------------------------------
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:15:6: error: 'State' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
   |      `- error: 'State' is only available in macOS 10.15 or newer
16 |
17 |     func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:17:41: error: 'View' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          |                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:19:14: error: 'environment' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
   |              |- error: 'environment' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
20 |             .onPreferenceChange(EffectTargetFramePreferenceKey.self) { store.targetMasks = $0 }
21 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/EffectCoordinator/EffectCoordinatorModifier.swift:20:14: error: 'onPreferenceChange(_:perform:)' is only available in macOS 10.15 or newer
11 | /// `.effectTarget()` views via `EffectTargetFramePreferenceKey` and distributes them
12 | /// to a descendant `.effectSource()` via the environment.
13 | struct EffectCoordinatorModifier: ViewModifier {
   |        `- note: add '@available' attribute to enclosing struct
14 |     /// The shared mask store owned by this coordinator and distributed to descendants via the environment.
15 |     @State private var store = MaskStore()
16 |
17 |     func body(content: Content) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
18 |         content
19 |             .environment(\.maskStore, store)
20 |             .onPreferenceChange(EffectTargetFramePreferenceKey.self) { store.targetMasks = $0 }
   |              |- error: 'onPreferenceChange(_:perform:)' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
21 |     }
22 | }
[40/51] Compiling Undertow View+rainbowNoiseEffect.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:16:57: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          |                                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:15:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
13 |     /// - Parameter time: Elapsed seconds since the effect's animation began.
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:17:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
19 |         )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:18:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
19 |         )
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:25:177: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          |                                                                                                                                                                      `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:24:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
22 |     ///     y-axis; only meaningful modulo 180°) — converted to radians for the shader.
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:26:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
27 |             ShaderLibrary.shimmerLibrary.shimmer(
28 |                 .float2(size),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:27:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
28 |                 .float2(size),
29 |                 .float(time),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:21:119: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          |                                                                                                            `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:20:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
18 |     ///   - frequency: How often ripples occur. 5–25 work best.
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:22:14: error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
   |              |- error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
23 |             ShaderLibrary.waterLibrary.water(
24 |                 .float2(size),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:23:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
24 |                 .float2(size),
25 |                 .float(time),
[41/51] Compiling Undertow View+shimmerEffect.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:16:57: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          |                                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:15:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
13 |     /// - Parameter time: Elapsed seconds since the effect's animation began.
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:17:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
19 |         )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:18:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
19 |         )
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:25:177: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          |                                                                                                                                                                      `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:24:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
22 |     ///     y-axis; only meaningful modulo 180°) — converted to radians for the shader.
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:26:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
27 |             ShaderLibrary.shimmerLibrary.shimmer(
28 |                 .float2(size),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:27:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
28 |                 .float2(size),
29 |                 .float(time),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:21:119: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          |                                                                                                            `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:20:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
18 |     ///   - frequency: How often ripples occur. 5–25 work best.
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:22:14: error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
   |              |- error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
23 |             ShaderLibrary.waterLibrary.water(
24 |                 .float2(size),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:23:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
24 |                 .float2(size),
25 |                 .float(time),
[42/51] Compiling Undertow View+waterEffect.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:16:57: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          |                                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:15:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
13 |     /// - Parameter time: Elapsed seconds since the effect's animation began.
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:17:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
19 |         )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+rainbowNoiseEffect.swift:18:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic multi-colored-noise effect to this view via `.colorEffect` (see
12 |     /// `RainbowNoise.metal`).
   :
14 |     /// - Returns: This view with the rainbow-noise effect applied.
15 |     @ViewBuilder
16 |     func rainbowNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.rainbowNoiseLibrary.rainbowNoise(.float(time))
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
19 |         )
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:25:177: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          |                                                                                                                                                                      `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:24:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
22 |     ///     y-axis; only meaningful modulo 180°) — converted to radians for the shader.
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:26:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
27 |             ShaderLibrary.shimmerLibrary.shimmer(
28 |                 .float2(size),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+shimmerEffect.swift:27:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the shimmering gradient-sweep effect to this view via `.colorEffect` (see
12 |     /// `Shimmer.metal`).
   :
23 |     /// - Returns: This view with the shimmer effect applied.
24 |     @ViewBuilder
25 |     func shimmerEffect(size: CGSize, time: TimeInterval, animationDuration: CGFloat, gradientWidth: CGFloat, maxLightness: CGFloat, direction: CGFloat, angle: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
26 |         self.colorEffect(
27 |             ShaderLibrary.shimmerLibrary.shimmer(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
28 |                 .float2(size),
29 |                 .float(time),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:21:119: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          |                                                                                                            `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:20:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
18 |     ///   - frequency: How often ripples occur. 5–25 work best.
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:22:14: error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
   |              |- error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
23 |             ShaderLibrary.waterLibrary.water(
24 |                 .float2(size),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waterEffect.swift:23:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the water-ripple distortion effect to this view via `.distortionEffect` (see
12 |     /// `Water.metal`).
   :
19 |     /// - Returns: This view with the water effect applied.
20 |     @ViewBuilder
21 |     func waterEffect(size: CGSize, time: TimeInterval, speed: CGFloat, strength: CGFloat, frequency: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waterLibrary.water(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
24 |                 .float2(size),
25 |                 .float(time),
[43/51] Compiling Undertow ShaderLibrary+waveLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:12:29: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
   |                |            `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Wave-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Wave-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:12:35: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
   |                |                  `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "WhiteNoise-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "WhiteNoise-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:18:52: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          |                                         `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:17:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
15 |     ///   to avoid clipping.
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:19:14: error: 'layerEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
   |              |- error: 'layerEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
21 |             maxSampleOffset: CGSize(width: offset.width * 2, height: offset.height * 2)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:20:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
21 |             maxSampleOffset: CGSize(width: offset.width * 2, height: offset.height * 2)
22 |         )
[44/51] Compiling Undertow ShaderLibrary+whiteNoiseLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:12:29: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
   |                |            `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Wave-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Wave-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:12:35: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
   |                |                  `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "WhiteNoise-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "WhiteNoise-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:18:52: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          |                                         `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:17:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
15 |     ///   to avoid clipping.
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:19:14: error: 'layerEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
   |              |- error: 'layerEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
21 |             maxSampleOffset: CGSize(width: offset.width * 2, height: offset.height * 2)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:20:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
21 |             maxSampleOffset: CGSize(width: offset.width * 2, height: offset.height * 2)
22 |         )
[45/51] Compiling Undertow View+colorPlanesEffect.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:12:29: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
   |                |            `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Wave-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Wave-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+waveLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the uniform wave-distortion effect.
12 |     static let waveLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:12:35: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
   |                |                  `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "WhiteNoise-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "WhiteNoise-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+whiteNoiseLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the dynamic grayscale-noise effect.
12 |     static let whiteNoiseLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:18:52: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          |                                         `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:17:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
15 |     ///   to avoid clipping.
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:19:14: error: 'layerEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
   |              |- error: 'layerEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
21 |             maxSampleOffset: CGSize(width: offset.width * 2, height: offset.height * 2)
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+colorPlanesEffect.swift:20:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the RGB-shift/glitch effect to this view via `.layerEffect` (see
12 |     /// `ColorPlanes.metal`.
   :
16 |     /// - Returns: This view with the color-planes effect applied.
17 |     @ViewBuilder
18 |     func colorPlanesEffect(offset: CGSize) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
19 |         self.layerEffect(
20 |             ShaderLibrary.colorPlanesLibrary.colorPlanes(.float2(Float(offset.width), Float(offset.height))),
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
21 |             maxSampleOffset: CGSize(width: offset.width * 2, height: offset.height * 2)
22 |         )
[46/51] Compiling Undertow ShaderLibrary+colorPlanesLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:12:36: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
   |                |                   `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "ColorPlanes-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "ColorPlanes-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:12:31: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
   |                |              `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Emboss-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Emboss-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:12:37: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
   |                |                    `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "GaussianBlur-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "GaussianBlur-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
[47/51] Compiling Undertow ShaderLibrary+embossLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:12:36: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
   |                |                   `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "ColorPlanes-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "ColorPlanes-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:12:31: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
   |                |              `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Emboss-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Emboss-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:12:37: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
   |                |                    `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "GaussianBlur-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "GaussianBlur-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
[48/51] Compiling Undertow ShaderLibrary+gaussianBlurLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:12:36: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
   |                |                   `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "ColorPlanes-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "ColorPlanes-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+colorPlanesLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the RGB-shift/glitch color-planes effect
12 |     static let colorPlanesLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:12:31: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
   |                |              `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Emboss-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "Emboss-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+embossLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the embossing/relief effect.
12 |     static let embossLibrary: ShaderLibrary = {
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:12:37: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
   |                |                    `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "GaussianBlur-iphonesimulator"
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:25:16: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
   |                `- note: add '@available' attribute to enclosing static property
13 | #if targetEnvironment(simulator)
14 |         let name = "GaussianBlur-iphonesimulator"
   :
23 |             fatalError("Undertow: missing Metal library '\(name).metallib' in bundle.")
24 |         }
25 |         return ShaderLibrary(url: url)
   |                |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |                `- note: add 'if #available' version check
26 |     }()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/ShaderLibrary+gaussianBlurLibrary.swift:10:11: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension ShaderLibrary {
   | |         `- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// The precompiled Metal shader library for the two-pass separable Gaussian blur effect.
12 |     static let gaussianBlurLibrary: ShaderLibrary = {
[49/51] Compiling Undertow View+waveEffect.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:21:104: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          |                                                                                             `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:20:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
18 |     ///   - strength: How pronounced the ripple effect is. Try starting with 5.
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:22:14: error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
   |              |- error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
23 |             ShaderLibrary.waveLibrary.wave(
24 |                 .float(time),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:23:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
24 |                 .float(time),
25 |                 .float(speed),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:16:55: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          |                                            `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:15:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
13 |     /// - Parameter time: Elapsed seconds since the effect's animation began.
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:17:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
19 |         )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:18:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
19 |         )
20 |     }
[50/51] Compiling Undertow View+whiteNoiseEffect.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:21:104: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          |                                                                                             `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:20:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
18 |     ///   - strength: How pronounced the ripple effect is. Try starting with 5.
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:22:14: error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
   |              |- error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
23 |             ShaderLibrary.waveLibrary.wave(
24 |                 .float(time),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:23:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
24 |                 .float(time),
25 |                 .float(speed),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:16:55: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          |                                            `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:15:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
13 |     /// - Parameter time: Elapsed seconds since the effect's animation began.
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:17:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
19 |         )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:18:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
19 |         )
20 |     }
[51/51] Compiling Undertow resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:21:104: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          |                                                                                             `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:20:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
18 |     ///   - strength: How pronounced the ripple effect is. Try starting with 5.
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:22:14: error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
   |              |- error: 'distortionEffect(_:maxSampleOffset:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
23 |             ShaderLibrary.waveLibrary.wave(
24 |                 .float(time),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+waveEffect.swift:23:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the uniform wave-distortion effect to this view via `.distortionEffect` (see
12 |     /// `Wave.metal`).
   :
19 |     /// - Returns: This view with the wave effect applied.
20 |     @ViewBuilder
21 |     func waveEffect(time: TimeInterval, speed: CGFloat, smoothing: CGFloat, strength: CGFloat) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
22 |         self.distortionEffect(
23 |             ShaderLibrary.waveLibrary.wave(
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
24 |                 .float(time),
25 |                 .float(speed),
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:16:55: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          |                                            `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:15:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
13 |     /// - Parameter time: Elapsed seconds since the effect's animation began.
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
   |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:10:11: error: 'View' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:17:14: error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
   |              |- error: 'colorEffect(_:isEnabled:)' is only available in macOS 14.0 or newer
   |              `- note: add 'if #available' version check
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
19 |         )
/Users/admin/builder/spi-builder-workspace/Sources/Undertow/Extensions/View+whiteNoiseEffect.swift:18:13: error: 'ShaderLibrary' is only available in macOS 14.0 or newer
 8 | import SwiftUI
 9 |
10 | extension View {
   | `- note: add '@available' attribute to enclosing extension
11 |     /// Applies the dynamic grayscale-noise effect to this view via `.colorEffect` (see
12 |     /// `WhiteNoise.metal`).
   :
14 |     /// - Returns: This view with the white-noise effect applied.
15 |     @ViewBuilder
16 |     func whiteNoiseEffect(time: TimeInterval) -> some View {
   |          `- note: add '@available' attribute to enclosing instance method
17 |         self.colorEffect(
18 |             ShaderLibrary.whiteNoiseLibrary.whiteNoise(.float(time))
   |             |- error: 'ShaderLibrary' is only available in macOS 14.0 or newer
   |             `- note: add 'if #available' version check
19 |         )
20 |     }
BUILD FAILURE 6.3 macosSpm