The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Prism, reference 0.2.0 (5004fe), with Swift 6.4 for macOS (Xcode) using Xcode 27.0 on 12 Oct 2026 18:36:33 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme Prism-Package -destination platform=macOS,arch=arm64

Build Log

2036 |     The value of this property is a BOOL indicating whether the receiver is currently enhancing images to improve quality due to low light conditions. When -isLowLightBoostEnabled returns YES, the receiver has switched into a special mode in which more light can be perceived in images. This property is key-value observable.
2037 |  */
2038 | @property(nonatomic, readonly, getter=isLowLightBoostEnabled) BOOL lowLightBoostEnabled API_AVAILABLE(ios(6.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                                    `- note: 'isLowLightBoostEnabled' has been explicitly marked unavailable here
2039 |
2040 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift:12:28: error: 'currentExposureDuration' is unavailable in macOS
10 |     func prm_setISO(_ iso: Float, completion: (@Sendable (CMTime) -> Void)? = nil) throws {
11 |         try prm_setCustomExposure(
12 |             duration: Self.currentExposureDuration,
   |                            `- error: 'currentExposureDuration' is unavailable in macOS
13 |             iso: iso,
14 |             completion: completion
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:62:25: note: 'currentExposureDuration' has been explicitly marked unavailable here
  60 | ///
  61 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to lock it to its current value. Note that the device may be adjusting exposure duration at the time of the call, in which case ``AVCaptureDevice/exposureDuration`` may be locked to different value than the value obtained by querying the property.
  62 | AVF_EXPORT const CMTime AVCaptureExposureDurationCurrent API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                         `- note: 'currentExposureDuration' has been explicitly marked unavailable here
  63 |
  64 | /// A special value that may be passed as the ISO parameter of a device's `setExposureModeCustom...` methods to lock at the current gain value.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift:27:23: error: 'currentISO' is unavailable in macOS
25 |         try prm_setCustomExposure(
26 |             duration: duration,
27 |             iso: Self.currentISO,
   |                       `- error: 'currentISO' is unavailable in macOS
28 |             completion: completion
29 |         )
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:67:24: note: 'currentISO' has been explicitly marked unavailable here
  65 | ///
  66 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to lock it to its current value. Note that the device may be adjusting ISO at the time of the call, in which case ``AVCaptureDevice/ISO`` may be locked to different value than the value obtained by querying the property.
  67 | AVF_EXPORT const float AVCaptureISOCurrent API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                        `- note: 'currentISO' has been explicitly marked unavailable here
  68 |
  69 | /// A special value that may be passed as the lensAperture parameter of a device's `setExposureModeCustom...` methods to allow the system's auto-exposure system to manage the aperture.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift:34:22: error: 'minISO' is unavailable in macOS
32 |     /// Supported ISO range for the active format.
33 |     func prm_isoRange() -> ClosedRange<Float> {
34 |         activeFormat.minISO ... activeFormat.maxISO
   |                      `- error: 'minISO' is unavailable in macOS
35 |     }
36 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3535:38: note: 'minISO' has been explicitly marked unavailable here
3533 |     This read-only property indicates the minimum supported exposure ISO value.
3534 |  */
3535 | @property(nonatomic, readonly) float minISO API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                      `- note: 'minISO' has been explicitly marked unavailable here
3536 |
3537 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift:34:46: error: 'maxISO' is unavailable in macOS
32 |     /// Supported ISO range for the active format.
33 |     func prm_isoRange() -> ClosedRange<Float> {
34 |         activeFormat.minISO ... activeFormat.maxISO
   |                                              `- error: 'maxISO' is unavailable in macOS
35 |     }
36 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3545:38: note: 'maxISO' has been explicitly marked unavailable here
3543 |     This read-only property indicates the maximum supported exposure ISO value.
3544 |  */
3545 | @property(nonatomic, readonly) float maxISO API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                      `- note: 'maxISO' has been explicitly marked unavailable here
3546 |
3547 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift:39:52: error: 'minExposureDuration' is unavailable in macOS
37 |     /// Supported shutter-speed range (in seconds) for the active format.
38 |     func prm_shutterSpeedRange() -> ClosedRange<Double> {
39 |         let minSec = CMTimeGetSeconds(activeFormat.minExposureDuration)
   |                                                    `- error: 'minExposureDuration' is unavailable in macOS
40 |         let maxSec = CMTimeGetSeconds(activeFormat.maxExposureDuration)
41 |         return minSec ... maxSec
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3503:39: note: 'minExposureDuration' has been explicitly marked unavailable here
3501 |     This read-only property indicates the minimum supported exposure duration.
3502 |  */
3503 | @property(nonatomic, readonly) CMTime minExposureDuration API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                       `- note: 'minExposureDuration' has been explicitly marked unavailable here
3504 |
3505 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift:40:52: error: 'maxExposureDuration' is unavailable in macOS
38 |     func prm_shutterSpeedRange() -> ClosedRange<Double> {
39 |         let minSec = CMTimeGetSeconds(activeFormat.minExposureDuration)
40 |         let maxSec = CMTimeGetSeconds(activeFormat.maxExposureDuration)
   |                                                    `- error: 'maxExposureDuration' is unavailable in macOS
41 |         return minSec ... maxSec
42 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3513:39: note: 'maxExposureDuration' has been explicitly marked unavailable here
3511 |     This read-only property indicates the maximum supported exposure duration.
3512 |  */
3513 | @property(nonatomic, readonly) CMTime maxExposureDuration API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                       `- note: 'maxExposureDuration' has been explicitly marked unavailable here
3514 |
3515 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Lens.swift:32:42: error: 'isLockingFocusWithCustomLensPositionSupported' is unavailable in macOS
30 |     /// `.builtInWideAngleCamera` (same pattern as manual exposure).
31 |     var prm_supportsCustomLensPosition: Bool {
32 |         isFocusModeSupported(.locked) && isLockingFocusWithCustomLensPositionSupported
   |                                          `- error: 'isLockingFocusWithCustomLensPositionSupported' is unavailable in macOS
33 |     }
34 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1208:91: note: 'isLockingFocusWithCustomLensPositionSupported' has been explicitly marked unavailable here
1206 |     If lockingFocusWithCustomLensPositionSupported returns NO, setFocusModeLockedWithLensPosition: may only be called with AVCaptureLensPositionCurrent. Passing any other lens position will result in an exception.
1207 |  */
1208 | @property(nonatomic, readonly, getter=isLockingFocusWithCustomLensPositionSupported) BOOL lockingFocusWithCustomLensPositionSupported API_AVAILABLE(ios(10.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                                                           `- note: 'isLockingFocusWithCustomLensPositionSupported' has been explicitly marked unavailable here
1209 |
1210 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Lens.swift:66:13: error: 'setFocusModeLocked(lensPosition:completionHandler:)' is unavailable in macOS
64 |         let clamped = position.isFinite ? min(max(position, 0.0), 1.0) : 0.5
65 |         try prm_withConfigurationLock {
66 |             setFocusModeLocked(lensPosition: clamped) { time in completion(time) }
   |             `- error: 'setFocusModeLocked(lensPosition:completionHandler:)' is unavailable in macOS
67 |         }
68 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1363:1: note: 'setFocusModeLocked(lensPosition:completionHandler:)' has been explicitly marked unavailable here
1361 | /// This is the only way of setting ``lensPosition``. This method throws an NSRangeException if ``lensPosition`` is set to an unsupported level. This method throws an NSGenericException if called without first obtaining exclusive access to the receiver using ``lockForConfiguration:``. Before setting custom lens position value, check ``lockingFocusWithCustomLensPositionSupported`` first.
1362 | /// For a virtual camera, locking to a custom lens position value is not supported if spatial video capture is enabled. When switching a virtual camera's ``activePrimaryConstituentDevice`` using ``setPrimaryConstituentDeviceSwitchingBehaviorLockedWithDevice:`` while focus mode is locked, the custom lens position is preserved across the constituent devices. However, the same lens position does not correspond to the same focus distance. If consistent focus behavior is required on a virtual camera (e.g. stereo depth data delivery is enabled), do not lock to a custom lens position.
1363 | - (void)setFocusModeLockedWithLensPosition:(float)lensPosition completionHandler:(nullable void (^)(CMTime syncTime))handler API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'setFocusModeLocked(lensPosition:completionHandler:)' has been explicitly marked unavailable here
1364 |
1365 | /*!
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Exposure.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Exposure.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+FocusTracking.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+FocusTracking.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+FrameRate.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+FrameRate.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+HDR.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+HDR.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+ISO.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Lens.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Lens.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Modes.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Modes.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+SmudgeDetection.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+SmudgeDetection.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Torch.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Torch.swift
SwiftCompile normal arm64 Compiling\ PRMPortraitBokehFilter.swift,\ PRMStylizeFilter.swift,\ PRMBasicFilterRenderer.swift,\ PRMBufferPoolAllocator.swift,\ PRMFilter.swift,\ PRMFilterChain.swift,\ PRMFilterPipeline.swift,\ PRMFilterRenderer.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMPortraitBokehFilter.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMStylizeFilter.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMBasicFilterRenderer.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMBufferPoolAllocator.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMFilter.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMFilterChain.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMFilterPipeline.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMFilterRenderer.swift (in target 'PrismCore' from project 'Prism')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMPortraitBokehFilter.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMPortraitBokehFilter.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMStylizeFilter.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMStylizeFilter.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMBasicFilterRenderer.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMBasicFilterRenderer.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMBufferPoolAllocator.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMBufferPoolAllocator.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMFilter.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMFilter.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMFilterChain.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMFilterChain.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMFilterPipeline.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMFilterPipeline.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMFilterRenderer.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMFilterRenderer.swift
SwiftCompile normal arm64 Compiling\ AVCaptureDevice+WhiteBalance.swift,\ AVCaptureDevice+Zoom.swift,\ AVCapturePhotoOutput+Readiness.swift,\ PRMExposureValue.swift,\ PRMLens.swift,\ PRMBlurFilter.swift,\ PRMColorFilter.swift,\ PRMDistortionFilter.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCapturePhotoOutput+Readiness.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMLens.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMBlurFilter.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMColorFilter.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMDistortionFilter.swift (in target 'PrismCore' from project 'Prism')
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:46:51: error: 'WhiteBalanceTemperatureAndTintValues' is unavailable in macOS
 44 |
 45 |         @available(iOS 26.0, *)
 46 |         private var systemValues: AVCaptureDevice.WhiteBalanceTemperatureAndTintValues? {
    |                                                   `- error: 'WhiteBalanceTemperatureAndTintValues' is unavailable in macOS
 47 |             switch self {
 48 |             case .tungsten: .tungsten
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1810:9: note: 'WhiteBalanceTemperatureAndTintValues' has been explicitly marked unavailable here
1808 |     Structure containing a white balance color correlated temperature in kelvin, plus a tint value in the range of [-150 - +150].
1809 |  */
1810 | typedef struct {
     |         `- note: 'WhiteBalanceTemperatureAndTintValues' has been explicitly marked unavailable here
1811 |     float temperature;
1812 |     float tint;
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:162:34: error: 'WhiteBalanceGains' is unavailable in macOS
160 |
161 |     private static func clampGains(
162 |         _ gains: AVCaptureDevice.WhiteBalanceGains,
    |                                  `- error: 'WhiteBalanceGains' is unavailable in macOS
163 |         for device: AVCaptureDevice
164 |     ) -> AVCaptureDevice.WhiteBalanceGains {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1787:9: note: 'WhiteBalanceGains' has been explicitly marked unavailable here
1785 |     Structure containing RGB white balance gain values.
1786 |  */
1787 | typedef struct {
     |         `- note: 'WhiteBalanceGains' has been explicitly marked unavailable here
1788 |     float redGain;
1789 |     float greenGain;
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:164:26: error: 'WhiteBalanceGains' is unavailable in macOS
162 |         _ gains: AVCaptureDevice.WhiteBalanceGains,
163 |         for device: AVCaptureDevice
164 |     ) -> AVCaptureDevice.WhiteBalanceGains {
    |                          `- error: 'WhiteBalanceGains' is unavailable in macOS
165 |         let maxGain = device.maxWhiteBalanceGain
166 |         return Self.WhiteBalanceGains(
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1787:9: note: 'WhiteBalanceGains' has been explicitly marked unavailable here
1785 |     Structure containing RGB white balance gain values.
1786 |  */
1787 | typedef struct {
     |         `- note: 'WhiteBalanceGains' has been explicitly marked unavailable here
1788 |     float redGain;
1789 |     float greenGain;
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:48:30: error: 'tungsten' is unavailable in macOS
 46 |         private var systemValues: AVCaptureDevice.WhiteBalanceTemperatureAndTintValues? {
 47 |             switch self {
 48 |             case .tungsten: .tungsten
    |                              `- error: 'tungsten' is unavailable in macOS
 49 |             case .fluorescent: .fluorescent
 50 |             case .daylight: .daylight
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1816:64: note: 'tungsten' has been explicitly marked unavailable here
1814 |
1815 | /// Temperature and tint values ideal for scenes illuminated with a tungsten light source.
1816 | AVF_EXPORT AVCaptureWhiteBalanceTemperatureAndTintValues const AVCaptureWhiteBalanceTemperatureAndTintValuesTungsten NS_SWIFT_NAME(AVCaptureWhiteBalanceTemperatureAndTintValues.tungsten) API_AVAILABLE(ios(26.0), macCatalyst(26.0), tvos(26.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                                                `- note: 'tungsten' has been explicitly marked unavailable here
1817 |
1818 | /// Temperature and tint values ideal for scenes illuminated with a fluorescent light source.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:49:33: error: 'fluorescent' is unavailable in macOS
 47 |             switch self {
 48 |             case .tungsten: .tungsten
 49 |             case .fluorescent: .fluorescent
    |                                 `- error: 'fluorescent' is unavailable in macOS
 50 |             case .daylight: .daylight
 51 |             case .cloudy: .cloudy
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1819:64: note: 'fluorescent' has been explicitly marked unavailable here
1817 |
1818 | /// Temperature and tint values ideal for scenes illuminated with a fluorescent light source.
1819 | AVF_EXPORT AVCaptureWhiteBalanceTemperatureAndTintValues const AVCaptureWhiteBalanceTemperatureAndTintValuesFluorescent NS_SWIFT_NAME(AVCaptureWhiteBalanceTemperatureAndTintValues.fluorescent) API_AVAILABLE(ios(26.0), macCatalyst(26.0), tvos(26.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                                                `- note: 'fluorescent' has been explicitly marked unavailable here
1820 |
1821 | /// Temperature and tint values ideal for scenes illuminated with natural daylight.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:50:30: error: 'daylight' is unavailable in macOS
 48 |             case .tungsten: .tungsten
 49 |             case .fluorescent: .fluorescent
 50 |             case .daylight: .daylight
    |                              `- error: 'daylight' is unavailable in macOS
 51 |             case .cloudy: .cloudy
 52 |             case .shade: .shadow
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1822:64: note: 'daylight' has been explicitly marked unavailable here
1820 |
1821 | /// Temperature and tint values ideal for scenes illuminated with natural daylight.
1822 | AVF_EXPORT AVCaptureWhiteBalanceTemperatureAndTintValues const AVCaptureWhiteBalanceTemperatureAndTintValuesDaylight NS_SWIFT_NAME(AVCaptureWhiteBalanceTemperatureAndTintValues.daylight) API_AVAILABLE(ios(26.0), macCatalyst(26.0), tvos(26.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                                                `- note: 'daylight' has been explicitly marked unavailable here
1823 |
1824 | /// Temperature and tint values ideal for scenes illuminated with natural cloudy daylight.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:51:28: error: 'cloudy' is unavailable in macOS
 49 |             case .fluorescent: .fluorescent
 50 |             case .daylight: .daylight
 51 |             case .cloudy: .cloudy
    |                            `- error: 'cloudy' is unavailable in macOS
 52 |             case .shade: .shadow
 53 |             case .flash: nil
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1825:64: note: 'cloudy' has been explicitly marked unavailable here
1823 |
1824 | /// Temperature and tint values ideal for scenes illuminated with natural cloudy daylight.
1825 | AVF_EXPORT AVCaptureWhiteBalanceTemperatureAndTintValues const AVCaptureWhiteBalanceTemperatureAndTintValuesCloudy NS_SWIFT_NAME(AVCaptureWhiteBalanceTemperatureAndTintValues.cloudy) API_AVAILABLE(ios(26.0), macCatalyst(26.0), tvos(26.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                                                `- note: 'cloudy' has been explicitly marked unavailable here
1826 |
1827 | /// Temperature and tint values ideal for scenes illuminated with daylight but in heavy shade.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:52:27: error: 'shadow' is unavailable in macOS
 50 |             case .daylight: .daylight
 51 |             case .cloudy: .cloudy
 52 |             case .shade: .shadow
    |                           `- error: 'shadow' is unavailable in macOS
 53 |             case .flash: nil
 54 |             }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1828:64: note: 'shadow' has been explicitly marked unavailable here
1826 |
1827 | /// Temperature and tint values ideal for scenes illuminated with daylight but in heavy shade.
1828 | AVF_EXPORT AVCaptureWhiteBalanceTemperatureAndTintValues const AVCaptureWhiteBalanceTemperatureAndTintValuesShadow NS_SWIFT_NAME(AVCaptureWhiteBalanceTemperatureAndTintValues.shadow) API_AVAILABLE(ios(26.0), macCatalyst(26.0), tvos(26.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                                                `- note: 'shadow' has been explicitly marked unavailable here
1829 |
1830 | API_AVAILABLE(macos(10.7), ios(4.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos)
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:103:15: error: 'isLockingWhiteBalanceWithCustomDeviceGainsSupported' is unavailable in macOS
101 |     ) throws {
102 |         guard isWhiteBalanceModeSupported(.locked),
103 |               isLockingWhiteBalanceWithCustomDeviceGainsSupported
    |               `- error: 'isLockingWhiteBalanceWithCustomDeviceGainsSupported' is unavailable in macOS
104 |         else {
105 |             throw PRMSessionError.unsupportedConfiguration("\(localizedName) can't lock white balance to custom gains")
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1856:97: note: 'isLockingWhiteBalanceWithCustomDeviceGainsSupported' has been explicitly marked unavailable here
1854 |     If lockingWhiteBalanceWithCustomDeviceGainsSupported returns NO, setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains: may only be called with AVCaptureWhiteBalanceGainsCurrent. Passing any other white balance gains will result in an exception.
1855 |  */
1856 | @property(nonatomic, readonly, getter=isLockingWhiteBalanceWithCustomDeviceGainsSupported) BOOL lockingWhiteBalanceWithCustomDeviceGainsSupported API_AVAILABLE(ios(10.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                                                                 `- note: 'isLockingWhiteBalanceWithCustomDeviceGainsSupported' has been explicitly marked unavailable here
1857 |
1858 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:111:27: error: 'WhiteBalanceTemperatureAndTintValues' is unavailable in macOS
109 |         }
110 |
111 |         let avTemp = Self.WhiteBalanceTemperatureAndTintValues(
    |                           `- error: 'WhiteBalanceTemperatureAndTintValues' is unavailable in macOS
112 |             temperature: values.temperature,
113 |             tint: values.tint
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1810:9: note: 'WhiteBalanceTemperatureAndTintValues' has been explicitly marked unavailable here
1808 |     Structure containing a white balance color correlated temperature in kelvin, plus a tint value in the range of [-150 - +150].
1809 |  */
1810 | typedef struct {
     |         `- note: 'WhiteBalanceTemperatureAndTintValues' has been explicitly marked unavailable here
1811 |     float temperature;
1812 |     float tint;
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:115:21: error: 'deviceWhiteBalanceGains(for:)' is unavailable in macOS
113 |             tint: values.tint
114 |         )
115 |         let gains = deviceWhiteBalanceGains(for: avTemp)
    |                     `- error: 'deviceWhiteBalanceGains(for:)' is unavailable in macOS
116 |         let clampedGains = Self.clampGains(gains, for: self)
117 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1996:1: note: 'deviceWhiteBalanceGains(for:)' has been explicitly marked unavailable here
1994 |     This method may be called on the receiver to convert device-independent temperature and tint values to device-specific RGB white balance gain values. You may pass any temperature and tint values and corresponding white balance gains will be produced. Note though that some temperature and tint combinations yield out-of-range device RGB values that will cause an exception to be thrown if passed directly to -setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler:. Be sure to check that red, green, and blue gain values are within the range of [1.0 - maxWhiteBalanceGain].
1995 |  */
1996 | - (AVCaptureWhiteBalanceGains)deviceWhiteBalanceGainsForTemperatureAndTintValues:(AVCaptureWhiteBalanceTemperatureAndTintValues)tempAndTintValues API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'deviceWhiteBalanceGains(for:)' has been explicitly marked unavailable here
1997 |
1998 | @end
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:119:13: error: 'setWhiteBalanceModeLocked(with:completionHandler:)' is unavailable in macOS
117 |
118 |         try prm_withConfigurationLock {
119 |             setWhiteBalanceModeLocked(with: clampedGains) { time in completion?(time) }
    |             `- error: 'setWhiteBalanceModeLocked(with:completionHandler:)' is unavailable in macOS
120 |         }
121 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1936:1: note: 'setWhiteBalanceModeLocked(with:completionHandler:)' has been explicitly marked unavailable here
1934 |     Gain values are normalized to the minimum channel value to avoid brightness changes (e.g. R:2 G:2 B:4 will be normalized to R:1 G:1 B:2). For each channel in the whiteBalanceGains struct, only values between 1.0 and maxWhiteBalanceGain after nomalization are supported.  This method throws an NSRangeException if any of the whiteBalanceGains are set to an unsupported level. This method throws an NSGenericException if called without first obtaining exclusive access to the receiver using lockForConfiguration:.
1935 |  */
1936 | - (void)setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:(AVCaptureWhiteBalanceGains)whiteBalanceGains completionHandler:(nullable void (^)(CMTime syncTime))handler API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'setWhiteBalanceModeLocked(with:completionHandler:)' has been explicitly marked unavailable here
1937 |
1938 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:154:37: error: 'deviceWhiteBalanceGains' is unavailable in macOS
152 |     /// Returns the current temperature and tint values.
153 |     func prm_currentTemperatureAndTint() -> PRMTemperatureAndTint {
154 |         let gains = Self.clampGains(deviceWhiteBalanceGains, for: self)
    |                                     `- error: 'deviceWhiteBalanceGains' is unavailable in macOS
155 |         let values = temperatureAndTintValues(for: gains)
156 |         return PRMTemperatureAndTint(temperature: values.temperature, tint: values.tint)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1886:59: note: 'deviceWhiteBalanceGains' has been explicitly marked unavailable here
1884 |     This property specifies the current red, green, and blue gain values used for white balance. The values can be used to adjust color casts for a given scene. For each channel, only values between 1.0 and -maxWhiteBalanceGain are supported. This property is key-value observable. It can be read at any time, regardless of white balance mode, but can only be set via setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler:.
1885 |  */
1886 | @property(nonatomic, readonly) AVCaptureWhiteBalanceGains deviceWhiteBalanceGains API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                           `- note: 'deviceWhiteBalanceGains' has been explicitly marked unavailable here
1887 |
1888 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:155:22: error: 'temperatureAndTintValues(for:)' is unavailable in macOS
153 |     func prm_currentTemperatureAndTint() -> PRMTemperatureAndTint {
154 |         let gains = Self.clampGains(deviceWhiteBalanceGains, for: self)
155 |         let values = temperatureAndTintValues(for: gains)
    |                      `- error: 'temperatureAndTintValues(for:)' is unavailable in macOS
156 |         return PRMTemperatureAndTint(temperature: values.temperature, tint: values.tint)
157 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1981:1: note: 'temperatureAndTintValues(for:)' has been explicitly marked unavailable here
1979 |     This method may be called on the receiver to convert device-specific white balance RGB gain values to device-independent temperature (in kelvin) and tint values. For each channel in the whiteBalanceGains struct, only values between 1.0 and -maxWhiteBalanceGain are supported. This method throws an NSRangeException if any of the whiteBalanceGains are set to unsupported values.
1980 |  */
1981 | - (AVCaptureWhiteBalanceTemperatureAndTintValues)temperatureAndTintValuesForDeviceWhiteBalanceGains:(AVCaptureWhiteBalanceGains)whiteBalanceGains API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'temperatureAndTintValues(for:)' has been explicitly marked unavailable here
1982 |
1983 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:165:30: error: 'maxWhiteBalanceGain' is unavailable in macOS
163 |         for device: AVCaptureDevice
164 |     ) -> AVCaptureDevice.WhiteBalanceGains {
165 |         let maxGain = device.maxWhiteBalanceGain
    |                              `- error: 'maxWhiteBalanceGain' is unavailable in macOS
166 |         return Self.WhiteBalanceGains(
167 |             redGain: min(max(gains.redGain, 1.0), maxGain),
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1906:38: note: 'maxWhiteBalanceGain' has been explicitly marked unavailable here
1904 |     This property does not change for the life of the receiver.
1905 |  */
1906 | @property(nonatomic, readonly) float maxWhiteBalanceGain API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                      `- note: 'maxWhiteBalanceGain' has been explicitly marked unavailable here
1907 |
1908 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift:166:21: error: 'WhiteBalanceGains' is unavailable in macOS
164 |     ) -> AVCaptureDevice.WhiteBalanceGains {
165 |         let maxGain = device.maxWhiteBalanceGain
166 |         return Self.WhiteBalanceGains(
    |                     `- error: 'WhiteBalanceGains' is unavailable in macOS
167 |             redGain: min(max(gains.redGain, 1.0), maxGain),
168 |             greenGain: min(max(gains.greenGain, 1.0), maxGain),
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1787:9: note: 'WhiteBalanceGains' has been explicitly marked unavailable here
1785 |     Structure containing RGB white balance gain values.
1786 |  */
1787 | typedef struct {
     |         `- note: 'WhiteBalanceGains' has been explicitly marked unavailable here
1788 |     float redGain;
1789 |     float greenGain;
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:16:13: error: 'videoZoomFactor' is unavailable in macOS
 14 |         let clamped = try prm_clampedZoomFactor(factor)
 15 |         try prm_withConfigurationLock {
 16 |             videoZoomFactor = clamped
    |             `- error: 'videoZoomFactor' is unavailable in macOS
 17 |         }
 18 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2068:30: note: 'videoZoomFactor' has been explicitly marked unavailable here
2066 |  @seealso -[AVCaptureDeviceFormat videoMaxZoomFactor], -[AVCaptureDeviceFormat videoZoomFactorUpscaleThreshold], -[AVCaptureDevice minAvailableVideoZoomFactor], -[AVCaptureDevice maxAvailableVideoZoomFactor],  -[AVCaptureDeviceFormat supportedVideoZoomFactorsForDepthDataDelivery], -[AVCaptureDeviceFormat videoMinZoomFactorForCenterStage] and -[AVCaptureDeviceFormat videoMaxZoomFactorForCenterStage]
2067 |  */
2068 | @property(nonatomic) CGFloat videoZoomFactor API_AVAILABLE(ios(7.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                              `- note: 'videoZoomFactor' has been explicitly marked unavailable here
2069 |
2070 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:33:13: error: 'ramp(toVideoZoomFactor:withRate:)' is unavailable in macOS
 31 |         }
 32 |         try prm_withConfigurationLock {
 33 |             ramp(toVideoZoomFactor: clamped, withRate: rate)
    |             `- error: 'ramp(toVideoZoomFactor:withRate:)' is unavailable in macOS
 34 |         }
 35 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2086:1: note: 'ramp(toVideoZoomFactor:withRate:)' has been explicitly marked unavailable here
2084 |     -rampToVideoZoomFactor:withRate: throws an NSGenericException if called without first obtaining exclusive access to the receiver using lockForConfiguration:.
2085 |  */
2086 | - (void)rampToVideoZoomFactor:(CGFloat)factor withRate:(float)rate API_AVAILABLE(ios(7.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'ramp(toVideoZoomFactor:withRate:)' has been explicitly marked unavailable here
2087 |
2088 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:40:13: error: 'cancelVideoZoomRamp()' is unavailable in macOS
 38 |     func prm_cancelZoomRamp() throws {
 39 |         try prm_withConfigurationLock {
 40 |             cancelVideoZoomRamp()
    |             `- error: 'cancelVideoZoomRamp()' is unavailable in macOS
 41 |         }
 42 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2108:1: note: 'cancelVideoZoomRamp()' has been explicitly marked unavailable here
2106 |     -cancelVideoZoomRamp: throws an NSGenericException if called without first obtaining exclusive access to the receiver using lockForConfiguration:.
2107 |  */
2108 | - (void)cancelVideoZoomRamp API_AVAILABLE(ios(7.0), macCatalyst(14.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'cancelVideoZoomRamp()' has been explicitly marked unavailable here
2109 |
2110 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:64:27: error: 'virtualDeviceSwitchOverVideoZoomFactors' is unavailable in macOS
 62 |     /// after a virtual → wide swap for manual exposure mode).
 63 |     func prm_lenses() -> [PRMLens] {
 64 |         let switchOvers = virtualDeviceSwitchOverVideoZoomFactors.map { CGFloat($0.doubleValue) }
    |                           `- error: 'virtualDeviceSwitchOverVideoZoomFactors' is unavailable in macOS
 65 |         guard !switchOvers.isEmpty else {
 66 |             let factor = minAvailableVideoZoomFactor
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:852:53: note: 'virtualDeviceSwitchOverVideoZoomFactors' has been explicitly marked unavailable here
 850 |     This array contains zoom factors at which one of the constituent device's field of view matches the next constituent device's full field of view. The number of switch over video zoom factors is always one less than the count of the constituentDevices property, and the factors progress in the same order as the devices listed in that property. On non-virtual devices this property returns an empty array.
 851 |  */
 852 | @property(nonatomic, readonly) NSArray<NSNumber *> *virtualDeviceSwitchOverVideoZoomFactors API_AVAILABLE(ios(13.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                                     `- note: 'virtualDeviceSwitchOverVideoZoomFactors' has been explicitly marked unavailable here
 853 |
 854 | /// Whether locking to a particular primary constituent device is supported.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:66:26: error: 'minAvailableVideoZoomFactor' is unavailable in macOS
 64 |         let switchOvers = virtualDeviceSwitchOverVideoZoomFactors.map { CGFloat($0.doubleValue) }
 65 |         guard !switchOvers.isEmpty else {
 66 |             let factor = minAvailableVideoZoomFactor
    |                          `- error: 'minAvailableVideoZoomFactor' is unavailable in macOS
 67 |             let nominal = Self.prm_nominalFocalLength(
 68 |                 atZoomFactor: factor,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2380:40: note: 'minAvailableVideoZoomFactor' has been explicitly marked unavailable here
2378 |     Setting the videoZoomFactor to a value greater than or equal to 1.0, but lower than minAvailableVideoZoomFactor results in the value being clamped to the minAvailableVideoZoomFactor. Clients can key value observe the value of this property.
2379 |  */
2380 | @property(nonatomic, readonly) CGFloat minAvailableVideoZoomFactor API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                        `- note: 'minAvailableVideoZoomFactor' has been explicitly marked unavailable here
2381 |
2382 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:83:38: error: 'minAvailableVideoZoomFactor' is unavailable in macOS
 81 |         }
 82 |
 83 |         var factors: Set<CGFloat> = [minAvailableVideoZoomFactor]
    |                                      `- error: 'minAvailableVideoZoomFactor' is unavailable in macOS
 84 |         for value in switchOvers {
 85 |             factors.insert(value)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2380:40: note: 'minAvailableVideoZoomFactor' has been explicitly marked unavailable here
2378 |     Setting the videoZoomFactor to a value greater than or equal to 1.0, but lower than minAvailableVideoZoomFactor results in the value being clamped to the minAvailableVideoZoomFactor. Clients can key value observe the value of this property.
2379 |  */
2380 | @property(nonatomic, readonly) CGFloat minAvailableVideoZoomFactor API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                        `- note: 'minAvailableVideoZoomFactor' has been explicitly marked unavailable here
2381 |
2382 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:92:40: error: 'secondaryNativeResolutionZoomFactors' is only available in macOS 13.0 or newer
  4 | private let sensorWidth35mm: Double = 36.0
  5 |
  6 | public extension AVCaptureDevice {
    |        `- note: add '@available' attribute to enclosing extension
  7 |     // MARK: - Set Zoom
  8 |
    :
 61 |     /// Studio telemetry strip) render `0mm` whenever the active device is physical (e.g.
 62 |     /// after a virtual → wide swap for manual exposure mode).
 63 |     func prm_lenses() -> [PRMLens] {
    |          `- note: add '@available' attribute to enclosing instance method
 64 |         let switchOvers = virtualDeviceSwitchOverVideoZoomFactors.map { CGFloat($0.doubleValue) }
 65 |         guard !switchOvers.isEmpty else {
    :
 90 |         // lines up with the 3× telephoto's FOV. Some formats (low-resolution video,
 91 |         // older devices) return an empty array — we just skip the extra chips then.
 92 |         let nativeCrops = activeFormat.secondaryNativeResolutionZoomFactors
    |                                        |- error: 'secondaryNativeResolutionZoomFactors' is only available in macOS 13.0 or newer
    |                                        `- note: add 'if #available' version check
 93 |         for value in nativeCrops {
 94 |             factors.insert(value)
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:98:23: error: 'displayVideoZoomFactorMultiplier' is only available in macOS 14.0 or newer
  4 | private let sensorWidth35mm: Double = 36.0
  5 |
  6 | public extension AVCaptureDevice {
    |        `- note: add '@available' attribute to enclosing extension
  7 |     // MARK: - Set Zoom
  8 |
    :
 61 |     /// Studio telemetry strip) render `0mm` whenever the active device is physical (e.g.
 62 |     /// after a virtual → wide swap for manual exposure mode).
 63 |     func prm_lenses() -> [PRMLens] {
    |          `- note: add '@available' attribute to enclosing instance method
 64 |         let switchOvers = virtualDeviceSwitchOverVideoZoomFactors.map { CGFloat($0.doubleValue) }
 65 |         guard !switchOvers.isEmpty else {
    :
 96 |         let sorted = factors.sorted()
 97 |         let displayMultiplier = Self.prm_displayZoomMultiplier(
 98 |             reported: displayVideoZoomFactorMultiplier,
    |                       |- error: 'displayVideoZoomFactorMultiplier' is only available in macOS 14.0 or newer
    |                       `- note: add 'if #available' version check
 99 |             firstSwitchOver: switchOvers[0]
100 |         )
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:109:33: error: 'minAvailableVideoZoomFactor' is unavailable in macOS
107 |         // factor→deviceType lookup so native-crop factors mixed into `sorted` don't
108 |         // shift the indices and end up labeled with the wrong physical lens.
109 |         let physicalFactors = ([minAvailableVideoZoomFactor] + switchOvers).sorted()
    |                                 `- error: 'minAvailableVideoZoomFactor' is unavailable in macOS
110 |         let constituents = constituentDevices
111 |             .sorted { lhs, rhs in
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2380:40: note: 'minAvailableVideoZoomFactor' has been explicitly marked unavailable here
2378 |     Setting the videoZoomFactor to a value greater than or equal to 1.0, but lower than minAvailableVideoZoomFactor results in the value being clamped to the minAvailableVideoZoomFactor. Clients can key value observe the value of this property.
2379 |  */
2380 | @property(nonatomic, readonly) CGFloat minAvailableVideoZoomFactor API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                        `- note: 'minAvailableVideoZoomFactor' has been explicitly marked unavailable here
2381 |
2382 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:110:28: error: 'constituentDevices' is unavailable in macOS
108 |         // shift the indices and end up labeled with the wrong physical lens.
109 |         let physicalFactors = ([minAvailableVideoZoomFactor] + switchOvers).sorted()
110 |         let constituents = constituentDevices
    |                            `- error: 'constituentDevices' is unavailable in macOS
111 |             .sorted { lhs, rhs in
112 |                 deviceTypeRank(lhs.deviceType) < deviceTypeRank(rhs.deviceType)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:842:60: note: 'constituentDevices' has been explicitly marked unavailable here
 840 |     When called on a device for which virtualDevice == NO, an empty array is returned.
 841 |  */
 842 | @property(nonatomic, readonly) NSArray<AVCaptureDevice *> *constituentDevices API_AVAILABLE(ios(13.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                                            `- note: 'constituentDevices' has been explicitly marked unavailable here
 843 |
 844 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:140:23: error: 'nominalFocalLengthIn35mmFilm' is unavailable in macOS
138 |     var prm_nominalFocalLength35mm: Double {
139 |         guard #available(iOS 26.0, *) else { return 0 }
140 |         return Double(nominalFocalLengthIn35mmFilm)
    |                       `- error: 'nominalFocalLengthIn35mmFilm' is unavailable in macOS
141 |     }
142 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2963:38: note: 'nominalFocalLengthIn35mmFilm' has been explicitly marked unavailable here
2961 | ///
2962 | /// This property value is `0` for virtual devices and external cameras.
2963 | @property(nonatomic, readonly) float nominalFocalLengthIn35mmFilm API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'nominalFocalLengthIn35mmFilm' has been explicitly marked unavailable here
2964 | @end
2965 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:158:40: error: 'isPrimaryConstituentDeviceSwitchingBehaviorLockedWithDeviceSupported' is only available in macOS 27.0 or newer
  4 | private let sensorWidth35mm: Double = 36.0
  5 |
  6 | public extension AVCaptureDevice {
    |        `- note: add '@available' attribute to enclosing extension
  7 |     // MARK: - Set Zoom
  8 |
    :
155 |     /// - Throws: ``PRMSessionError/unsupportedConfiguration(_:)`` before iOS 27, when the
156 |     ///   device doesn't support locking, or when it has no constituent of `type`.
157 |     func prm_lockPrimaryConstituent(to type: AVCaptureDevice.DeviceType?) throws {
    |          `- note: add '@available' attribute to enclosing instance method
158 |         guard #available(iOS 27.0, *), isPrimaryConstituentDeviceSwitchingBehaviorLockedWithDeviceSupported else {
    |                                        |- error: 'isPrimaryConstituentDeviceSwitchingBehaviorLockedWithDeviceSupported' is only available in macOS 27.0 or newer
    |                                        `- note: add 'if #available' version check
159 |             throw PRMSessionError.unsupportedConfiguration("Locking to one lens requires iOS 27 and a virtual camera that supports it")
160 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:167:33: error: 'constituentDevices' is unavailable in macOS
165 |             return
166 |         }
167 |         guard let constituent = constituentDevices.first(where: { $0.deviceType == type }) else {
    |                                 `- error: 'constituentDevices' is unavailable in macOS
168 |             throw PRMSessionError.unsupportedConfiguration("No \(type.rawValue) lens on \(localizedName)")
169 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:842:60: note: 'constituentDevices' has been explicitly marked unavailable here
 840 |     When called on a device for which virtualDevice == NO, an empty array is returned.
 841 |  */
 842 | @property(nonatomic, readonly) NSArray<AVCaptureDevice *> *constituentDevices API_AVAILABLE(ios(13.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                                            `- note: 'constituentDevices' has been explicitly marked unavailable here
 843 |
 844 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:171:13: error: 'setPrimaryConstituentDeviceSwitchingBehaviorLockedWith' is only available in macOS 27.0 or newer
  4 | private let sensorWidth35mm: Double = 36.0
  5 |
  6 | public extension AVCaptureDevice {
    |        `- note: add '@available' attribute to enclosing extension
  7 |     // MARK: - Set Zoom
  8 |
    :
155 |     /// - Throws: ``PRMSessionError/unsupportedConfiguration(_:)`` before iOS 27, when the
156 |     ///   device doesn't support locking, or when it has no constituent of `type`.
157 |     func prm_lockPrimaryConstituent(to type: AVCaptureDevice.DeviceType?) throws {
    |          `- note: add '@available' attribute to enclosing instance method
158 |         guard #available(iOS 27.0, *), isPrimaryConstituentDeviceSwitchingBehaviorLockedWithDeviceSupported else {
159 |             throw PRMSessionError.unsupportedConfiguration("Locking to one lens requires iOS 27 and a virtual camera that supports it")
    :
169 |         }
170 |         try prm_withConfigurationLock {
171 |             setPrimaryConstituentDeviceSwitchingBehaviorLockedWith(constituent)
    |             |- error: 'setPrimaryConstituentDeviceSwitchingBehaviorLockedWith' is only available in macOS 27.0 or newer
    |             `- note: add 'if #available' version check
172 |         }
173 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:180:15: error: 'builtInUltraWideCamera' is unavailable in macOS
178 |     private func deviceTypeRank(_ type: AVCaptureDevice.DeviceType) -> Int {
179 |         switch type {
180 |         case .builtInUltraWideCamera: 0
    |               `- error: 'builtInUltraWideCamera' is unavailable in macOS
181 |         case .builtInWideAngleCamera: 1
182 |         case .builtInTelephotoCamera: 2
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:574:38: note: 'builtInUltraWideCamera' has been explicitly marked unavailable here
 572 |     A built-in camera device with a shorter focal length than a wide angle camera. Note that devices of this type may only be discovered using an AVCaptureDeviceDiscoverySession.
 573 |  */
 574 | AVF_EXPORT AVCaptureDeviceType const AVCaptureDeviceTypeBuiltInUltraWideCamera API_AVAILABLE(ios(13.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'builtInUltraWideCamera' has been explicitly marked unavailable here
 575 |
 576 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:182:15: error: 'builtInTelephotoCamera' is unavailable in macOS
180 |         case .builtInUltraWideCamera: 0
181 |         case .builtInWideAngleCamera: 1
182 |         case .builtInTelephotoCamera: 2
    |               `- error: 'builtInTelephotoCamera' is unavailable in macOS
183 |         default: 99
184 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:568:38: note: 'builtInTelephotoCamera' has been explicitly marked unavailable here
 566 |     A built-in camera device with a longer focal length than a wide angle camera. Note that devices of this type may only be discovered using an AVCaptureDeviceDiscoverySession.
 567 |  */
 568 | AVF_EXPORT AVCaptureDeviceType const AVCaptureDeviceTypeBuiltInTelephotoCamera API_AVAILABLE(ios(10.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'builtInTelephotoCamera' has been explicitly marked unavailable here
 569 |
 570 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:180:15: error: 'builtInUltraWideCamera' is unavailable in macOS
178 |     private func deviceTypeRank(_ type: AVCaptureDevice.DeviceType) -> Int {
179 |         switch type {
180 |         case .builtInUltraWideCamera: 0
    |               `- error: 'builtInUltraWideCamera' is unavailable in macOS
181 |         case .builtInWideAngleCamera: 1
182 |         case .builtInTelephotoCamera: 2
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:574:38: note: 'builtInUltraWideCamera' has been explicitly marked unavailable here
 572 |     A built-in camera device with a shorter focal length than a wide angle camera. Note that devices of this type may only be discovered using an AVCaptureDeviceDiscoverySession.
 573 |  */
 574 | AVF_EXPORT AVCaptureDeviceType const AVCaptureDeviceTypeBuiltInUltraWideCamera API_AVAILABLE(ios(13.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'builtInUltraWideCamera' has been explicitly marked unavailable here
 575 |
 576 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:182:15: error: 'builtInTelephotoCamera' is unavailable in macOS
180 |         case .builtInUltraWideCamera: 0
181 |         case .builtInWideAngleCamera: 1
182 |         case .builtInTelephotoCamera: 2
    |               `- error: 'builtInTelephotoCamera' is unavailable in macOS
183 |         default: 99
184 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:568:38: note: 'builtInTelephotoCamera' has been explicitly marked unavailable here
 566 |     A built-in camera device with a longer focal length than a wide angle camera. Note that devices of this type may only be discovered using an AVCaptureDeviceDiscoverySession.
 567 |  */
 568 | AVF_EXPORT AVCaptureDeviceType const AVCaptureDeviceTypeBuiltInTelephotoCamera API_AVAILABLE(ios(10.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'builtInTelephotoCamera' has been explicitly marked unavailable here
 569 |
 570 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:192:46: error: 'videoFieldOfView' is unavailable in macOS
190 |     /// `focal_35mm = 36mm / (2 × tan(FOV/2)) × zoomFactor`
191 |     func prm_focalLength35mm(atZoomFactor zoomFactor: CGFloat? = nil) -> Double {
192 |         let fovDegrees = Double(activeFormat.videoFieldOfView)
    |                                              `- error: 'videoFieldOfView' is unavailable in macOS
193 |         guard fovDegrees > 0 else { return 0 }
194 |         let fovRadians = fovDegrees * .pi / 180.0
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3397:38: note: 'videoFieldOfView' has been explicitly marked unavailable here
3395 |     videoFieldOfView is a float value indicating the receiver's field of view in degrees. If field of view is unknown, a value of 0 is returned.
3396 |  */
3397 | @property(nonatomic, readonly) float videoFieldOfView API_UNAVAILABLE(macos, visionos);
     |                                      `- note: 'videoFieldOfView' has been explicitly marked unavailable here
3398 |
3399 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:196:41: error: 'videoZoomFactor' is unavailable in macOS
194 |         let fovRadians = fovDegrees * .pi / 180.0
195 |         let baseFocal = sensorWidth35mm / (2.0 * tan(fovRadians / 2.0))
196 |         let zoom = Double(zoomFactor ?? videoZoomFactor)
    |                                         `- error: 'videoZoomFactor' is unavailable in macOS
197 |         return baseFocal * zoom
198 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2068:30: note: 'videoZoomFactor' has been explicitly marked unavailable here
2066 |  @seealso -[AVCaptureDeviceFormat videoMaxZoomFactor], -[AVCaptureDeviceFormat videoZoomFactorUpscaleThreshold], -[AVCaptureDevice minAvailableVideoZoomFactor], -[AVCaptureDevice maxAvailableVideoZoomFactor],  -[AVCaptureDeviceFormat supportedVideoZoomFactorsForDepthDataDelivery], -[AVCaptureDeviceFormat videoMinZoomFactorForCenterStage] and -[AVCaptureDeviceFormat videoMaxZoomFactorForCenterStage]
2067 |  */
2068 | @property(nonatomic) CGFloat videoZoomFactor API_AVAILABLE(ios(7.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                              `- note: 'videoZoomFactor' has been explicitly marked unavailable here
2069 |
2070 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:234:32: error: 'minAvailableVideoZoomFactor' is unavailable in macOS
232 |             throw PRMSessionError.unsupportedConfiguration("Zoom factor must be a finite number")
233 |         }
234 |         return min(max(factor, minAvailableVideoZoomFactor), maxAvailableVideoZoomFactor)
    |                                `- error: 'minAvailableVideoZoomFactor' is unavailable in macOS
235 |     }
236 | }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2380:40: note: 'minAvailableVideoZoomFactor' has been explicitly marked unavailable here
2378 |     Setting the videoZoomFactor to a value greater than or equal to 1.0, but lower than minAvailableVideoZoomFactor results in the value being clamped to the minAvailableVideoZoomFactor. Clients can key value observe the value of this property.
2379 |  */
2380 | @property(nonatomic, readonly) CGFloat minAvailableVideoZoomFactor API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                        `- note: 'minAvailableVideoZoomFactor' has been explicitly marked unavailable here
2381 |
2382 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift:234:62: error: 'maxAvailableVideoZoomFactor' is unavailable in macOS
232 |             throw PRMSessionError.unsupportedConfiguration("Zoom factor must be a finite number")
233 |         }
234 |         return min(max(factor, minAvailableVideoZoomFactor), maxAvailableVideoZoomFactor)
    |                                                              `- error: 'maxAvailableVideoZoomFactor' is unavailable in macOS
235 |     }
236 | }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2392:40: note: 'maxAvailableVideoZoomFactor' has been explicitly marked unavailable here
2390 |     Setting the videoZoomFactor to a value less than or equal to activeFormat.videoMaxZoomFactor, but greater than maxAvailableVideoZoomFactor results in the value being clamped to the maxAvailableVideoZoomFactor. Clients can key value observe the value of this property.
2391 |  */
2392 | @property(nonatomic, readonly) CGFloat maxAvailableVideoZoomFactor API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                        `- note: 'maxAvailableVideoZoomFactor' has been explicitly marked unavailable here
2393 |
2394 | @end
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCapturePhotoOutput+Readiness.swift:19:52: error: 'CaptureReadiness' is only available in macOS 14.0 or newer
 14 |     /// rebuild does reset `maxPhotoDimensions` to `(0, 0)` and repopulates it when it's done,
 15 |     /// so ready means an enabled, active video connection, `.ready`, and non-zero dimensions.
 16 |     struct PRMReadiness {
    |            `- note: add '@available' attribute to enclosing struct
 17 |         let hasConnection: Bool
 18 |         let isConnectionActive: Bool
 19 |         let captureReadiness: AVCapturePhotoOutput.CaptureReadiness
    |                                                    `- error: 'CaptureReadiness' is only available in macOS 14.0 or newer
 20 |         let maxDimensions: CMVideoDimensions
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCapturePhotoOutput+Readiness.swift:36:69: error: 'CaptureReadiness' is only available in macOS 14.0 or newer
 14 |     /// rebuild does reset `maxPhotoDimensions` to `(0, 0)` and repopulates it when it's done,
 15 |     /// so ready means an enabled, active video connection, `.ready`, and non-zero dimensions.
 16 |     struct PRMReadiness {
    |            `- note: add '@available' attribute to enclosing struct
 17 |         let hasConnection: Bool
 18 |         let isConnectionActive: Bool
    :
 34 |         }
 35 |
 36 |         private static func name(of readiness: AVCapturePhotoOutput.CaptureReadiness) -> String {
    |                             |                                       `- error: 'CaptureReadiness' is only available in macOS 14.0 or newer
    |                             `- note: add '@available' attribute to enclosing static method
 37 |             switch readiness {
 38 |             case .ready: "ready"
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCapturePhotoOutput+Readiness.swift:54:31: error: 'captureReadiness' is only available in macOS 14.0 or newer
  7 | // `PRMPhotoCapture`'s per-capture pre-flight, so both wait for the same thing.
  8 |
  9 | extension AVCapturePhotoOutput {
    | `- note: add '@available' attribute to enclosing extension
 10 |     /// What the readiness polls check.
 11 |     ///
    :
 47 |
 48 |     /// The output's current readiness.
 49 |     var prm_readiness: PRMReadiness {
    |         `- note: add '@available' attribute to enclosing property
 50 |         let connection = connection(with: .video)
 51 |         return PRMReadiness(
 52 |             hasConnection: connection != nil,
 53 |             isConnectionActive: connection?.isEnabled == true && connection?.isActive == true,
 54 |             captureReadiness: captureReadiness,
    |                               |- error: 'captureReadiness' is only available in macOS 14.0 or newer
    |                               `- note: add 'if #available' version check
 55 |             maxDimensions: maxPhotoDimensions
 56 |         )
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCapturePhotoOutput+Readiness.swift:55:28: error: 'maxPhotoDimensions' is only available in macOS 13.0 or newer
  7 | // `PRMPhotoCapture`'s per-capture pre-flight, so both wait for the same thing.
  8 |
  9 | extension AVCapturePhotoOutput {
    | `- note: add '@available' attribute to enclosing extension
 10 |     /// What the readiness polls check.
 11 |     ///
    :
 47 |
 48 |     /// The output's current readiness.
 49 |     var prm_readiness: PRMReadiness {
    |         `- note: add '@available' attribute to enclosing property
 50 |         let connection = connection(with: .video)
 51 |         return PRMReadiness(
    :
 53 |             isConnectionActive: connection?.isEnabled == true && connection?.isActive == true,
 54 |             captureReadiness: captureReadiness,
 55 |             maxDimensions: maxPhotoDimensions
    |                            |- error: 'maxPhotoDimensions' is only available in macOS 13.0 or newer
    |                            `- note: add 'if #available' version check
 56 |         )
 57 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCapturePhotoOutput+Readiness.swift:70:9: error: 'maxPhotoDimensions' is only available in macOS 13.0 or newer
  7 | // `PRMPhotoCapture`'s per-capture pre-flight, so both wait for the same thing.
  8 |
  9 | extension AVCapturePhotoOutput {
    | `- note: add '@available' attribute to enclosing extension
 10 |     /// What the readiness polls check.
 11 |     ///
    :
 63 |     /// Returns the applied dimensions, or `nil` when nothing needed (or allowed) healing.
 64 |     @discardableResult
 65 |     func prm_healMaxPhotoDimensionsIfNeeded() -> CMVideoDimensions? {
    |          `- note: add '@available' attribute to enclosing instance method
 66 |         let readiness = prm_readiness
 67 |         guard readiness.isConnectionActive, !readiness.hasDimensions,
 68 |               let largest = prm_sourceDevice?.activeFormat.prm_largestLandscapePhotoDimensions
 69 |         else { return nil }
 70 |         maxPhotoDimensions = largest
    |         |- error: 'maxPhotoDimensions' is only available in macOS 13.0 or newer
    |         `- note: add 'if #available' version check
 71 |         return largest
 72 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCapturePhotoOutput+Readiness.swift:95:35: error: 'supportedMaxPhotoDimensions' is only available in macOS 13.0 or newer
 88 | }
 89 |
 90 | extension AVCaptureDevice.Format {
    | `- note: add '@available' attribute to enclosing extension
 91 |     /// The largest landscape entry (`width >= height`) of `supportedMaxPhotoDimensions`, by
 92 |     /// area. Portrait entries from video formats would otherwise win an area pick on some
 93 |     /// models and pin the photo ceiling to a video resolution.
 94 |     var prm_largestLandscapePhotoDimensions: CMVideoDimensions? {
    |         `- note: add '@available' attribute to enclosing property
 95 |         Self.prm_largestLandscape(supportedMaxPhotoDimensions)
    |                                   |- error: 'supportedMaxPhotoDimensions' is only available in macOS 13.0 or newer
    |                                   `- note: add 'if #available' version check
 96 |     }
 97 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:101:21: error: 'AVCaptureDeviceExposureSignal' is unavailable in macOS
 99 | @available(iOS 27.0, *)
100 | extension PRMExposureSignal {
101 |     init?(_ signal: AVCaptureDeviceExposureSignal) {
    |                     `- error: 'AVCaptureDeviceExposureSignal' is unavailable in macOS
102 |         switch signal {
103 |         case .subjectMotion: self = .subjectMotion
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:86:19: note: 'AVCaptureDeviceExposureSignal' has been explicitly marked unavailable here
  84 |
  85 | /// Values that can be used to configure the auto exposure system via ``AVCaptureDevice/enabledExposureSignals`` and associated methods.
  86 | typedef NSString *AVCaptureDeviceExposureSignal NS_TYPED_ENUM API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                   `- note: 'AVCaptureDeviceExposureSignal' has been explicitly marked unavailable here
  87 |
  88 | /// When enabled, auto exposure may close the aperture or decrease the exposure duration to reduce motion blur when there is a lot of motion in the scene.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:112:19: error: 'AVCaptureDeviceExposureSignal' is unavailable in macOS
110 |     }
111 |
112 |     var avSignal: AVCaptureDeviceExposureSignal {
    |                   `- error: 'AVCaptureDeviceExposureSignal' is unavailable in macOS
113 |         switch self {
114 |         case .subjectMotion: .subjectMotion
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:86:19: note: 'AVCaptureDeviceExposureSignal' has been explicitly marked unavailable here
  84 |
  85 | /// Values that can be used to configure the auto exposure system via ``AVCaptureDevice/enabledExposureSignals`` and associated methods.
  86 | typedef NSString *AVCaptureDeviceExposureSignal NS_TYPED_ENUM API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                   `- note: 'AVCaptureDeviceExposureSignal' has been explicitly marked unavailable here
  87 |
  88 | /// When enabled, auto exposure may close the aperture or decrease the exposure duration to reduce motion blur when there is a lot of motion in the scene.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:122:39: error: 'AVCaptureDeviceExposureSignal' is unavailable in macOS
120 |     }
121 |
122 |     static func set(from signals: Set<AVCaptureDeviceExposureSignal>) -> Set<Self> {
    |                                       `- error: 'AVCaptureDeviceExposureSignal' is unavailable in macOS
123 |         Set(signals.compactMap(Self.init))
124 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:86:19: note: 'AVCaptureDeviceExposureSignal' has been explicitly marked unavailable here
  84 |
  85 | /// Values that can be used to configure the auto exposure system via ``AVCaptureDevice/enabledExposureSignals`` and associated methods.
  86 | typedef NSString *AVCaptureDeviceExposureSignal NS_TYPED_ENUM API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                   `- note: 'AVCaptureDeviceExposureSignal' has been explicitly marked unavailable here
  87 |
  88 | /// When enabled, auto exposure may close the aperture or decrease the exposure duration to reduce motion blur when there is a lot of motion in the scene.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:103:15: error: 'subjectMotion' is unavailable in macOS
101 |     init?(_ signal: AVCaptureDeviceExposureSignal) {
102 |         switch signal {
103 |         case .subjectMotion: self = .subjectMotion
    |               `- error: 'subjectMotion' is unavailable in macOS
104 |         case .groupPhoto: self = .groupPhoto
105 |         case .document: self = .document
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:89:48: note: 'subjectMotion' has been explicitly marked unavailable here
  87 |
  88 | /// When enabled, auto exposure may close the aperture or decrease the exposure duration to reduce motion blur when there is a lot of motion in the scene.
  89 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalSubjectMotion API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'subjectMotion' has been explicitly marked unavailable here
  90 |
  91 | /// When enabled, auto exposure may close the aperture to increase depth of field when multiple faces are in the scene.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:104:15: error: 'groupPhoto' is unavailable in macOS
102 |         switch signal {
103 |         case .subjectMotion: self = .subjectMotion
104 |         case .groupPhoto: self = .groupPhoto
    |               `- error: 'groupPhoto' is unavailable in macOS
105 |         case .document: self = .document
106 |         case .starburst: self = .starburst
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:92:48: note: 'groupPhoto' has been explicitly marked unavailable here
  90 |
  91 | /// When enabled, auto exposure may close the aperture to increase depth of field when multiple faces are in the scene.
  92 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalGroupPhoto API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'groupPhoto' has been explicitly marked unavailable here
  93 |
  94 | /// When enabled, auto exposure may close the aperture to improve sharpness of textual scenes.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:105:15: error: 'document' is unavailable in macOS
103 |         case .subjectMotion: self = .subjectMotion
104 |         case .groupPhoto: self = .groupPhoto
105 |         case .document: self = .document
    |               `- error: 'document' is unavailable in macOS
106 |         case .starburst: self = .starburst
107 |         case .flicker: self = .flicker
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:95:48: note: 'document' has been explicitly marked unavailable here
  93 |
  94 | /// When enabled, auto exposure may close the aperture to improve sharpness of textual scenes.
  95 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalDocument API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'document' has been explicitly marked unavailable here
  96 |
  97 | /// When enabled, auto exposure may open the aperture to remove diffraction artifacts from point light sources.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:106:15: error: 'starburst' is unavailable in macOS
104 |         case .groupPhoto: self = .groupPhoto
105 |         case .document: self = .document
106 |         case .starburst: self = .starburst
    |               `- error: 'starburst' is unavailable in macOS
107 |         case .flicker: self = .flicker
108 |         default: return nil
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:98:48: note: 'starburst' has been explicitly marked unavailable here
  96 |
  97 | /// When enabled, auto exposure may open the aperture to remove diffraction artifacts from point light sources.
  98 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalStarburst API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'starburst' has been explicitly marked unavailable here
  99 |
 100 | /// When enabled, auto exposure may adjust the aperture to help exposure duration avoid synchronization with artificial lighting frequencies.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:107:15: error: 'flicker' is unavailable in macOS
105 |         case .document: self = .document
106 |         case .starburst: self = .starburst
107 |         case .flicker: self = .flicker
    |               `- error: 'flicker' is unavailable in macOS
108 |         default: return nil
109 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:101:48: note: 'flicker' has been explicitly marked unavailable here
  99 |
 100 | /// When enabled, auto exposure may adjust the aperture to help exposure duration avoid synchronization with artificial lighting frequencies.
 101 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalFlicker API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'flicker' has been explicitly marked unavailable here
 102 |
 103 | /// Constants indicating video orientation, for use with AVCaptureDeviceRotationCoordinator.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:114:31: error: 'subjectMotion' is unavailable in macOS
112 |     var avSignal: AVCaptureDeviceExposureSignal {
113 |         switch self {
114 |         case .subjectMotion: .subjectMotion
    |                               `- error: 'subjectMotion' is unavailable in macOS
115 |         case .groupPhoto: .groupPhoto
116 |         case .document: .document
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:89:48: note: 'subjectMotion' has been explicitly marked unavailable here
  87 |
  88 | /// When enabled, auto exposure may close the aperture or decrease the exposure duration to reduce motion blur when there is a lot of motion in the scene.
  89 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalSubjectMotion API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'subjectMotion' has been explicitly marked unavailable here
  90 |
  91 | /// When enabled, auto exposure may close the aperture to increase depth of field when multiple faces are in the scene.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:115:28: error: 'groupPhoto' is unavailable in macOS
113 |         switch self {
114 |         case .subjectMotion: .subjectMotion
115 |         case .groupPhoto: .groupPhoto
    |                            `- error: 'groupPhoto' is unavailable in macOS
116 |         case .document: .document
117 |         case .starburst: .starburst
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:92:48: note: 'groupPhoto' has been explicitly marked unavailable here
  90 |
  91 | /// When enabled, auto exposure may close the aperture to increase depth of field when multiple faces are in the scene.
  92 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalGroupPhoto API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'groupPhoto' has been explicitly marked unavailable here
  93 |
  94 | /// When enabled, auto exposure may close the aperture to improve sharpness of textual scenes.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:116:26: error: 'document' is unavailable in macOS
114 |         case .subjectMotion: .subjectMotion
115 |         case .groupPhoto: .groupPhoto
116 |         case .document: .document
    |                          `- error: 'document' is unavailable in macOS
117 |         case .starburst: .starburst
118 |         case .flicker: .flicker
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:95:48: note: 'document' has been explicitly marked unavailable here
  93 |
  94 | /// When enabled, auto exposure may close the aperture to improve sharpness of textual scenes.
  95 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalDocument API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'document' has been explicitly marked unavailable here
  96 |
  97 | /// When enabled, auto exposure may open the aperture to remove diffraction artifacts from point light sources.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift:117:27: error: 'starburst' is unavailable in macOS
115 |         case .groupPhoto: .groupPhoto
116 |         case .document: .document
117 |         case .starburst: .starburst
    |                           `- error: 'starburst' is unavailable in macOS
118 |         case .flicker: .flicker
119 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:98:48: note: 'starburst' has been explicitly marked unavailable here
  96 |
  97 | /// When enabled, auto exposure may open the aperture to remove diffraction artifacts from point light sources.
  98 | AVF_EXPORT AVCaptureDeviceExposureSignal const AVCaptureDeviceExposureSignalStarburst API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                `- note: 'starburst' has been explicitly marked unavailable here
  99 |
 100 | /// When enabled, auto exposure may adjust the aperture to help exposure duration avoid synchronization with artificial lighting frequencies.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+WhiteBalance.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+WhiteBalance.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Zoom.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Zoom.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCapturePhotoOutput+Readiness.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCapturePhotoOutput+Readiness.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMExposureValue.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMExposureValue.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/PRMLens.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMLens.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMBlurFilter.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMBlurFilter.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMColorFilter.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMColorFilter.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/Filters/PRMDistortionFilter.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMDistortionFilter.swift
SwiftCompile normal arm64 Compiling\ PRMCameraSession.swift,\ PRMCameraState.swift,\ PRMCinematicVideo.swift,\ PRMDetectedObject.swift,\ PRMFraming.swift,\ PRMMetadataRouter.swift,\ PRMPermissions.swift,\ PRMRotationCoordinator.swift,\ PRMSessionError.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraState.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCinematicVideo.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMMetadataRouter.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMPermissions.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMRotationCoordinator.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMSessionError.swift (in target 'PrismCore' from project 'Prism')
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:83:47: error: 'AVCaptureDepthDataOutput' is unavailable in macOS
  81 |
  82 |     /// Live depth stream, when attached with ``attachDepthDataOutput(delegate:queue:filteringEnabled:)``.
  83 |     public internal(set) var depthDataOutput: AVCaptureDepthDataOutput?
     |                                               `- error: 'AVCaptureDepthDataOutput' is unavailable in macOS
  84 |
  85 |     /// Delegate, queue and filtering for the depth stream, kept so a full reconfigure
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDepthDataOutput.h:32:12: note: 'AVCaptureDepthDataOutput' has been explicitly marked unavailable here
 30 |  */
 31 | API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos)
 32 | @interface AVCaptureDepthDataOutput : AVCaptureOutput
    |            `- note: 'AVCaptureDepthDataOutput' has been explicitly marked unavailable here
 33 | {
 34 | @private
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:90:27: error: 'AVCaptureDepthDataOutputDelegate' is unavailable in macOS
  88 |
  89 |     struct DepthDataOutputRequest {
  90 |         let delegate: any AVCaptureDepthDataOutputDelegate
     |                           `- error: 'AVCaptureDepthDataOutputDelegate' is unavailable in macOS
  91 |         let queue: DispatchQueue
  92 |         let filteringEnabled: Bool
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDepthDataOutput.h:110:11: note: 'AVCaptureDepthDataOutputDelegate' has been explicitly marked unavailable here
108 |  */
109 | API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos)
110 | @protocol AVCaptureDepthDataOutputDelegate <NSObject>
    |           `- note: 'AVCaptureDepthDataOutputDelegate' has been explicitly marked unavailable here
111 |
112 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:152:46: error: 'AVCaptureMetadataOutput' is only available in macOS 13.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
 150 |     /// Metadata output feeding subject tracking, Cinematic Video and
 151 |     /// ``PRMCameraConfiguration/metadataObjectTypes``. Attached on first need; `nil` until then.
 152 |     public internal(set) var metadataOutput: AVCaptureMetadataOutput?
     |                                              `- error: 'AVCaptureMetadataOutput' is only available in macOS 13.0 or newer
 153 |
 154 |     /// Dedicated queue for metadata delegate callbacks, separate from frame delivery so
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:187:51: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
 185 |
 186 |     /// The latest value sent on ``framingRecommendations``, handed to late subscribers.
 187 |     nonisolated let latestFramingRecommendation = OSAllocatedUnfairLock<PRMFraming?>(initialState: nil)
     |                                                   `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
 188 |
 189 |     /// Device-level KVO behind ``deviceEvents`` / ``framingRecommendations``.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:187:84: error: 'init(initialState:)' is only available in macOS 13.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
 185 |
 186 |     /// The latest value sent on ``framingRecommendations``, handed to late subscribers.
 187 |     nonisolated let latestFramingRecommendation = OSAllocatedUnfairLock<PRMFraming?>(initialState: nil)
     |                                                                                    `- error: 'init(initialState:)' is only available in macOS 13.0 or newer
 188 |
 189 |     /// Device-level KVO behind ``deviceEvents`` / ``framingRecommendations``.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:209:28: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 207 |     /// Video stabilization for the video-data and movie connections, re-applied whenever
 208 |     /// either is rebuilt (camera switch, runtime attach).
 209 |     var stabilizationMode: AVCaptureVideoStabilizationMode = .off
     |                            `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 210 |
 211 |     /// Bumped by every Cinematic Video toggle and camera switch, so an enable that waited
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3299:28: note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3297 |
3298 | /// Constants indicating the modes of video stabilization supported by the device's format.
3299 | typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
     |                            `- note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3300 |     /// Indicates that video should not be stabilized.
3301 |     AVCaptureVideoStabilizationModeOff       = 0,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:396:20: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 394 |     /// latency, where the format supports it.
 395 |     nonisolated static func previewStabilizationMode(
 396 |         requested: AVCaptureVideoStabilizationMode,
     |                    `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 397 |         hasMovieOutput: Bool,
 398 |         supportsLowLatency: Bool
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3299:28: note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3297 |
3298 | /// Constants indicating the modes of video stabilization supported by the device's format.
3299 | typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
     |                            `- note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3300 |     /// Indicates that video should not be stabilized.
3301 |     AVCaptureVideoStabilizationModeOff       = 0,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:399:10: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 397 |         hasMovieOutput: Bool,
 398 |         supportsLowLatency: Bool
 399 |     ) -> AVCaptureVideoStabilizationMode {
     |          `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 400 |         guard requested != .off, hasMovieOutput, supportsLowLatency else { return .off }
 401 |         if #available(iOS 26.0, *) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3299:28: note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3297 |
3298 | /// Constants indicating the modes of video stabilization supported by the device's format.
3299 | typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
     |                            `- note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3300 |     /// Indicates that video should not be stabilized.
3301 |     AVCaptureVideoStabilizationModeOff       = 0,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:411:42: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 409 |     /// gets a low-latency mode instead; see
 410 |     /// ``previewStabilizationMode(requested:hasMovieOutput:supportsLowLatency:)``.
 411 |     public func setStabilization(_ mode: AVCaptureVideoStabilizationMode) {
     |                                          `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 412 |         stabilizationMode = mode
 413 |         applyStabilization()
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3299:28: note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3297 |
3298 | /// Constants indicating the modes of video stabilization supported by the device's format.
3299 | typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
     |                            `- note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3300 |     /// Indicates that video should not be stabilized.
3301 |     AVCaptureVideoStabilizationModeOff       = 0,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:69:52: error: 'videoRotationAngle' is only available in macOS 14.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
  66 |     /// orientation, so a view that draws these frames rotates by the difference
  67 |     /// (``PRMRotationCoordinator/portraitFrameRotation(connectionAngle:)``).
  68 |     public var videoDataRotationAngle: CGFloat? {
     |                `- note: add '@available' attribute to enclosing property
  69 |         videoDataOutput?.connection(with: .video)?.videoRotationAngle
     |                                                    |- error: 'videoRotationAngle' is only available in macOS 14.0 or newer
     |                                                    `- note: add 'if #available' version check
  70 |     }
  71 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:319:25: error: 'configuresApplicationAudioSessionForBluetoothHighQualityRecording' is unavailable in macOS
 317 |             attachAudioDevice()
 318 |             if #available(iOS 26.0, *) {
 319 |                 session.configuresApplicationAudioSessionForBluetoothHighQualityRecording =
     |                         `- error: 'configuresApplicationAudioSessionForBluetoothHighQualityRecording' is unavailable in macOS
 320 |                     configuration.enableBluetoothHighQualityRecording
 321 |             }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSession.h:569:27: note: 'configuresApplicationAudioSessionForBluetoothHighQualityRecording' has been explicitly marked unavailable here
 567 | ///
 568 | /// The value of this property is a `BOOL` indicating whether the receiver should configure the application's audio session for bluetooth high quality recording (AirPods as a high quality microphone). When this property is set to `true`, the ``AVCaptureSession`` will opt in for high quality bluetooth recording, allowing users of your app to select AirPods as the active mic source for capture. This property has no effect when ``usesApplicationAudioSession`` is set to `false`. The default value is `false`.
 569 | @property(nonatomic) BOOL configuresApplicationAudioSessionForBluetoothHighQualityRecording API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos);
     |                           `- note: 'configuresApplicationAudioSessionForBluetoothHighQualityRecording' has been explicitly marked unavailable here
 570 | /*!
 571 |  @property automaticallyConfiguresCaptureDeviceForWideColor
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:379:58: error: 'isVideoStabilizationModeSupported' is unavailable in macOS
 377 |             var supportsLowLatency = false
 378 |             if #available(iOS 26.0, *), let device = videoDevice {
 379 |                 supportsLowLatency = device.activeFormat.isVideoStabilizationModeSupported(.lowLatency)
     |                                                          `- error: 'isVideoStabilizationModeSupported' is unavailable in macOS
 380 |             }
 381 |             connection.prm_setStabilization(Self.previewStabilizationMode(
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3420:1: note: 'isVideoStabilizationModeSupported' has been explicitly marked unavailable here
3418 |     isVideoStabilizationModeSupported: returns a boolean value indicating whether the format can be stabilized using the given mode with -[AVCaptureConnection setPreferredVideoStabilizationMode:]. In the case of ProRes RAW formats, video stabilization metadata is attached to the unstabilized video buffers instead.
3419 |  */
3420 | - (BOOL)isVideoStabilizationModeSupported:(AVCaptureVideoStabilizationMode)videoStabilizationMode API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'isVideoStabilizationModeSupported' has been explicitly marked unavailable here
3421 |
3422 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:379:93: error: 'lowLatency' is unavailable in macOS
 377 |             var supportsLowLatency = false
 378 |             if #available(iOS 26.0, *), let device = videoDevice {
 379 |                 supportsLowLatency = device.activeFormat.isVideoStabilizationModeSupported(.lowLatency)
     |                                                                                             `- error: 'lowLatency' is unavailable in macOS
 380 |             }
 381 |             connection.prm_setStabilization(Self.previewStabilizationMode(
AVFoundation.AVCaptureVideoStabilizationMode.lowLatency:3:8: note: 'lowLatency' has been explicitly marked unavailable here
1 | enum AVCaptureVideoStabilizationMode {
2 | @available(macOS, unavailable)
3 |   case lowLatency}
  |        `- note: 'lowLatency' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:402:21: error: 'lowLatency' is unavailable in macOS
 400 |         guard requested != .off, hasMovieOutput, supportsLowLatency else { return .off }
 401 |         if #available(iOS 26.0, *) {
 402 |             return .lowLatency
     |                     `- error: 'lowLatency' is unavailable in macOS
 403 |         }
 404 |         return .off
AVFoundation.AVCaptureVideoStabilizationMode.lowLatency:3:8: note: 'lowLatency' has been explicitly marked unavailable here
1 | enum AVCaptureVideoStabilizationMode {
2 | @available(macOS, unavailable)
3 |   case lowLatency}
  |        `- note: 'lowLatency' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:529:69: error: 'hardwareCost' is unavailable in macOS
 527 |             parts.append("cinematicVideo=true")
 528 |         }
 529 |         parts.append("hardwareCost=\(String(format: "%.2f", session.hardwareCost))")
     |                                                                     `- error: 'hardwareCost' is unavailable in macOS
 530 |         return parts.joined(separator: " ")
 531 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSession.h:646:38: note: 'hardwareCost' has been explicitly marked unavailable here
 644 |     AVCaptureMultiCamSessions always computes this hardwareCost. AVCaptureSessions only computes a non-zero hardwareCost when multiple AVCaptureVideoDataOutputs or an AVCaptureMovieFileOutput and one or more AVCaptureVideoDataOutputs are added to the session.
 645 |  */
 646 | @property(nonatomic, readonly) float hardwareCost API_AVAILABLE(ios(16.0), macCatalyst(16.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'hardwareCost' has been explicitly marked unavailable here
 647 |
 648 | /// A `BOOL` value that indicates whether the session supports manually running deferred start.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:1082:48: error: 'isCinematicVideoCaptureSupported' is only available in macOS 26.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
1076 |     /// Cinematic Video runs on when it's enabled at configure and the usual camera has no
1077 |     /// Cinematic Video format (the Triple camera on Pro iPhones).
1078 |     nonisolated static func videoDeviceTypes(for configuration: PRMCameraConfiguration) -> [AVCaptureDevice.DeviceType] {
     |                             `- note: add '@available' attribute to enclosing static method
1079 |         guard #available(iOS 26.0, *), configuration.enableCinematicVideo,
1080 |               let cinematic = PRMCameraDevice.cinematicVideoDeviceType(at: configuration.cameraPosition),
1081 |               let usual = bestVideoDevice(position: configuration.cameraPosition, types: configuration.deviceTypes),
1082 |               !usual.formats.contains(where: \.isCinematicVideoCaptureSupported)
     |                                                |- error: 'isCinematicVideoCaptureSupported' is only available in macOS 26.0 or newer
     |                                                `- note: add 'if #available' version check
1083 |         else { return configuration.deviceTypes }
1084 |         return [cinematic] + configuration.deviceTypes.filter { $0 != cinematic }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:1125:28: error: 'microphone' is only available in macOS 14.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
1121 |     }
1122 |
1123 |     private func attachAudioDevice() {
     |                  `- note: add '@available' attribute to enclosing instance method
1124 |         let discovery = AVCaptureDevice.DiscoverySession(
1125 |             deviceTypes: [.microphone],
     |                            |- error: 'microphone' is only available in macOS 14.0 or newer
     |                            `- note: add 'if #available' version check
1126 |             mediaType: .audio,
1127 |             position: .unspecified
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:1167:16: error: 'maxPhotoQualityPrioritization' is only available in macOS 13.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
1163 |     }
1164 |
1165 |     private func attachPhotoOutput(configuration: PRMCameraConfiguration) throws {
     |                  `- note: add '@available' attribute to enclosing instance method
1166 |         let output = AVCapturePhotoOutput()
1167 |         output.maxPhotoQualityPrioritization = configuration.maxPhotoQualityPrioritization
     |                |- error: 'maxPhotoQualityPrioritization' is only available in macOS 13.0 or newer
     |                `- note: add 'if #available' version check
1168 |         // `isLivePhotoCaptureSupported` / `isDepthDataDeliverySupported` / etc. are
1169 |         // session-configuration-aware: they only return meaningful values AFTER the
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:1180:19: error: 'isCameraSensorOrientationCompensationSupported' is unavailable in macOS
1178 |         applyDeferredStart(to: output, isPreview: false)
1179 |         if #available(iOS 26.0, *), let compensation = configuration.enableCameraSensorOrientationCompensation,
1180 |            output.isCameraSensorOrientationCompensationSupported {
     |                   `- error: 'isCameraSensorOrientationCompensationSupported' is unavailable in macOS
1181 |             output.isCameraSensorOrientationCompensationEnabled = compensation
1182 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:804:92: note: 'isCameraSensorOrientationCompensationSupported' has been explicitly marked unavailable here
 802 |     Value is YES for camera configurations which support compensation for the sensor orientation, which is applied to HEIC, JPEG, and uncompressed processed photos only; compensation is never applied to Bayer RAW or Apple ProRaw captures.
 803 |  */
 804 | @property(nonatomic, readonly, getter=isCameraSensorOrientationCompensationSupported) BOOL cameraSensorOrientationCompensationSupported API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                                                                            `- note: 'isCameraSensorOrientationCompensationSupported' has been explicitly marked unavailable here
 805 |
 806 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:1181:20: error: 'isCameraSensorOrientationCompensationEnabled' is unavailable in macOS
1179 |         if #available(iOS 26.0, *), let compensation = configuration.enableCameraSensorOrientationCompensation,
1180 |            output.isCameraSensorOrientationCompensationSupported {
1181 |             output.isCameraSensorOrientationCompensationEnabled = compensation
     |                    `- error: 'isCameraSensorOrientationCompensationEnabled' is unavailable in macOS
1182 |         }
1183 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:813:80: note: 'isCameraSensorOrientationCompensationEnabled' has been explicitly marked unavailable here
 811 |     Default is YES when cameraSensorOrientationCompensationSupported is YES. Set to NO if your app does not require sensor orientation compensation.
 812 |  */
 813 | @property(nonatomic, getter=isCameraSensorOrientationCompensationEnabled) BOOL cameraSensorOrientationCompensationEnabled API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                                                                `- note: 'isCameraSensorOrientationCompensationEnabled' has been explicitly marked unavailable here
 814 |
 815 | @end
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:1436:36: error: 'isLivePhotoCaptureEnabled' is unavailable in macOS
1434 |         }
1435 |         let wasAttached = movieFileOutput != nil
1436 |         let wasLive = photoOutput?.isLivePhotoCaptureEnabled ?? false
     |                                    `- error: 'isLivePhotoCaptureEnabled' is unavailable in macOS
1437 |         session.beginConfiguration()
1438 |         defer { session.commitConfiguration() }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:587:61: note: 'isLivePhotoCaptureEnabled' has been explicitly marked unavailable here
 585 |     Default value is NO. This property may only be set to YES if livePhotoCaptureSupported is YES. Live Photo capture requires a lengthy reconfiguration of the capture render pipeline, so if you intend to do any Live Photo captures at all, you should set livePhotoCaptureEnabled to YES before calling -[AVCaptureSession startRunning].
 586 |  */
 587 | @property(nonatomic, getter=isLivePhotoCaptureEnabled) BOOL livePhotoCaptureEnabled API_UNAVAILABLE(macos);
     |                                                             `- note: 'isLivePhotoCaptureEnabled' has been explicitly marked unavailable here
 588 |
 589 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:1440:35: error: 'isLivePhotoCaptureEnabled' is unavailable in macOS
1438 |         defer { session.commitConfiguration() }
1439 |         try applyMovieFileOutputAttached(attached, targetLivePhoto: targetLivePhoto)
1440 |         let isLive = photoOutput?.isLivePhotoCaptureEnabled ?? false
     |                                   `- error: 'isLivePhotoCaptureEnabled' is unavailable in macOS
1441 |         if wasAttached != attached || wasLive != isLive {
1442 |             PRMLog.debug(.session, "Movie output \(attached ? "attached" : "detached"), Live Photo \(isLive ? "on" : "off")")
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:587:61: note: 'isLivePhotoCaptureEnabled' has been explicitly marked unavailable here
 585 |     Default value is NO. This property may only be set to YES if livePhotoCaptureSupported is YES. Live Photo capture requires a lengthy reconfiguration of the capture render pipeline, so if you intend to do any Live Photo captures at all, you should set livePhotoCaptureEnabled to YES before calling -[AVCaptureSession startRunning].
 586 |  */
 587 | @property(nonatomic, getter=isLivePhotoCaptureEnabled) BOOL livePhotoCaptureEnabled API_UNAVAILABLE(macos);
     |                                                             `- note: 'isLivePhotoCaptureEnabled' has been explicitly marked unavailable here
 588 |
 589 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraState.swift:48:41: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 46 |
 47 |     /// Currently active stabilization mode on the video data output connection (if any).
 48 |     public var activeStabilizationMode: AVCaptureVideoStabilizationMode
    |                                         `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 49 |
 50 |     /// Currently active frame rate, or `nil` if no custom rate is set.
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3299:28: note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3297 |
3298 | /// Constants indicating the modes of video stabilization supported by the device's format.
3299 | typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
     |                            `- note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3300 |     /// Indicates that video should not be stabilized.
3301 |     AVCaptureVideoStabilizationModeOff       = 0,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraState.swift:100:53: error: 'InterruptionReason' is unavailable in macOS
 98 |     /// Why the session is interrupted, when ``isInterrupted`` is `true`. iOS 26 adds
 99 |     /// `.sensitiveContentMitigationActivated`.
100 |     public var interruptionReason: AVCaptureSession.InterruptionReason?
    |                                                     `- error: 'InterruptionReason' is unavailable in macOS
101 |
102 |     /// Thermal / power pressure on the capture device. iOS 27 adds `.batteryStress`.
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSession.h:72:28: note: 'InterruptionReason' has been explicitly marked unavailable here
  70 |
  71 | /// Constants indicating interruption reason. One of these is returned with the ``AVCaptureSessionWasInterruptedNotification`` (see ``AVCaptureSessionInterruptionReasonKey``).
  72 | typedef NS_ENUM(NSInteger, AVCaptureSessionInterruptionReason) {
     |                            `- note: 'InterruptionReason' has been explicitly marked unavailable here
  73 |     /// An interruption caused by the app being sent to the background while using a camera. Camera usage is prohibited while in the background. Beginning in iOS 9.0, ``AVCaptureSession`` no longer produces an ``AVCaptureSessionRuntimeErrorNotification`` if you attempt to start running a camera while in the background. Instead, it sends an ``AVCaptureSessionWasInterruptedNotification`` with ``AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableInBackground``. Provided you don't explicitly call ``AVCaptureSession/stopRunning``, your ``AVCaptureSession/startRunning`` request is preserved, and when your app comes back to foreground, you receive ``AVCaptureSessionInterruptionEndedNotification`` and your session starts running.
  74 |     AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableInBackground               = 1,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraState.swift:152:34: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
150 |         whiteBalanceTemperature: Float = 5500,
151 |         whiteBalanceTint: Float = 0,
152 |         activeStabilizationMode: AVCaptureVideoStabilizationMode = .off,
    |                                  `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
153 |         frameRate: Float64? = nil,
154 |         isVideoHDREnabled: Bool = false,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3299:28: note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3297 |
3298 | /// Constants indicating the modes of video stabilization supported by the device's format.
3299 | typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
     |                            `- note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3300 |     /// Indicates that video should not be stabilized.
3301 |     AVCaptureVideoStabilizationModeOff       = 0,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraState.swift:164:46: error: 'InterruptionReason' is unavailable in macOS
162 |         lensSmudgeStatus: PRMLensSmudgeStatus = .disabled,
163 |         isLowLightVideoNoiseReductionActive: Bool = false,
164 |         interruptionReason: AVCaptureSession.InterruptionReason? = nil,
    |                                              `- error: 'InterruptionReason' is unavailable in macOS
165 |         systemPressure: PRMSystemPressure = .nominal,
166 |         isContinuousAutoFocusTrackingEnabled: Bool = false,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSession.h:72:28: note: 'InterruptionReason' has been explicitly marked unavailable here
  70 |
  71 | /// Constants indicating interruption reason. One of these is returned with the ``AVCaptureSessionWasInterruptedNotification`` (see ``AVCaptureSessionInterruptionReasonKey``).
  72 | typedef NS_ENUM(NSInteger, AVCaptureSessionInterruptionReason) {
     |                            `- note: 'InterruptionReason' has been explicitly marked unavailable here
  73 |     /// An interruption caused by the app being sent to the background while using a camera. Camera usage is prohibited while in the background. Beginning in iOS 9.0, ``AVCaptureSession`` no longer produces an ``AVCaptureSessionRuntimeErrorNotification`` if you attempt to start running a camera while in the background. Instead, it sends an ``AVCaptureSessionWasInterruptedNotification`` with ``AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableInBackground``. Provided you don't explicitly call ``AVCaptureSession/stopRunning``, your ``AVCaptureSession/startRunning`` request is preserved, and when your app comes back to foreground, you receive ``AVCaptureSessionInterruptionEndedNotification`` and your session starts running.
  74 |     AVCaptureSessionInterruptionReasonVideoDeviceNotAvailableInBackground               = 1,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCinematicVideo.swift:18:34: error: 'CinematicVideoFocusMode' is only available in macOS 26.0 or newer
15 |
16 | @available(iOS 26.0, *)
17 | extension PRMCinematicFocusMode {
   | `- note: add '@available' attribute to enclosing extension
18 |     init(_ mode: AVCaptureDevice.CinematicVideoFocusMode) {
   |     |                            `- error: 'CinematicVideoFocusMode' is only available in macOS 26.0 or newer
   |     `- note: add '@available' attribute to enclosing initializer
19 |         switch mode {
20 |         case .strong: self = .strong
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCinematicVideo.swift:26:33: error: 'CinematicVideoFocusMode' is only available in macOS 26.0 or newer
15 |
16 | @available(iOS 26.0, *)
17 | extension PRMCinematicFocusMode {
   | `- note: add '@available' attribute to enclosing extension
18 |     init(_ mode: AVCaptureDevice.CinematicVideoFocusMode) {
19 |         switch mode {
   :
24 |     }
25 |
26 |     var avMode: AVCaptureDevice.CinematicVideoFocusMode {
   |         |                       `- error: 'CinematicVideoFocusMode' is only available in macOS 26.0 or newer
   |         `- note: add '@available' attribute to enclosing property
27 |         switch self {
28 |         case .none: .none
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCinematicVideo.swift:59:20: error: 'AVCaptureSceneMonitoringStatus' is only available in macOS 26.0 or newer
50 | /// A scene condition that keeps Cinematic Video from working well. Mirrors
51 | /// `AVCaptureSceneMonitoringStatus` (iOS 26). Surface it as a "scene too dark" hint.
52 | public enum PRMSceneMonitoringStatus: Sendable, Hashable {
   |             `- note: add '@available' attribute to enclosing enum
53 |     /// The scene is too dark for Cinematic Video to work optimally.
54 |     case notEnoughLight
   :
57 |
58 |     @available(iOS 26.0, *)
59 |     init(_ status: AVCaptureSceneMonitoringStatus) {
   |     |              `- error: 'AVCaptureSceneMonitoringStatus' is only available in macOS 26.0 or newer
   |     `- note: add '@available' attribute to enclosing initializer
60 |         self = status == .notEnoughLight ? .notEnoughLight : .other(status.rawValue)
61 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCinematicVideo.swift:60:27: error: 'notEnoughLight' is only available in macOS 26.0 or newer
50 | /// A scene condition that keeps Cinematic Video from working well. Mirrors
51 | /// `AVCaptureSceneMonitoringStatus` (iOS 26). Surface it as a "scene too dark" hint.
52 | public enum PRMSceneMonitoringStatus: Sendable, Hashable {
   |             `- note: add '@available' attribute to enclosing enum
53 |     /// The scene is too dark for Cinematic Video to work optimally.
54 |     case notEnoughLight
   :
57 |
58 |     @available(iOS 26.0, *)
59 |     init(_ status: AVCaptureSceneMonitoringStatus) {
   |     `- note: add '@available' attribute to enclosing initializer
60 |         self = status == .notEnoughLight ? .notEnoughLight : .other(status.rawValue)
   |                           |- error: 'notEnoughLight' is only available in macOS 26.0 or newer
   |                           `- note: add 'if #available' version check
61 |     }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift:81:47: error: 'objectID' is only available in macOS 26.0 or newer
  4 | /// the iOS 27 focus-tracked subject, or the faces / bodies / pets that Cinematic Video
  5 | /// detects. Delivered on ``PRMCamera/detectedObjectsStream()``.
  6 | public struct PRMDetectedObject: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing struct
  7 |     /// What the metadata output detected.
  8 |     public enum Kind: Sendable, Hashable {
    :
 73 |     }
 74 |
 75 |     init(_ object: AVMetadataObject) {
    |     `- note: add '@available' attribute to enclosing initializer
 76 |         var objectID: Int?
 77 |         var groupID: Int?
    :
 79 |         var isFixedFocus = false
 80 |         if #available(iOS 26.0, *) {
 81 |             objectID = Self.identifier(object.objectID)
    |                                               |- error: 'objectID' is only available in macOS 26.0 or newer
    |                                               `- note: add 'if #available' version check
 82 |             groupID = Self.identifier(object.groupID)
 83 |             let mode = PRMCinematicFocusMode(object.cinematicVideoFocusMode)
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift:82:46: error: 'groupID' is only available in macOS 26.0 or newer
  4 | /// the iOS 27 focus-tracked subject, or the faces / bodies / pets that Cinematic Video
  5 | /// detects. Delivered on ``PRMCamera/detectedObjectsStream()``.
  6 | public struct PRMDetectedObject: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing struct
  7 |     /// What the metadata output detected.
  8 |     public enum Kind: Sendable, Hashable {
    :
 73 |     }
 74 |
 75 |     init(_ object: AVMetadataObject) {
    |     `- note: add '@available' attribute to enclosing initializer
 76 |         var objectID: Int?
 77 |         var groupID: Int?
    :
 80 |         if #available(iOS 26.0, *) {
 81 |             objectID = Self.identifier(object.objectID)
 82 |             groupID = Self.identifier(object.groupID)
    |                                              |- error: 'groupID' is only available in macOS 26.0 or newer
    |                                              `- note: add 'if #available' version check
 83 |             let mode = PRMCinematicFocusMode(object.cinematicVideoFocusMode)
 84 |             focusMode = mode == .none ? nil : mode
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift:83:53: error: 'cinematicVideoFocusMode' is only available in macOS 26.0 or newer
  4 | /// the iOS 27 focus-tracked subject, or the faces / bodies / pets that Cinematic Video
  5 | /// detects. Delivered on ``PRMCamera/detectedObjectsStream()``.
  6 | public struct PRMDetectedObject: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing struct
  7 |     /// What the metadata output detected.
  8 |     public enum Kind: Sendable, Hashable {
    :
 73 |     }
 74 |
 75 |     init(_ object: AVMetadataObject) {
    |     `- note: add '@available' attribute to enclosing initializer
 76 |         var objectID: Int?
 77 |         var groupID: Int?
    :
 81 |             objectID = Self.identifier(object.objectID)
 82 |             groupID = Self.identifier(object.groupID)
 83 |             let mode = PRMCinematicFocusMode(object.cinematicVideoFocusMode)
    |                                                     |- error: 'cinematicVideoFocusMode' is only available in macOS 26.0 or newer
    |                                                     `- note: add 'if #available' version check
 84 |             focusMode = mode == .none ? nil : mode
 85 |             isFixedFocus = object.isFixedFocus
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift:85:35: error: 'isFixedFocus' is only available in macOS 26.0 or newer
  4 | /// the iOS 27 focus-tracked subject, or the faces / bodies / pets that Cinematic Video
  5 | /// detects. Delivered on ``PRMCamera/detectedObjectsStream()``.
  6 | public struct PRMDetectedObject: Sendable, Equatable {
    |               `- note: add '@available' attribute to enclosing struct
  7 |     /// What the metadata output detected.
  8 |     public enum Kind: Sendable, Hashable {
    :
 73 |     }
 74 |
 75 |     init(_ object: AVMetadataObject) {
    |     `- note: add '@available' attribute to enclosing initializer
 76 |         var objectID: Int?
 77 |         var groupID: Int?
    :
 83 |             let mode = PRMCinematicFocusMode(object.cinematicVideoFocusMode)
 84 |             focusMode = mode == .none ? nil : mode
 85 |             isFixedFocus = object.isFixedFocus
    |                                   |- error: 'isFixedFocus' is only available in macOS 26.0 or newer
    |                                   `- note: add 'if #available' version check
 86 |         }
 87 |         self.init(
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift:101:46: error: 'focusTrackedObject' is only available in macOS 27.0 or newer
 97 | }
 98 |
 99 | extension PRMDetectedObject.Kind {
    | `- note: add '@available' attribute to enclosing extension
100 |     init(_ type: AVMetadataObject.ObjectType) {
    |     `- note: add '@available' attribute to enclosing initializer
101 |         if #available(iOS 27.0, *), type == .focusTrackedObject {
    |                                              |- error: 'focusTrackedObject' is only available in macOS 27.0 or newer
    |                                              `- note: add 'if #available' version check
102 |             self = .focusTracked
103 |             return
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift:106:25: error: 'catHead' is only available in macOS 26.0 or newer
 97 | }
 98 |
 99 | extension PRMDetectedObject.Kind {
    | `- note: add '@available' attribute to enclosing extension
100 |     init(_ type: AVMetadataObject.ObjectType) {
    |     `- note: add '@available' attribute to enclosing initializer
101 |         if #available(iOS 27.0, *), type == .focusTrackedObject {
102 |             self = .focusTracked
    :
104 |         }
105 |         if #available(iOS 26.0, *) {
106 |             if type == .catHead {
    |                         |- error: 'catHead' is only available in macOS 26.0 or newer
    |                         `- note: add 'if #available' version check
107 |                 self = .catHead
108 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift:110:25: error: 'dogHead' is only available in macOS 26.0 or newer
 97 | }
 98 |
 99 | extension PRMDetectedObject.Kind {
    | `- note: add '@available' attribute to enclosing extension
100 |     init(_ type: AVMetadataObject.ObjectType) {
    |     `- note: add '@available' attribute to enclosing initializer
101 |         if #available(iOS 27.0, *), type == .focusTrackedObject {
102 |             self = .focusTracked
    :
108 |                 return
109 |             }
110 |             if type == .dogHead {
    |                         |- error: 'dogHead' is only available in macOS 26.0 or newer
    |                         `- note: add 'if #available' version check
111 |                 self = .dogHead
112 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift:118:15: error: 'humanFullBody' is only available in macOS 14.0 or newer
 97 | }
 98 |
 99 | extension PRMDetectedObject.Kind {
    | `- note: add '@available' attribute to enclosing extension
100 |     init(_ type: AVMetadataObject.ObjectType) {
    |     `- note: add '@available' attribute to enclosing initializer
101 |         if #available(iOS 27.0, *), type == .focusTrackedObject {
102 |             self = .focusTracked
    :
116 |         case .face: self = .face
117 |         case .humanBody: self = .humanBody
118 |         case .humanFullBody: self = .humanFullBody
    |               |- error: 'humanFullBody' is only available in macOS 14.0 or newer
    |               `- note: add 'if #available' version check
119 |         case .catBody: self = .catBody
120 |         case .dogBody: self = .dogBody
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:34:36: error: 'AspectRatio' is unavailable in macOS
32 | @available(iOS 26.0, *)
33 | extension PRMAspectRatio {
34 |     init?(_ ratio: AVCaptureDevice.AspectRatio) {
   |                                    `- error: 'AspectRatio' is unavailable in macOS
35 |         switch ratio {
36 |         case .ratio1x1: self = .ratio1x1
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2838:19: note: 'AspectRatio' has been explicitly marked unavailable here
2836 |
2837 | /// String constants describing the different video aspect ratios you can configure for a particular device.
2838 | typedef NSString *AVCaptureAspectRatio NS_TYPED_ENUM NS_SWIFT_NAME(AVCaptureDevice.AspectRatio) API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                   `- note: 'AspectRatio' has been explicitly marked unavailable here
2839 |
2840 | /// An aspect ratio of 1x1.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:45:40: error: 'AspectRatio' is unavailable in macOS
43 |     }
44 |
45 |     var avAspectRatio: AVCaptureDevice.AspectRatio {
   |                                        `- error: 'AspectRatio' is unavailable in macOS
46 |         switch self {
47 |         case .ratio1x1: .ratio1x1
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2838:19: note: 'AspectRatio' has been explicitly marked unavailable here
2836 |
2837 | /// String constants describing the different video aspect ratios you can configure for a particular device.
2838 | typedef NSString *AVCaptureAspectRatio NS_TYPED_ENUM NS_SWIFT_NAME(AVCaptureDevice.AspectRatio) API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                   `- note: 'AspectRatio' has been explicitly marked unavailable here
2839 |
2840 | /// An aspect ratio of 1x1.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:70:22: error: 'AVCaptureFraming' is unavailable in macOS
68 |
69 |     @available(iOS 26.0, *)
70 |     init?(_ framing: AVCaptureFraming) {
   |                      `- error: 'AVCaptureFraming' is unavailable in macOS
71 |         guard let ratio = PRMAspectRatio(framing.aspectRatio) else { return nil }
72 |         self.init(aspectRatio: ratio, zoomFactor: framing.zoomFactor)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2940:12: note: 'AVCaptureFraming' has been explicitly marked unavailable here
2938 | /// An ``AVCaptureSmartFramingMonitor`` provides framing recommendations using this object.
2939 | API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos)
2940 | @interface AVCaptureFraming : NSObject
     |            `- note: 'AVCaptureFraming' has been explicitly marked unavailable here
2941 |
2942 | AV_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:36:15: error: 'ratio1x1' is unavailable in macOS
34 |     init?(_ ratio: AVCaptureDevice.AspectRatio) {
35 |         switch ratio {
36 |         case .ratio1x1: self = .ratio1x1
   |               `- error: 'ratio1x1' is unavailable in macOS
37 |         case .ratio16x9: self = .ratio16x9
38 |         case .ratio9x16: self = .ratio9x16
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2841:39: note: 'ratio1x1' has been explicitly marked unavailable here
2839 |
2840 | /// An aspect ratio of 1x1.
2841 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio1x1 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio1x1' has been explicitly marked unavailable here
2842 |
2843 | /// An aspect ratio of 16x9.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:37:15: error: 'ratio16x9' is unavailable in macOS
35 |         switch ratio {
36 |         case .ratio1x1: self = .ratio1x1
37 |         case .ratio16x9: self = .ratio16x9
   |               `- error: 'ratio16x9' is unavailable in macOS
38 |         case .ratio9x16: self = .ratio9x16
39 |         case .ratio4x3: self = .ratio4x3
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2844:39: note: 'ratio16x9' has been explicitly marked unavailable here
2842 |
2843 | /// An aspect ratio of 16x9.
2844 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio16x9 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio16x9' has been explicitly marked unavailable here
2845 |
2846 | /// An aspect ratio of 9x16.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:38:15: error: 'ratio9x16' is unavailable in macOS
36 |         case .ratio1x1: self = .ratio1x1
37 |         case .ratio16x9: self = .ratio16x9
38 |         case .ratio9x16: self = .ratio9x16
   |               `- error: 'ratio9x16' is unavailable in macOS
39 |         case .ratio4x3: self = .ratio4x3
40 |         case .ratio3x4: self = .ratio3x4
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2847:39: note: 'ratio9x16' has been explicitly marked unavailable here
2845 |
2846 | /// An aspect ratio of 9x16.
2847 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio9x16 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio9x16' has been explicitly marked unavailable here
2848 |
2849 | /// An aspect ratio of 4x3.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:39:15: error: 'ratio4x3' is unavailable in macOS
37 |         case .ratio16x9: self = .ratio16x9
38 |         case .ratio9x16: self = .ratio9x16
39 |         case .ratio4x3: self = .ratio4x3
   |               `- error: 'ratio4x3' is unavailable in macOS
40 |         case .ratio3x4: self = .ratio3x4
41 |         default: return nil
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2850:39: note: 'ratio4x3' has been explicitly marked unavailable here
2848 |
2849 | /// An aspect ratio of 4x3.
2850 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio4x3 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio4x3' has been explicitly marked unavailable here
2851 |
2852 | /// An aspect ratio of 3x4.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:40:15: error: 'ratio3x4' is unavailable in macOS
38 |         case .ratio9x16: self = .ratio9x16
39 |         case .ratio4x3: self = .ratio4x3
40 |         case .ratio3x4: self = .ratio3x4
   |               `- error: 'ratio3x4' is unavailable in macOS
41 |         default: return nil
42 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2853:39: note: 'ratio3x4' has been explicitly marked unavailable here
2851 |
2852 | /// An aspect ratio of 3x4.
2853 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio3x4 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio3x4' has been explicitly marked unavailable here
2854 |
2855 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:47:26: error: 'ratio1x1' is unavailable in macOS
45 |     var avAspectRatio: AVCaptureDevice.AspectRatio {
46 |         switch self {
47 |         case .ratio1x1: .ratio1x1
   |                          `- error: 'ratio1x1' is unavailable in macOS
48 |         case .ratio16x9: .ratio16x9
49 |         case .ratio9x16: .ratio9x16
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2841:39: note: 'ratio1x1' has been explicitly marked unavailable here
2839 |
2840 | /// An aspect ratio of 1x1.
2841 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio1x1 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio1x1' has been explicitly marked unavailable here
2842 |
2843 | /// An aspect ratio of 16x9.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:48:27: error: 'ratio16x9' is unavailable in macOS
46 |         switch self {
47 |         case .ratio1x1: .ratio1x1
48 |         case .ratio16x9: .ratio16x9
   |                           `- error: 'ratio16x9' is unavailable in macOS
49 |         case .ratio9x16: .ratio9x16
50 |         case .ratio4x3: .ratio4x3
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2844:39: note: 'ratio16x9' has been explicitly marked unavailable here
2842 |
2843 | /// An aspect ratio of 16x9.
2844 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio16x9 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio16x9' has been explicitly marked unavailable here
2845 |
2846 | /// An aspect ratio of 9x16.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:49:27: error: 'ratio9x16' is unavailable in macOS
47 |         case .ratio1x1: .ratio1x1
48 |         case .ratio16x9: .ratio16x9
49 |         case .ratio9x16: .ratio9x16
   |                           `- error: 'ratio9x16' is unavailable in macOS
50 |         case .ratio4x3: .ratio4x3
51 |         case .ratio3x4: .ratio3x4
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2847:39: note: 'ratio9x16' has been explicitly marked unavailable here
2845 |
2846 | /// An aspect ratio of 9x16.
2847 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio9x16 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio9x16' has been explicitly marked unavailable here
2848 |
2849 | /// An aspect ratio of 4x3.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:50:26: error: 'ratio4x3' is unavailable in macOS
48 |         case .ratio16x9: .ratio16x9
49 |         case .ratio9x16: .ratio9x16
50 |         case .ratio4x3: .ratio4x3
   |                          `- error: 'ratio4x3' is unavailable in macOS
51 |         case .ratio3x4: .ratio3x4
52 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2850:39: note: 'ratio4x3' has been explicitly marked unavailable here
2848 |
2849 | /// An aspect ratio of 4x3.
2850 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio4x3 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio4x3' has been explicitly marked unavailable here
2851 |
2852 | /// An aspect ratio of 3x4.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift:51:26: error: 'ratio3x4' is unavailable in macOS
49 |         case .ratio9x16: .ratio9x16
50 |         case .ratio4x3: .ratio4x3
51 |         case .ratio3x4: .ratio3x4
   |                          `- error: 'ratio3x4' is unavailable in macOS
52 |         }
53 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2853:39: note: 'ratio3x4' has been explicitly marked unavailable here
2851 |
2852 | /// An aspect ratio of 3x4.
2853 | AVF_EXPORT AVCaptureAspectRatio const AVCaptureAspectRatio3x4 API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     |                                       `- note: 'ratio3x4' has been explicitly marked unavailable here
2854 |
2855 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMMetadataRouter.swift:55:19: error: 'AVCaptureMetadataOutput' is only available in macOS 13.0 or newer
51 | }
52 |
53 | extension PRMMetadataRouter: AVCaptureMetadataOutputObjectsDelegate {
   | `- note: add '@available' attribute to enclosing extension
54 |     public func metadataOutput(
   |                 `- note: add '@available' attribute to enclosing instance method
55 |         _ output: AVCaptureMetadataOutput,
   |                   `- error: 'AVCaptureMetadataOutput' is only available in macOS 13.0 or newer
56 |         didOutput metadataObjects: [AVMetadataObject],
57 |         from connection: AVCaptureConnection
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMRotationCoordinator.swift:31:45: error: 'RotationCoordinator' is only available in macOS 14.0 or newer
 27 | /// ```
 28 | @MainActor
 29 | public final class PRMRotationCoordinator {
    |                    `- note: add '@available' attribute to enclosing class
 30 |     /// The underlying Apple coordinator. Use this for one-shot angle reads.
 31 |     public let coordinator: AVCaptureDevice.RotationCoordinator
    |                                             `- error: 'RotationCoordinator' is only available in macOS 14.0 or newer
 32 |
 33 |     private var previewObservation: NSKeyValueObservation?
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMRotationCoordinator.swift:43:39: error: 'RotationCoordinator' is only available in macOS 14.0 or newer
 27 | /// ```
 28 | @MainActor
 29 | public final class PRMRotationCoordinator {
    |                    `- note: add '@available' attribute to enclosing class
 30 |     /// The underlying Apple coordinator. Use this for one-shot angle reads.
 31 |     public let coordinator: AVCaptureDevice.RotationCoordinator
    :
 40 |     /// so the system can rotate it automatically — otherwise pass `nil` and apply the angle
 41 |     /// from the stream yourself.
 42 |     public init(device: AVCaptureDevice, previewLayer: CALayer?) {
    |            `- note: add '@available' attribute to enclosing initializer
 43 |         coordinator = AVCaptureDevice.RotationCoordinator(device: device, previewLayer: previewLayer)
    |                                       |- error: 'RotationCoordinator' is only available in macOS 14.0 or newer
    |                                       `- note: add 'if #available' version check
 44 |         observeAngles()
 45 |     }
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraState.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraState.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCinematicVideo.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCinematicVideo.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMDetectedObject.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMDetectedObject.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMFraming.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMFraming.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMMetadataRouter.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMMetadataRouter.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMPermissions.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMPermissions.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMRotationCoordinator.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMRotationCoordinator.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMSessionError.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMSessionError.swift
SwiftCompile normal arm64 Compiling\ resource_bundle_accessor.swift,\ PRMCamera+Framing.swift,\ PRMCamera+ManualControls.swift,\ PRMCamera+Observers.swift,\ PRMCamera+SessionHealth.swift,\ PRMCamera+Tracking.swift,\ PRMCamera.swift,\ PRMCameraActor.swift,\ PRMCameraConfiguration.swift /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/DerivedSources/resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Framing.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+ManualControls.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Observers.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+SessionHealth.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraActor.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraConfiguration.swift (in target 'PrismCore' from project 'Prism')
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:187:51: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
 185 |
 186 |     /// The latest value sent on ``framingRecommendations``, handed to late subscribers.
 187 |     nonisolated let latestFramingRecommendation = OSAllocatedUnfairLock<PRMFraming?>(initialState: nil)
     |                                                   `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
 188 |
 189 |     /// Device-level KVO behind ``deviceEvents`` / ``framingRecommendations``.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession.swift:187:84: error: 'init(initialState:)' is only available in macOS 13.0 or newer
  16 | /// on the actor.
  17 | @PRMCameraActor
  18 | public final class PRMCameraSession {
     |                    `- note: add '@available' attribute to enclosing class
  19 |     // MARK: - Properties
  20 |
     :
 185 |
 186 |     /// The latest value sent on ``framingRecommendations``, handed to late subscribers.
 187 |     nonisolated let latestFramingRecommendation = OSAllocatedUnfairLock<PRMFraming?>(initialState: nil)
     |                                                                                    `- error: 'init(initialState:)' is only available in macOS 13.0 or newer
 188 |
 189 |     /// Device-level KVO behind ``deviceEvents`` / ``framingRecommendations``.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Observers.swift:83:37: error: type 'AVError.Code' has no member 'mediaServicesWereReset'
 81 |                 // AVFoundation stopped the session; restart it if the app still wants it
 82 |                 // running, or the preview stays black until a reconfigure.
 83 |                 if avError.code == .mediaServicesWereReset {
    |                                     `- error: type 'AVError.Code' has no member 'mediaServicesWereReset'
 84 |                     await session.restartAfterMediaServicesReset()
 85 |                     await refreshState()
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+SessionHealth.swift:17:27: error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
15 |     func setLensSmudgeDetection(interval: CMTime?) async {
16 |         await session.setLensSmudgeDetection(interval: interval)
17 |         _ = await session.awaitPhotoOutputReady()
   |                           `- error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
18 |         await refreshState()
19 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+SessionHealth.swift:24:27: error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
22 |     func setLowLightVideoNoiseReduction(_ mode: PRMLowLightVideoNoiseReduction) async {
23 |         await session.setLowLightVideoNoiseReduction(mode)
24 |         _ = await session.awaitPhotoOutputReady()
   |                           `- error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
25 |         await refreshState()
26 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift:26:27: error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
 24 |     func setMetadataObjectTypes(_ types: [AVMetadataObject.ObjectType]) async {
 25 |         await session.setMetadataObjectTypes(types)
 26 |         _ = await session.awaitPhotoOutputReady()
    |                           `- error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
 27 |     }
 28 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift:43:27: error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
 41 |             emitAnyError(error)
 42 |         }
 43 |         _ = await session.awaitPhotoOutputReady()
    |                           `- error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
 44 |         await refreshState()
 45 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift:89:31: error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
 87 |             // A failed enable may still have committed (the format attempt and its
 88 |             // rollback), so let the rebuild settle like any other mutation.
 89 |             _ = await session.awaitPhotoOutputReady()
    |                               `- error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
 90 |             // An overtaken enable leaves the camera to the toggle or switch that overtook it.
 91 |             if enabled, !(error is CancellationError), (error as? PRMSessionError) != .cancelled {
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift:98:27: error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
 96 |             throw error
 97 |         }
 98 |         _ = await session.awaitPhotoOutputReady()
    |                           `- error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
 99 |         if !enabled {
100 |             await returnFromCinematicVideoCamera()
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift:144:27: error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
142 |     func setCinematicMetadataCapture(_ policy: PRMCinematicMetadataCapture) async {
143 |         await session.setCinematicMetadataCapture(policy)
144 |         _ = await session.awaitPhotoOutputReady()
    |                           `- error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
145 |         await refreshState()
146 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift:197:50: error: 'isCinematicVideoCaptureSupported' is only available in macOS 26.0 or newer
157 | }
158 |
159 | extension PRMCamera {
    | `- note: add '@available' attribute to enclosing extension
160 |     /// Switches to the camera Cinematic Video runs on when the current one has no Cinematic
161 |     /// Video format, remembering the current one for ``returnFromCinematicVideoCamera()``.
    :
190 |     /// The switch ``switchCamera(to:)`` makes instead of landing on the position's usual
191 |     /// camera while Cinematic Video is on, or `nil` when the usual camera will do.
192 |     func cinematicVideoCamera(at position: AVCaptureDevice.Position) async -> CinematicReturn? {
    |          `- note: add '@available' attribute to enclosing instance method
193 |         guard #available(iOS 26.0, *), await session.wantsCinematicVideo,
194 |               let usual = await session.defaultVideoDeviceType(at: position)
195 |         else { return nil }
196 |         if let usualDevice = AVCaptureDevice.default(usual, for: .video, position: position),
197 |            usualDevice.formats.contains(where: \.isCinematicVideoCaptureSupported) {
    |                                                  |- error: 'isCinematicVideoCaptureSupported' is only available in macOS 26.0 or newer
    |                                                  `- note: add 'if #available' version check
198 |             return nil
199 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift:220:27: error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
218 |         }
219 |         // Success or failure, the attempt committed configuration changes.
220 |         _ = await session.awaitPhotoOutputReady()
    |                           `- error: value of type 'PRMCameraSession' has no member 'awaitPhotoOutputReady'
221 |     }
222 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMBurstLog.swift:20:37: error: 'milliseconds' is only available in macOS 13.0 or newer
 6 | /// between. Repeats of the logged text are dropped.
 7 | @MainActor
 8 | final class PRMBurstLog {
   |             `- note: add '@available' attribute to enclosing class
 9 |     private struct Burst {
10 |         var first: String
   :
18 |     private var bursts: [String: Burst] = [:]
19 |
20 |     init(quietInterval: Duration = .milliseconds(500)) {
   |     |                               `- error: 'milliseconds' is only available in macOS 13.0 or newer
   |     `- note: add '@available' attribute to enclosing initializer
21 |         self.quietInterval = quietInterval
22 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:717:42: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 715 |     /// Sets video stabilization on the preview and recording connections. Kept across camera
 716 |     /// switches and output rebuilds; ``state`` reports the mode actually active.
 717 |     public func setStabilization(_ mode: AVCaptureVideoStabilizationMode) async {
     |                                          `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 718 |         await session.setStabilization(mode)
 719 |         await refreshState()
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3299:28: note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3297 |
3298 | /// Constants indicating the modes of video stabilization supported by the device's format.
3299 | typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
     |                            `- note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3300 |     /// Indicates that video should not be stabilized.
3301 |     AVCaptureVideoStabilizationModeOff       = 0,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:762:81: error: 'Duration' is only available in macOS 13.0 or newer
  20 | /// ```
  21 | @MainActor
  22 | public final class PRMCamera {
     |                    `- note: add '@available' attribute to enclosing class
  23 |     // MARK: - Properties
  24 |
     :
 760 |
 761 |     /// Waits until `stream` ends or `timeout` passes, whichever comes first.
 762 |     nonisolated static func waitForFirst(of stream: AsyncStream<Void>, timeout: Duration) async {
     |                             |                                                   `- error: 'Duration' is only available in macOS 13.0 or newer
     |                             `- note: add '@available' attribute to enclosing static method
 763 |         await withTaskGroup(of: Void.self) { group in
 764 |             group.addTask {
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:182:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
  20 | /// ```
  21 | @MainActor
  22 | public final class PRMCamera {
     |                    `- note: add '@available' attribute to enclosing class
  23 |     // MARK: - Properties
  24 |
     :
 172 |     }
 173 |
 174 |     private func startDeviceEventPumpIfNeeded() {
     |                  `- note: add '@available' attribute to enclosing instance method
 175 |         guard deviceEventTask == nil else { return }
 176 |         let events = session.deviceEvents.makeStream()
     :
 180 |                 // The registry keeps only the latest tick, so pausing here caps refreshes at
 181 |                 // ~10 Hz even when a property (a variable aperture in auto) changes per frame.
 182 |                 try? await Task.sleep(for: .milliseconds(100))
     |                                 |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
     |                                 `- note: add 'if #available' version check
 183 |             }
 184 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:182:45: error: 'milliseconds' is only available in macOS 13.0 or newer
  20 | /// ```
  21 | @MainActor
  22 | public final class PRMCamera {
     |                    `- note: add '@available' attribute to enclosing class
  23 |     // MARK: - Properties
  24 |
     :
 172 |     }
 173 |
 174 |     private func startDeviceEventPumpIfNeeded() {
     |                  `- note: add '@available' attribute to enclosing instance method
 175 |         guard deviceEventTask == nil else { return }
 176 |         let events = session.deviceEvents.makeStream()
     :
 180 |                 // The registry keeps only the latest tick, so pausing here caps refreshes at
 181 |                 // ~10 Hz even when a property (a variable aperture in auto) changes per frame.
 182 |                 try? await Task.sleep(for: .milliseconds(100))
     |                                             |- error: 'milliseconds' is only available in macOS 13.0 or newer
     |                                             `- note: add 'if #available' version check
 183 |             }
 184 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:335:31: error: value of type 'PRMCameraSession' has no member 'setHighResolutionPhotoFormat'
 333 |         }
 334 |         do {
 335 |             try await session.setHighResolutionPhotoFormat(enabled)
     |                               `- error: value of type 'PRMCameraSession' has no member 'setHighResolutionPhotoFormat'
 336 |         } catch {
 337 |             reportFailure(error, operation: "setHighResolutionPhotoFormat")
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:468:35: error: 'currentISO' is unavailable in macOS
 466 |         // current" — don't write those into the intent, otherwise the slider
 467 |         // would freeze on the sentinel marker instead of the real current value.
 468 |         if iso != AVCaptureDevice.currentISO {
     |                                   `- error: 'currentISO' is unavailable in macOS
 469 |             intendedISO = iso
 470 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:67:24: note: 'currentISO' has been explicitly marked unavailable here
  65 | ///
  66 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to lock it to its current value. Note that the device may be adjusting ISO at the time of the call, in which case ``AVCaptureDevice/ISO`` may be locked to different value than the value obtained by querying the property.
  67 | AVF_EXPORT const float AVCaptureISOCurrent API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                        `- note: 'currentISO' has been explicitly marked unavailable here
  68 |
  69 | /// A special value that may be passed as the lensAperture parameter of a device's `setExposureModeCustom...` methods to allow the system's auto-exposure system to manage the aperture.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:471:58: error: 'currentExposureDuration' is unavailable in macOS
 469 |             intendedISO = iso
 470 |         }
 471 |         if duration.isValid, duration != AVCaptureDevice.currentExposureDuration {
     |                                                          `- error: 'currentExposureDuration' is unavailable in macOS
 472 |             let seconds = CMTimeGetSeconds(duration)
 473 |             if seconds > 0, seconds.isFinite {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:62:25: note: 'currentExposureDuration' has been explicitly marked unavailable here
  60 | ///
  61 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to lock it to its current value. Note that the device may be adjusting exposure duration at the time of the call, in which case ``AVCaptureDevice/exposureDuration`` may be locked to different value than the value obtained by querying the property.
  62 | AVF_EXPORT const CMTime AVCaptureExposureDurationCurrent API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                         `- note: 'currentExposureDuration' has been explicitly marked unavailable here
  63 |
  64 | /// A special value that may be passed as the ISO parameter of a device's `setExposureModeCustom...` methods to lock at the current gain value.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:753:62: error: 'seconds' is only available in macOS 13.0 or newer
  20 | /// ```
  21 | @MainActor
  22 | public final class PRMCamera {
     |                    `- note: add '@available' attribute to enclosing class
  23 |     // MARK: - Properties
  24 |
     :
 724 |     /// session is stopped or interrupted). Devices that can't lock a custom lens position
 725 |     /// (virtual multi-camera devices) and Cinematic Video emit an error on ``errorStream()``.
 726 |     public func setLensPosition(_ position: Float) async {
     |                 `- note: add '@available' attribute to enclosing instance method
 727 |         burstLog.record("setLensPosition", "PRMCamera.setLensPosition(\(position))")
 728 |         // Check Cinematic Video and start the lens move in one actor turn, then wait for
     :
 751 |         clearThrottledLogs(for: "setLensPosition")
 752 |         if started {
 753 |             await Self.waitForFirst(of: lensMoved, timeout: .seconds(1))
     |                                                              |- error: 'seconds' is only available in macOS 13.0 or newer
     |                                                              `- note: add 'if #available' version check
 754 |         } else {
 755 |             // No video device: nothing will finish the stream.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:768:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
  20 | /// ```
  21 | @MainActor
  22 | public final class PRMCamera {
     |                    `- note: add '@available' attribute to enclosing class
  23 |     // MARK: - Properties
  24 |
     :
 760 |
 761 |     /// Waits until `stream` ends or `timeout` passes, whichever comes first.
 762 |     nonisolated static func waitForFirst(of stream: AsyncStream<Void>, timeout: Duration) async {
     |                             `- note: add '@available' attribute to enclosing static method
 763 |         await withTaskGroup(of: Void.self) { group in
 764 |             group.addTask {
     :
 766 |             }
 767 |             group.addTask {
 768 |                 try? await Task.sleep(for: timeout)
     |                                 |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
     |                                 `- note: add 'if #available' version check
 769 |             }
 770 |             await group.next()
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:810:63: error: 'currentExposureDuration' is unavailable in macOS
 808 |         }
 809 |         guard let resolvedBaseline, resolvedBaseline.iso > 0, iso > 0 else {
 810 |             await setCustomExposure(duration: AVCaptureDevice.currentExposureDuration, iso: iso)
     |                                                               `- error: 'currentExposureDuration' is unavailable in macOS
 811 |             return
 812 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:62:25: note: 'currentExposureDuration' has been explicitly marked unavailable here
  60 | ///
  61 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to lock it to its current value. Note that the device may be adjusting exposure duration at the time of the call, in which case ``AVCaptureDevice/exposureDuration`` may be locked to different value than the value obtained by querying the property.
  62 | AVF_EXPORT const CMTime AVCaptureExposureDurationCurrent API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                         `- note: 'currentExposureDuration' has been explicitly marked unavailable here
  63 |
  64 | /// A special value that may be passed as the ISO parameter of a device's `setExposureModeCustom...` methods to lock at the current gain value.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:840:80: error: 'currentISO' is unavailable in macOS
 838 |         guard let resolvedBaseline, resolvedBaseline.durationSeconds > 0, seconds > 0 else {
 839 |             let durationCM = CMTimeMakeWithSeconds(seconds, preferredTimescale: 1_000_000)
 840 |             await setCustomExposure(duration: durationCM, iso: AVCaptureDevice.currentISO)
     |                                                                                `- error: 'currentISO' is unavailable in macOS
 841 |             return
 842 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:67:24: note: 'currentISO' has been explicitly marked unavailable here
  65 | ///
  66 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to lock it to its current value. Note that the device may be adjusting ISO at the time of the call, in which case ``AVCaptureDevice/ISO`` may be locked to different value than the value obtained by querying the property.
  67 | AVF_EXPORT const float AVCaptureISOCurrent API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                        `- note: 'currentISO' has been explicitly marked unavailable here
  68 |
  69 | /// A special value that may be passed as the lensAperture parameter of a device's `setExposureModeCustom...` methods to allow the system's auto-exposure system to manage the aperture.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:875:28: error: 'minISO' is unavailable in macOS
 873 |                 let format = device.activeFormat
 874 |                 return (
 875 |                     format.minISO,
     |                            `- error: 'minISO' is unavailable in macOS
 876 |                     format.maxISO,
 877 |                     CMTimeGetSeconds(format.minExposureDuration),
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3535:38: note: 'minISO' has been explicitly marked unavailable here
3533 |     This read-only property indicates the minimum supported exposure ISO value.
3534 |  */
3535 | @property(nonatomic, readonly) float minISO API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                      `- note: 'minISO' has been explicitly marked unavailable here
3536 |
3537 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:876:28: error: 'maxISO' is unavailable in macOS
 874 |                 return (
 875 |                     format.minISO,
 876 |                     format.maxISO,
     |                            `- error: 'maxISO' is unavailable in macOS
 877 |                     CMTimeGetSeconds(format.minExposureDuration),
 878 |                     CMTimeGetSeconds(format.maxExposureDuration)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3545:38: note: 'maxISO' has been explicitly marked unavailable here
3543 |     This read-only property indicates the maximum supported exposure ISO value.
3544 |  */
3545 | @property(nonatomic, readonly) float maxISO API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                      `- note: 'maxISO' has been explicitly marked unavailable here
3546 |
3547 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:877:45: error: 'minExposureDuration' is unavailable in macOS
 875 |                     format.minISO,
 876 |                     format.maxISO,
 877 |                     CMTimeGetSeconds(format.minExposureDuration),
     |                                             `- error: 'minExposureDuration' is unavailable in macOS
 878 |                     CMTimeGetSeconds(format.maxExposureDuration)
 879 |                 )
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3503:39: note: 'minExposureDuration' has been explicitly marked unavailable here
3501 |     This read-only property indicates the minimum supported exposure duration.
3502 |  */
3503 | @property(nonatomic, readonly) CMTime minExposureDuration API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                       `- note: 'minExposureDuration' has been explicitly marked unavailable here
3504 |
3505 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift:878:45: error: 'maxExposureDuration' is unavailable in macOS
 876 |                     format.maxISO,
 877 |                     CMTimeGetSeconds(format.minExposureDuration),
 878 |                     CMTimeGetSeconds(format.maxExposureDuration)
     |                                             `- error: 'maxExposureDuration' is unavailable in macOS
 879 |                 )
 880 |             }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3513:39: note: 'maxExposureDuration' has been explicitly marked unavailable here
3511 |     This read-only property indicates the maximum supported exposure duration.
3512 |  */
3513 | @property(nonatomic, readonly) CMTime maxExposureDuration API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                       `- note: 'maxExposureDuration' has been explicitly marked unavailable here
3514 |
3515 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraConfiguration.swift:41:68: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
  5 | /// Sensible defaults match a photo + filtered-video preview workflow. Customize before passing
  6 | /// to ``PRMCameraSession/configure(_:)``.
  7 | public struct PRMCameraConfiguration: Sendable {
    |               `- note: add '@available' attribute to enclosing struct
  8 |     /// The session preset controlling output quality.
  9 |     public var sessionPreset: AVCaptureSession.Preset
    :
 39 |     /// Photo quality prioritization ceiling. Per-capture requests may select up to this level.
 40 |     /// (Replaces the deprecated `isAutoStillImageStabilizationEnabled` flag.)
 41 |     public var maxPhotoQualityPrioritization: AVCapturePhotoOutput.QualityPrioritization
    |                                                                    `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 42 |
 43 |     /// iOS 17+: enable overlapping capture phases for faster shot-to-shot.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraConfiguration.swift:68:49: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 66 |     /// live preview never gets the latency-heavy cinematic modes: it runs unstabilized in the
 67 |     /// photo modes and with iOS 26's `.lowLatency` while a movie output is attached.
 68 |     public var preferredVideoStabilizationMode: AVCaptureVideoStabilizationMode
    |                                                 `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 69 |
 70 |     /// iPad-only (iOS 16+): allow camera capture while the app is multitasking. iPhone returns
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3299:28: note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3297 |
3298 | /// Constants indicating the modes of video stabilization supported by the device's format.
3299 | typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
     |                            `- note: 'AVCaptureVideoStabilizationMode' has been explicitly marked unavailable here
3300 |     /// Indicates that video should not be stabilized.
3301 |     AVCaptureVideoStabilizationModeOff       = 0,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraConfiguration.swift:142:61: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
  5 | /// Sensible defaults match a photo + filtered-video preview workflow. Customize before passing
  6 | /// to ``PRMCameraSession/configure(_:)``.
  7 | public struct PRMCameraConfiguration: Sendable {
    |               `- note: add '@available' attribute to enclosing struct
  8 |     /// The session preset controlling output quality.
  9 |     public var sessionPreset: AVCaptureSession.Preset
    :
130 |     public var enableCameraSensorOrientationCompensation: Bool?
131 |
132 |     public init(
    |            `- note: add '@available' attribute to enclosing initializer
133 |         sessionPreset: AVCaptureSession.Preset = .photo,
134 |         cameraPosition: AVCaptureDevice.Position = .back,
    :
140 |         videoPixelFormat: OSType = kCVPixelFormatType_32BGRA,
141 |         discardsLateVideoFrames: Bool = true,
142 |         maxPhotoQualityPrioritization: AVCapturePhotoOutput.QualityPrioritization = .quality,
    |                                                             `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
143 |         enableResponsiveCapture: Bool = true,
144 |         enableAutoDeferredPhotoDelivery: Bool = true,
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile resource_bundle_accessor.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Framing.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCamera+Framing.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+ManualControls.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCamera+ManualControls.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Observers.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCamera+Observers.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+SessionHealth.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCamera+SessionHealth.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera+Tracking.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCamera+Tracking.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCamera.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCamera.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraActor.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraActor.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraConfiguration.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraConfiguration.swift
SwiftCompile normal arm64 Compiling\ PRMCameraDevice.swift,\ PRMCameraSession+Cinematic.swift,\ PRMCameraSession+Controls.swift,\ PRMCameraSession+DeviceObservers.swift,\ PRMCameraSession+Features.swift,\ PRMCameraSession+Format.swift,\ PRMCameraSession+Metadata.swift,\ PRMCameraSession+NightCapture.swift,\ PRMCameraSession+State.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraDevice.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Cinematic.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Controls.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+DeviceObservers.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Features.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Format.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Metadata.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+NightCapture.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+State.swift (in target 'PrismCore' from project 'Prism')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraDevice.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraDevice.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Cinematic.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession+Cinematic.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Controls.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession+Controls.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+DeviceObservers.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession+DeviceObservers.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Features.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession+Features.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Format.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession+Format.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+Metadata.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession+Metadata.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+NightCapture.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession+NightCapture.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+State.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMCameraSession+State.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-10-12 14:36:31.106 xcodebuild[768:4680] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:442a53b9e46c08c26330e8018b996d8471f03a37, name:My Mac }
{ platform:macOS, arch:arm64, variant:Mac Catalyst, id:442a53b9e46c08c26330e8018b996d8471f03a37, name:My Mac }
{ platform:macOS, arch:arm64, variant:DriverKit, id:442a53b9e46c08c26330e8018b996d8471f03a37, name:My Mac }
{ platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:442a53b9e46c08c26330e8018b996d8471f03a37, name:My Mac }
** BUILD FAILED **
The following build commands failed:
	SwiftEmitModule normal arm64 Emitting\ module\ for\ PrismCore (in target 'PrismCore' from project 'Prism')
	SwiftCompile normal arm64 (in target 'PrismCore' from project 'Prism')
	Building workspace Prism with scheme Prism-Package
(3 failures)
BUILD FAILURE 6.4 macosXcodebuild