The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Prism, reference main (5483af), with Swift 6.4 for macOS (Xcode) using Xcode 27.0 on 12 Oct 2026 18:41:21 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

336 |             exposureDuration: CMTimeGetSeconds(device.exposureDuration),
337 |             targetOffset: device.exposureTargetOffset
/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/Capture/PRMPortraitReadiness.swift:336:55: error: 'exposureDuration' is unavailable in macOS
334 |             iso: device.iso,
335 |             maxISO: device.activeFormat.maxISO,
336 |             exposureDuration: CMTimeGetSeconds(device.exposureDuration),
    |                                                       `- error: 'exposureDuration' is unavailable in macOS
337 |             targetOffset: device.exposureTargetOffset
338 |         )
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1558:39: note: 'exposureDuration' has been explicitly marked unavailable here
1556 | ///
1557 | /// Lower values increases the sharpness of objects in motion, but darkens the image unless the aperture is opened or ISO is increased. Exposure duration may be less than the frame duration, providing an anagolue to the shutter angle of film video cameras. This property is key-value observable. It can be read at any time, regardless of exposure mode, but can only be set by either ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:``.
1558 | @property(nonatomic, readonly) CMTime exposureDuration API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                       `- note: 'exposureDuration' has been explicitly marked unavailable here
1559 |
1560 | /// The current exposure ISO value.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPortraitReadiness.swift:337:34: error: 'exposureTargetOffset' is unavailable in macOS
335 |             maxISO: device.activeFormat.maxISO,
336 |             exposureDuration: CMTimeGetSeconds(device.exposureDuration),
337 |             targetOffset: device.exposureTargetOffset
    |                                  `- error: 'exposureTargetOffset' is unavailable in macOS
338 |         )
339 |         let lens = device.activePrimaryConstituent ?? device
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1661:38: note: 'exposureTargetOffset' has been explicitly marked unavailable here
1659 |     The value of this read-only property indicates the difference between the metered exposure level of the current scene and the target exposure value. This property is key-value observable.
1660 |  */
1661 | @property(nonatomic, readonly) float exposureTargetOffset API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                      `- note: 'exposureTargetOffset' has been explicitly marked unavailable here
1662 |
1663 | /// Bias applied to the target exposure value, in EV units.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMVideoRecorder.swift:119:28: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
117 |     public func start(
118 |         rotationAngle: CGFloat? = nil,
119 |         stabilizationMode: AVCaptureVideoStabilizationMode? = nil
    |                            `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
120 |     ) async throws {
121 |         PRMLog.debug(
/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/Capture/PRMVideoRecorder.swift:181:28: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
179 |     private func preparedOutput(
180 |         rotationAngle: CGFloat?,
181 |         stabilizationMode: AVCaptureVideoStabilizationMode?
    |                            `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
182 |     ) async throws -> AVCaptureMovieFileOutput {
183 |         guard let resolvedOutput = await resolver.resolve() else {
/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/Capture/PRMVideoRecorder.swift:204:42: error: 'isVideoRotationAngleSupported' is only available in macOS 14.0 or newer
 25 | /// let recorder = PRMVideoRecorder(output: movieFileOutput)
 26 | /// ```
 27 | public final class PRMVideoRecorder: NSObject, @unchecked Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 28 |     // MARK: - State
 29 |
    :
177 |     /// full reconfigure) between the app deciding it's in video mode and the user tapping
178 |     /// record.
179 |     private func preparedOutput(
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         rotationAngle: CGFloat?,
181 |         stabilizationMode: AVCaptureVideoStabilizationMode?
    :
202 |             )
203 |         }
204 |         if let rotationAngle, connection.isVideoRotationAngleSupported(rotationAngle) {
    |                                          |- error: 'isVideoRotationAngleSupported' is only available in macOS 14.0 or newer
    |                                          `- note: add 'if #available' version check
205 |             connection.videoRotationAngle = rotationAngle
206 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMVideoRecorder.swift:205:24: error: 'videoRotationAngle' is only available in macOS 14.0 or newer
 25 | /// let recorder = PRMVideoRecorder(output: movieFileOutput)
 26 | /// ```
 27 | public final class PRMVideoRecorder: NSObject, @unchecked Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 28 |     // MARK: - State
 29 |
    :
177 |     /// full reconfigure) between the app deciding it's in video mode and the user tapping
178 |     /// record.
179 |     private func preparedOutput(
    |                  `- note: add '@available' attribute to enclosing instance method
180 |         rotationAngle: CGFloat?,
181 |         stabilizationMode: AVCaptureVideoStabilizationMode?
    :
203 |         }
204 |         if let rotationAngle, connection.isVideoRotationAngleSupported(rotationAngle) {
205 |             connection.videoRotationAngle = rotationAngle
    |                        |- error: 'videoRotationAngle' is only available in macOS 14.0 or newer
    |                        `- note: add 'if #available' version check
206 |         }
207 |         if let stabilizationMode {
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureConnection+Stabilization.swift:11:39: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 9 |     /// iOS 26 adds `.lowLatency`: a reduced field of view like `.standard`, but with no
10 |     /// added pipeline latency, which suits live preview and real-time processing.
11 |     func prm_setStabilization(_ mode: AVCaptureVideoStabilizationMode) {
   |                                       `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
12 |         guard isVideoStabilizationSupported else { return }
13 |         preferredVideoStabilizationMode = mode
/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/Device/AVCaptureConnection+Stabilization.swift:12:15: error: 'isVideoStabilizationSupported' is unavailable in macOS
10 |     /// added pipeline latency, which suits live preview and real-time processing.
11 |     func prm_setStabilization(_ mode: AVCaptureVideoStabilizationMode) {
12 |         guard isVideoStabilizationSupported else { return }
   |               `- error: 'isVideoStabilizationSupported' is unavailable in macOS
13 |         preferredVideoStabilizationMode = mode
14 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSession.h:1233:75: note: 'isVideoStabilizationSupported' has been explicitly marked unavailable here
1231 |     This property is only applicable to AVCaptureConnection instances involving video. In such connections, the -enablesVideoStabilizationWhenAvailable property may only be set if -supportsVideoStabilization returns YES. This property returns YES if the connection's input device has one or more formats that support video stabilization and the connection's output supports video stabilization (or in the case of ProRes RAW, support stabilization metadata attachments).  See [AVCaptureDeviceFormat isVideoStabilizationModeSupported:] to check which video stabilization modes are supported by the active device format.
1232 |  */
1233 | @property(nonatomic, readonly, getter=isVideoStabilizationSupported) BOOL supportsVideoStabilization API_AVAILABLE(ios(6.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                                           `- note: 'isVideoStabilizationSupported' has been explicitly marked unavailable here
1234 |
1235 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureConnection+Stabilization.swift:13:9: error: 'preferredVideoStabilizationMode' is unavailable in macOS
11 |     func prm_setStabilization(_ mode: AVCaptureVideoStabilizationMode) {
12 |         guard isVideoStabilizationSupported else { return }
13 |         preferredVideoStabilizationMode = mode
   |         `- error: 'preferredVideoStabilizationMode' is unavailable in macOS
14 |     }
15 | }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSession.h:1213:54: note: 'preferredVideoStabilizationMode' has been explicitly marked unavailable here
1211 |     Enabling video stabilization introduces additional latency into the video capture pipeline and may consume more system memory depending on the stabilization mode and format. If the preferred stabilization mode isn't available, the activeVideoStabilizationMode will be set to AVCaptureVideoStabilizationModeOff. Clients may key-value observe the activeVideoStabilizationMode property to know which stabilization mode is in use or when it is off. The default value is AVCaptureVideoStabilizationModeOff. When setting this property to AVCaptureVideoStabilizationModeAuto, an appropriate stabilization mode will be chosen based on the format and frame rate. For apps linked before iOS 6.0, the default value is AVCaptureVideoStabilizationModeStandard for a video connection attached to an AVCaptureMovieFileOutput instance. For apps linked on or after iOS 6.0, the default value is always AVCaptureVideoStabilizationModeOff. Setting a video stabilization mode using this property may change the value of enablesVideoStabilizationWhenAvailable.
1212 |  */
1213 | @property(nonatomic) AVCaptureVideoStabilizationMode preferredVideoStabilizationMode API_AVAILABLE(ios(8.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                      `- note: 'preferredVideoStabilizationMode' has been explicitly marked unavailable here
1214 |
1215 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:15:22: error: 'minLensAperture' is unavailable in macOS
 13 |         guard #available(iOS 27.0, *) else { return nil }
 14 |         let format = activeFormat
 15 |         guard format.minLensAperture > 0, format.maxLensAperture > format.minLensAperture else { return nil }
    |                      `- error: 'minLensAperture' is unavailable in macOS
 16 |         return format.minLensAperture ... format.maxLensAperture
 17 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3487:38: note: 'minLensAperture' has been explicitly marked unavailable here
3485 |
3486 | /// The minimum supported value for the ``AVCaptureDevice/lensAperture`` property.
3487 | @property(nonatomic, readonly) float minLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'minLensAperture' has been explicitly marked unavailable here
3488 |
3489 | /// The maximum supported value for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:15:50: error: 'maxLensAperture' is unavailable in macOS
 13 |         guard #available(iOS 27.0, *) else { return nil }
 14 |         let format = activeFormat
 15 |         guard format.minLensAperture > 0, format.maxLensAperture > format.minLensAperture else { return nil }
    |                                                  `- error: 'maxLensAperture' is unavailable in macOS
 16 |         return format.minLensAperture ... format.maxLensAperture
 17 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3490:38: note: 'maxLensAperture' has been explicitly marked unavailable here
3488 |
3489 | /// The maximum supported value for the ``AVCaptureDevice/lensAperture`` property.
3490 | @property(nonatomic, readonly) float maxLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'maxLensAperture' has been explicitly marked unavailable here
3491 |
3492 | /// The default value for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:15:75: error: 'minLensAperture' is unavailable in macOS
 13 |         guard #available(iOS 27.0, *) else { return nil }
 14 |         let format = activeFormat
 15 |         guard format.minLensAperture > 0, format.maxLensAperture > format.minLensAperture else { return nil }
    |                                                                           `- error: 'minLensAperture' is unavailable in macOS
 16 |         return format.minLensAperture ... format.maxLensAperture
 17 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3487:38: note: 'minLensAperture' has been explicitly marked unavailable here
3485 |
3486 | /// The minimum supported value for the ``AVCaptureDevice/lensAperture`` property.
3487 | @property(nonatomic, readonly) float minLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'minLensAperture' has been explicitly marked unavailable here
3488 |
3489 | /// The maximum supported value for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:16:23: error: 'minLensAperture' is unavailable in macOS
 14 |         let format = activeFormat
 15 |         guard format.minLensAperture > 0, format.maxLensAperture > format.minLensAperture else { return nil }
 16 |         return format.minLensAperture ... format.maxLensAperture
    |                       `- error: 'minLensAperture' 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:3487:38: note: 'minLensAperture' has been explicitly marked unavailable here
3485 |
3486 | /// The minimum supported value for the ``AVCaptureDevice/lensAperture`` property.
3487 | @property(nonatomic, readonly) float minLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'minLensAperture' has been explicitly marked unavailable here
3488 |
3489 | /// The maximum supported value for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:16:50: error: 'maxLensAperture' is unavailable in macOS
 14 |         let format = activeFormat
 15 |         guard format.minLensAperture > 0, format.maxLensAperture > format.minLensAperture else { return nil }
 16 |         return format.minLensAperture ... format.maxLensAperture
    |                                                  `- error: 'maxLensAperture' 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:3490:38: note: 'maxLensAperture' has been explicitly marked unavailable here
3488 |
3489 | /// The maximum supported value for the ``AVCaptureDevice/lensAperture`` property.
3490 | @property(nonatomic, readonly) float maxLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'maxLensAperture' has been explicitly marked unavailable here
3491 |
3492 | /// The default value for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:25:27: error: 'automaticallyAdjustsLensAperture' is unavailable in macOS
 23 |         guard #available(iOS 27.0, *) else { return PRMExposureAxes(exposureMode: exposureMode) }
 24 |         return PRMExposureAxes(
 25 |             apertureAuto: automaticallyAdjustsLensAperture,
    |                           `- error: 'automaticallyAdjustsLensAperture' is unavailable in macOS
 26 |             shutterAuto: automaticallyAdjustsExposureDuration,
 27 |             isoAuto: automaticallyAdjustsISO
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1645:37: note: 'automaticallyAdjustsLensAperture' has been explicitly marked unavailable here
1643 |
1644 | /// This property reports true whenever lensAperture is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureLensApertureAuto` to the aperture parameter of ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:``.
1645 | @property(nonatomic, readonly) BOOL automaticallyAdjustsLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos);
     |                                     `- note: 'automaticallyAdjustsLensAperture' has been explicitly marked unavailable here
1646 |
1647 | /// This property reports true whenever exposureDuration is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureExposureDurationAuto` to the duration parameter of ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:``.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:26:26: error: 'automaticallyAdjustsExposureDuration' is unavailable in macOS
 24 |         return PRMExposureAxes(
 25 |             apertureAuto: automaticallyAdjustsLensAperture,
 26 |             shutterAuto: automaticallyAdjustsExposureDuration,
    |                          `- error: 'automaticallyAdjustsExposureDuration' is unavailable in macOS
 27 |             isoAuto: automaticallyAdjustsISO
 28 |         )
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1648:37: note: 'automaticallyAdjustsExposureDuration' has been explicitly marked unavailable here
1646 |
1647 | /// This property reports true whenever exposureDuration is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureExposureDurationAuto` to the duration parameter of ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:``.
1648 | @property(nonatomic, readonly) BOOL automaticallyAdjustsExposureDuration API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos);
     |                                     `- note: 'automaticallyAdjustsExposureDuration' has been explicitly marked unavailable here
1649 |
1650 | /// This property reports true whenever ISO is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureISOAuto` to the ISO parameter of ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:``.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:27:22: error: 'automaticallyAdjustsISO' is unavailable in macOS
 25 |             apertureAuto: automaticallyAdjustsLensAperture,
 26 |             shutterAuto: automaticallyAdjustsExposureDuration,
 27 |             isoAuto: automaticallyAdjustsISO
    |                      `- error: 'automaticallyAdjustsISO' is unavailable in macOS
 28 |         )
 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:1651:37: note: 'automaticallyAdjustsISO' has been explicitly marked unavailable here
1649 |
1650 | /// This property reports true whenever ISO is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureISOAuto` to the ISO parameter of ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:``.
1651 | @property(nonatomic, readonly) BOOL automaticallyAdjustsISO API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos);
     |                                     `- note: 'automaticallyAdjustsISO' has been explicitly marked unavailable here
1652 |
1653 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:43:29: error: 'supportsExposureModeCustom(lensAperture:duration:iso:)' is unavailable in macOS
 41 |         guard #available(iOS 27.0, *) else { return false }
 42 |         let values = prm_resolvedExposureValues(aperture: aperture, shutterSeconds: shutterSeconds, iso: iso)
 43 |         return activeFormat.supportsExposureModeCustom(
    |                             `- error: 'supportsExposureModeCustom(lensAperture:duration:iso:)' is unavailable in macOS
 44 |             lensAperture: values.aperture,
 45 |             duration: values.duration,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3475:1: note: 'supportsExposureModeCustom(lensAperture:duration:iso:)' has been explicitly marked unavailable here
3473 |  Devices that have fixed aperture will have equivalent support for ``AVFCapture/AVCaptureLensApertureAuto`` and ``AVFCapture/AVCaptureLensApertureCurrent``.
3474 |  */
3475 | - (BOOL)supportsExposureModeCustomWithLensAperture:(float)lensAperture duration:(CMTime)duration ISO:(float)ISO NS_SWIFT_NAME(supportsExposureModeCustom(lensAperture:duration:iso:)) API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'supportsExposureModeCustom(lensAperture:duration:iso:)' has been explicitly marked unavailable here
3476 |
3477 | /** A sorted array of recommended values for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:84:28: error: 'supportsExposureModeCustom(lensAperture:duration:iso:)' is unavailable in macOS
 82 |         }
 83 |         let values = prm_resolvedExposureValues(aperture: aperture, shutterSeconds: shutterSeconds, iso: iso)
 84 |         guard activeFormat.supportsExposureModeCustom(
    |                            `- error: 'supportsExposureModeCustom(lensAperture:duration:iso:)' is unavailable in macOS
 85 |             lensAperture: values.aperture,
 86 |             duration: values.duration,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3475:1: note: 'supportsExposureModeCustom(lensAperture:duration:iso:)' has been explicitly marked unavailable here
3473 |  Devices that have fixed aperture will have equivalent support for ``AVFCapture/AVCaptureLensApertureAuto`` and ``AVFCapture/AVCaptureLensApertureCurrent``.
3474 |  */
3475 | - (BOOL)supportsExposureModeCustomWithLensAperture:(float)lensAperture duration:(CMTime)duration ISO:(float)ISO NS_SWIFT_NAME(supportsExposureModeCustom(lensAperture:duration:iso:)) API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'supportsExposureModeCustom(lensAperture:duration:iso:)' has been explicitly marked unavailable here
3476 |
3477 | /** A sorted array of recommended values for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:98:13: error: 'setExposureModeCustom(lensAperture:duration:iso:completionHandler:)' is unavailable in macOS
 96 |                 prm_restoreExposureAutoTracking()
 97 |             }
 98 |             setExposureModeCustom(
    |             `- error: 'setExposureModeCustom(lensAperture:duration:iso:completionHandler:)' is unavailable in macOS
 99 |                 lensAperture: values.aperture,
100 |                 duration: values.duration,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1642:1: note: 'setExposureModeCustom(lensAperture:duration:iso:completionHandler:)' has been explicitly marked unavailable here
1640 |  - Throws: `NSGenericException` if called without first obtaining exclusive access to the receiver using ``lockForConfiguration:``.
1641 |  */
1642 | - (void)setExposureModeCustomWithLensAperture:(float)lensAperture duration:(CMTime)duration ISO:(float)ISO completionHandler:(nullable void (^)(CMTime syncTime))handler NS_SWIFT_NAME(setExposureModeCustom(lensAperture:duration:iso:completionHandler:)) API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos);
     | `- note: 'setExposureModeCustom(lensAperture:duration:iso:completionHandler:)' has been explicitly marked unavailable here
1643 |
1644 | /// This property reports true whenever lensAperture is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureLensApertureAuto` to the aperture parameter of ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:``.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:116:13: error: 'autoExposureLensApertureRateLimit' is unavailable in macOS
114 |         let value: Float = ratio <= 0 ? 0 : max(ratio, 1)
115 |         try prm_withConfigurationLock {
116 |             autoExposureLensApertureRateLimit = value
    |             `- error: 'autoExposureLensApertureRateLimit' is unavailable in macOS
117 |         }
118 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1576:28: note: 'autoExposureLensApertureRateLimit' has been explicitly marked unavailable here
1574 | ///
1575 | /// - Throws: `NSGenericException` if assigned without first obtaining exclusive access to the receiver using ``lockForConfiguration:``.
1576 | @property(nonatomic) float autoExposureLensApertureRateLimit API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                            `- note: 'autoExposureLensApertureRateLimit' has been explicitly marked unavailable here
1577 |
1578 | /** Sets a custom exposure mode with the specified lens exposure duration and ISO values.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:125:44: error: 'activeExposureSignals' is unavailable in macOS
123 |     var prm_activeExposureSignals: Set<PRMExposureSignal> {
124 |         guard #available(iOS 27.0, *) else { return [] }
125 |         return PRMExposureSignal.set(from: activeExposureSignals)
    |                                            `- error: 'activeExposureSignals' is unavailable in macOS
126 |     }
127 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1712:79: note: 'activeExposureSignals' has been explicitly marked unavailable here
1710 |
1711 | /// Reports which characteristics the auto exposure system associates with the current scene. Auto exposure may adjust properties such as lens aperture size based on these factors. This property is key-value observable.
1712 | @property(nonatomic, readonly, nonnull) NSSet<AVCaptureDeviceExposureSignal> *activeExposureSignals API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                                               `- note: 'activeExposureSignals' has been explicitly marked unavailable here
1713 |
1714 | /// Can be assigned to control which characteristics AE should use in its decision making, must be a subset of supportedExposureSignals.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:137:17: error: 'automaticallyEnablesExposureSignals' is unavailable in macOS
135 |         try prm_withConfigurationLock {
136 |             guard let signals else {
137 |                 automaticallyEnablesExposureSignals = true
    |                 `- error: 'automaticallyEnablesExposureSignals' is unavailable in macOS
138 |                 return
139 |             }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1730:27: note: 'automaticallyEnablesExposureSignals' has been explicitly marked unavailable here
1728 | ///
1729 | /// - Throws: `NSGenericException` if assigned without first obtaining exclusive access to the receiver using ``lockForConfiguration:``.
1730 | @property(nonatomic) BOOL automaticallyEnablesExposureSignals API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                           `- note: 'automaticallyEnablesExposureSignals' has been explicitly marked unavailable here
1731 | @end
1732 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:140:13: error: 'automaticallyEnablesExposureSignals' is unavailable in macOS
138 |                 return
139 |             }
140 |             automaticallyEnablesExposureSignals = false
    |             `- error: 'automaticallyEnablesExposureSignals' is unavailable in macOS
141 |             let supported = supportedExposureSignals
142 |             enabledExposureSignals = Set(signals.map(\.avSignal)).intersection(supported)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1730:27: note: 'automaticallyEnablesExposureSignals' has been explicitly marked unavailable here
1728 | ///
1729 | /// - Throws: `NSGenericException` if assigned without first obtaining exclusive access to the receiver using ``lockForConfiguration:``.
1730 | @property(nonatomic) BOOL automaticallyEnablesExposureSignals API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                           `- note: 'automaticallyEnablesExposureSignals' has been explicitly marked unavailable here
1731 | @end
1732 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:141:29: error: 'supportedExposureSignals' is unavailable in macOS
139 |             }
140 |             automaticallyEnablesExposureSignals = false
141 |             let supported = supportedExposureSignals
    |                             `- error: 'supportedExposureSignals' is unavailable in macOS
142 |             enabledExposureSignals = Set(signals.map(\.avSignal)).intersection(supported)
143 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1723:79: note: 'supportedExposureSignals' has been explicitly marked unavailable here
1721 |
1722 | /// Indicates what values can be included in `enabledExposureSignals`. This property is key-value observable.
1723 | @property(nonatomic, readonly, nonnull) NSSet<AVCaptureDeviceExposureSignal> *supportedExposureSignals API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                                               `- note: 'supportedExposureSignals' has been explicitly marked unavailable here
1724 |
1725 | /// When true (the default), capture sessions may automatically modify `enabledExposureSignals` based on changes to other device or session properties.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:142:13: error: 'enabledExposureSignals' is unavailable in macOS
140 |             automaticallyEnablesExposureSignals = false
141 |             let supported = supportedExposureSignals
142 |             enabledExposureSignals = Set(signals.map(\.avSignal)).intersection(supported)
    |             `- error: 'enabledExposureSignals' is unavailable in macOS
143 |         }
144 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:1720:69: note: 'enabledExposureSignals' has been explicitly marked unavailable here
1718 | /// - Throws: `NSInvalidArgumentException` if assigned while `automaticallyEnablesExposureSignals` is true
1719 | /// - Throws: `NSGenericException` if assigned without first obtaining exclusive access to the receiver using ``lockForConfiguration:``.
1720 | @property(nonatomic, nonnull) NSSet<AVCaptureDeviceExposureSignal> *enabledExposureSignals API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE( watchos);
     |                                                                     `- note: 'enabledExposureSignals' has been explicitly marked unavailable here
1721 |
1722 | /// Indicates what values can be included in `enabledExposureSignals`. This property is key-value observable.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:160:26: error: 'autoLensAperture' is unavailable in macOS
158 |         let format = activeFormat
159 |         let resolvedAperture: Float = switch aperture {
160 |         case .auto: Self.autoLensAperture
    |                          `- error: 'autoLensAperture' is unavailable in macOS
161 |         case .current: Self.currentLensAperture
162 |         case let .fixed(value): min(max(value, format.minLensAperture), max(format.maxLensAperture, format.minLensAperture))
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:72:24: note: 'autoLensAperture' has been explicitly marked unavailable here
  70 | ///
  71 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to enable "priority" modes, where some parameters are locked to specified values (given "priority"), whereas the ones specified as "auto" will be continually adjusted by the system to maintain image brightness.
  72 | AVF_EXPORT const float AVCaptureLensApertureAuto NS_SWIFT_NAME(AVCaptureDevice.autoLensAperture) API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                        `- note: 'autoLensAperture' has been explicitly marked unavailable here
  73 |
  74 | /// A special value that may be passed as the duration parameter of a device's `setExposureModeCustom...` methods to allow the system's auto-exposure system to manage the exposure duration.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:161:29: error: 'currentLensAperture' is unavailable in macOS
159 |         let resolvedAperture: Float = switch aperture {
160 |         case .auto: Self.autoLensAperture
161 |         case .current: Self.currentLensAperture
    |                             `- error: 'currentLensAperture' is unavailable in macOS
162 |         case let .fixed(value): min(max(value, format.minLensAperture), max(format.maxLensAperture, format.minLensAperture))
163 |         }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:57:24: note: 'currentLensAperture' has been explicitly marked unavailable here
  55 | ///
  56 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to lock it to its current value. Note that the device may be adjusting the aperture at the time of the call, in which case ``AVCaptureDevice/lensAperture`` may be locked to different value than the value obtained by querying the property.
  57 | AVF_EXPORT const float AVCaptureLensApertureCurrent NS_SWIFT_NAME(AVCaptureDevice.currentLensAperture) API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                        `- note: 'currentLensAperture' has been explicitly marked unavailable here
  58 |
  59 | /// A special value that may be passed as the duration parameter of a device's `setExposureModeCustom...` methods to lock at the current duration.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:162:55: error: 'minLensAperture' is unavailable in macOS
160 |         case .auto: Self.autoLensAperture
161 |         case .current: Self.currentLensAperture
162 |         case let .fixed(value): min(max(value, format.minLensAperture), max(format.maxLensAperture, format.minLensAperture))
    |                                                       `- error: 'minLensAperture' is unavailable in macOS
163 |         }
164 |         let resolvedDuration: CMTime = switch shutterSeconds {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3487:38: note: 'minLensAperture' has been explicitly marked unavailable here
3485 |
3486 | /// The minimum supported value for the ``AVCaptureDevice/lensAperture`` property.
3487 | @property(nonatomic, readonly) float minLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'minLensAperture' has been explicitly marked unavailable here
3488 |
3489 | /// The maximum supported value for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:162:84: error: 'maxLensAperture' is unavailable in macOS
160 |         case .auto: Self.autoLensAperture
161 |         case .current: Self.currentLensAperture
162 |         case let .fixed(value): min(max(value, format.minLensAperture), max(format.maxLensAperture, format.minLensAperture))
    |                                                                                    `- error: 'maxLensAperture' is unavailable in macOS
163 |         }
164 |         let resolvedDuration: CMTime = switch shutterSeconds {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3490:38: note: 'maxLensAperture' has been explicitly marked unavailable here
3488 |
3489 | /// The maximum supported value for the ``AVCaptureDevice/lensAperture`` property.
3490 | @property(nonatomic, readonly) float maxLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'maxLensAperture' has been explicitly marked unavailable here
3491 |
3492 | /// The default value for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:162:108: error: 'minLensAperture' is unavailable in macOS
160 |         case .auto: Self.autoLensAperture
161 |         case .current: Self.currentLensAperture
162 |         case let .fixed(value): min(max(value, format.minLensAperture), max(format.maxLensAperture, format.minLensAperture))
    |                                                                                                            `- error: 'minLensAperture' is unavailable in macOS
163 |         }
164 |         let resolvedDuration: CMTime = switch shutterSeconds {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3487:38: note: 'minLensAperture' has been explicitly marked unavailable here
3485 |
3486 | /// The minimum supported value for the ``AVCaptureDevice/lensAperture`` property.
3487 | @property(nonatomic, readonly) float minLensAperture API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                                      `- note: 'minLensAperture' has been explicitly marked unavailable here
3488 |
3489 | /// The maximum supported value for the ``AVCaptureDevice/lensAperture`` property.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:165:26: error: 'autoExposureDuration' is unavailable in macOS
163 |         }
164 |         let resolvedDuration: CMTime = switch shutterSeconds {
165 |         case .auto: Self.autoExposureDuration
    |                          `- error: 'autoExposureDuration' is unavailable in macOS
166 |         case .current: Self.currentExposureDuration
167 |         case let .fixed(seconds): prm_clampedDuration(CMTimeMakeWithSeconds(seconds, preferredTimescale: 1_000_000))
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:77:25: note: 'autoExposureDuration' has been explicitly marked unavailable here
  75 | ///
  76 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to enable "priority" modes, where some parameters are locked to specified values (given "priority"), whereas the ones specified as "auto" will be continually adjusted by the system to maintain image brightness.
  77 | AVF_EXPORT const CMTime AVCaptureExposureDurationAuto NS_SWIFT_NAME(AVCaptureDevice.autoExposureDuration) API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                         `- note: 'autoExposureDuration' has been explicitly marked unavailable here
  78 |
  79 | /// A special value that may be passed as the ISO parameter of a device's `setExposureModeCustom...` methods to allow the system's auto-exposure system to manage the gain value.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:166:29: error: 'currentExposureDuration' is unavailable in macOS
164 |         let resolvedDuration: CMTime = switch shutterSeconds {
165 |         case .auto: Self.autoExposureDuration
166 |         case .current: Self.currentExposureDuration
    |                             `- error: 'currentExposureDuration' is unavailable in macOS
167 |         case let .fixed(seconds): prm_clampedDuration(CMTimeMakeWithSeconds(seconds, preferredTimescale: 1_000_000))
168 |         }
/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+Aperture.swift:170:26: error: 'autoISO' is unavailable in macOS
168 |         }
169 |         let resolvedISO: Float = switch iso {
170 |         case .auto: Self.autoISO
    |                          `- error: 'autoISO' is unavailable in macOS
171 |         case .current: Self.currentISO
172 |         case let .fixed(value): min(max(value, format.minISO), format.maxISO)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:82:24: note: 'autoISO' has been explicitly marked unavailable here
  80 | ///
  81 | /// This value may be passed to ``AVCaptureDevice/setExposureModeCustomWithDuration:ISO:completionHandler:`` or ``AVCaptureDevice/setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`` to enable "priority" modes, where some parameters are locked to specified values (given "priority"), whereas the ones specified as "auto" will be continually adjusted by the system to maintain image brightness.
  82 | AVF_EXPORT const float AVCaptureISOAuto NS_SWIFT_NAME(AVCaptureDevice.autoISO) API_AVAILABLE(ios(27.0), macCatalyst(27.0), tvos(27.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos);
     |                        `- note: 'autoISO' has been explicitly marked unavailable here
  83 |
  84 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift:171:29: error: 'currentISO' is unavailable in macOS
169 |         let resolvedISO: Float = switch iso {
170 |         case .auto: Self.autoISO
171 |         case .current: Self.currentISO
    |                             `- error: 'currentISO' is unavailable in macOS
172 |         case let .fixed(value): min(max(value, format.minISO), format.maxISO)
173 |         }
/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+Aperture.swift:172:55: error: 'minISO' is unavailable in macOS
170 |         case .auto: Self.autoISO
171 |         case .current: Self.currentISO
172 |         case let .fixed(value): min(max(value, format.minISO), format.maxISO)
    |                                                       `- error: 'minISO' is unavailable in macOS
173 |         }
174 |         return (resolvedAperture, resolvedDuration, resolvedISO)
/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+Aperture.swift:172:71: error: 'maxISO' is unavailable in macOS
170 |         case .auto: Self.autoISO
171 |         case .current: Self.currentISO
172 |         case let .fixed(value): min(max(value, format.minISO), format.maxISO)
    |                                                                       `- error: 'maxISO' is unavailable in macOS
173 |         }
174 |         return (resolvedAperture, resolvedDuration, resolvedISO)
/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+Cinematic.swift:10:52: error: 'videoFrameRateRangeForCinematicVideo' is only available in macOS 26.0 or newer
 4 | // operation (it lives on the device *input*); see `PRMCameraSession.setCinematicVideoCaptureEnabled`.
 5 |
 6 | public extension AVCaptureDevice.Format {
   |        `- note: add '@available' attribute to enclosing extension
 7 |     /// Frame-rate range available while Cinematic Video is enabled on this format, or `nil`
 8 |     /// when the format doesn't support Cinematic Video (or the OS is older than iOS 26).
 9 |     var prm_cinematicFrameRateRange: ClosedRange<Float64>? {
   |         `- note: add '@available' attribute to enclosing property
10 |         guard #available(iOS 26.0, *), let range = videoFrameRateRangeForCinematicVideo else { return nil }
   |                                                    |- error: 'videoFrameRateRangeForCinematicVideo' is only available in macOS 26.0 or newer
   |                                                    `- note: add 'if #available' version check
11 |         return range.minFrameRate ... range.maxFrameRate
12 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:18:15: error: 'minSimulatedAperture' is only available in macOS 26.0 or newer
 4 | // operation (it lives on the device *input*); see `PRMCameraSession.setCinematicVideoCaptureEnabled`.
 5 |
 6 | public extension AVCaptureDevice.Format {
   |        `- note: add '@available' attribute to enclosing extension
 7 |     /// Frame-rate range available while Cinematic Video is enabled on this format, or `nil`
 8 |     /// when the format doesn't support Cinematic Video (or the OS is older than iOS 26).
   :
14 |     /// Simulated-aperture range for Cinematic Video's depth-of-field effect, or `nil` when the
15 |     /// format can't change it (or the OS is older than iOS 26).
16 |     var prm_simulatedApertureRange: ClosedRange<Float>? {
   |         `- note: add '@available' attribute to enclosing property
17 |         guard #available(iOS 26.0, *) else { return nil }
18 |         guard minSimulatedAperture > 0, maxSimulatedAperture >= minSimulatedAperture else { return nil }
   |               |- error: 'minSimulatedAperture' is only available in macOS 26.0 or newer
   |               `- note: add 'if #available' version check
19 |         return minSimulatedAperture ... maxSimulatedAperture
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:18:41: error: 'maxSimulatedAperture' is only available in macOS 26.0 or newer
 4 | // operation (it lives on the device *input*); see `PRMCameraSession.setCinematicVideoCaptureEnabled`.
 5 |
 6 | public extension AVCaptureDevice.Format {
   |        `- note: add '@available' attribute to enclosing extension
 7 |     /// Frame-rate range available while Cinematic Video is enabled on this format, or `nil`
 8 |     /// when the format doesn't support Cinematic Video (or the OS is older than iOS 26).
   :
14 |     /// Simulated-aperture range for Cinematic Video's depth-of-field effect, or `nil` when the
15 |     /// format can't change it (or the OS is older than iOS 26).
16 |     var prm_simulatedApertureRange: ClosedRange<Float>? {
   |         `- note: add '@available' attribute to enclosing property
17 |         guard #available(iOS 26.0, *) else { return nil }
18 |         guard minSimulatedAperture > 0, maxSimulatedAperture >= minSimulatedAperture else { return nil }
   |                                         |- error: 'maxSimulatedAperture' is only available in macOS 26.0 or newer
   |                                         `- note: add 'if #available' version check
19 |         return minSimulatedAperture ... maxSimulatedAperture
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:18:65: error: 'minSimulatedAperture' is only available in macOS 26.0 or newer
 4 | // operation (it lives on the device *input*); see `PRMCameraSession.setCinematicVideoCaptureEnabled`.
 5 |
 6 | public extension AVCaptureDevice.Format {
   |        `- note: add '@available' attribute to enclosing extension
 7 |     /// Frame-rate range available while Cinematic Video is enabled on this format, or `nil`
 8 |     /// when the format doesn't support Cinematic Video (or the OS is older than iOS 26).
   :
14 |     /// Simulated-aperture range for Cinematic Video's depth-of-field effect, or `nil` when the
15 |     /// format can't change it (or the OS is older than iOS 26).
16 |     var prm_simulatedApertureRange: ClosedRange<Float>? {
   |         `- note: add '@available' attribute to enclosing property
17 |         guard #available(iOS 26.0, *) else { return nil }
18 |         guard minSimulatedAperture > 0, maxSimulatedAperture >= minSimulatedAperture else { return nil }
   |                                                                 |- error: 'minSimulatedAperture' is only available in macOS 26.0 or newer
   |                                                                 `- note: add 'if #available' version check
19 |         return minSimulatedAperture ... maxSimulatedAperture
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:19:16: error: 'minSimulatedAperture' is only available in macOS 26.0 or newer
 4 | // operation (it lives on the device *input*); see `PRMCameraSession.setCinematicVideoCaptureEnabled`.
 5 |
 6 | public extension AVCaptureDevice.Format {
   |        `- note: add '@available' attribute to enclosing extension
 7 |     /// Frame-rate range available while Cinematic Video is enabled on this format, or `nil`
 8 |     /// when the format doesn't support Cinematic Video (or the OS is older than iOS 26).
   :
14 |     /// Simulated-aperture range for Cinematic Video's depth-of-field effect, or `nil` when the
15 |     /// format can't change it (or the OS is older than iOS 26).
16 |     var prm_simulatedApertureRange: ClosedRange<Float>? {
   |         `- note: add '@available' attribute to enclosing property
17 |         guard #available(iOS 26.0, *) else { return nil }
18 |         guard minSimulatedAperture > 0, maxSimulatedAperture >= minSimulatedAperture else { return nil }
19 |         return minSimulatedAperture ... maxSimulatedAperture
   |                |- error: 'minSimulatedAperture' is only available in macOS 26.0 or newer
   |                `- note: add 'if #available' version check
20 |     }
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:19:41: error: 'maxSimulatedAperture' is only available in macOS 26.0 or newer
 4 | // operation (it lives on the device *input*); see `PRMCameraSession.setCinematicVideoCaptureEnabled`.
 5 |
 6 | public extension AVCaptureDevice.Format {
   |        `- note: add '@available' attribute to enclosing extension
 7 |     /// Frame-rate range available while Cinematic Video is enabled on this format, or `nil`
 8 |     /// when the format doesn't support Cinematic Video (or the OS is older than iOS 26).
   :
14 |     /// Simulated-aperture range for Cinematic Video's depth-of-field effect, or `nil` when the
15 |     /// format can't change it (or the OS is older than iOS 26).
16 |     var prm_simulatedApertureRange: ClosedRange<Float>? {
   |         `- note: add '@available' attribute to enclosing property
17 |         guard #available(iOS 26.0, *) else { return nil }
18 |         guard minSimulatedAperture > 0, maxSimulatedAperture >= minSimulatedAperture else { return nil }
19 |         return minSimulatedAperture ... maxSimulatedAperture
   |                                         |- error: 'maxSimulatedAperture' is only available in macOS 26.0 or newer
   |                                         `- note: add 'if #available' version check
20 |     }
21 | }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:41:17: error: 'setCinematicVideoTrackingFocus(detectedObjectID:focusMode:)' is only available in macOS 26.0 or newer
21 | }
22 |
23 | public extension AVCaptureDevice {
   |        `- note: add '@available' attribute to enclosing extension
24 |     /// Scene conditions currently degrading Cinematic Video (iOS 26). Empty before that.
25 |     var prm_cinematicSceneStatuses: Set<PRMSceneMonitoringStatus> {
   :
35 |     /// instead.
36 |     @available(iOS 26.0, *)
37 |     func prm_setCinematicFocus(_ request: PRMCinematicFocusRequest) throws {
   |          `- note: add '@available' attribute to enclosing instance method
38 |         try prm_withConfigurationLock {
39 |             switch request {
40 |             case let .trackObject(id, mode):
41 |                 setCinematicVideoTrackingFocus(detectedObjectID: id, focusMode: mode.avMode)
   |                 |- error: 'setCinematicVideoTrackingFocus(detectedObjectID:focusMode:)' is only available in macOS 26.0 or newer
   |                 `- note: add 'if #available' version check
42 |             case let .trackPoint(point, mode):
43 |                 setCinematicVideoTrackingFocus(at: Self.prm_clampedUnitPoint(point), focusMode: mode.avMode)
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:43:17: error: 'setCinematicVideoTrackingFocus(at:focusMode:)' is only available in macOS 26.0 or newer
21 | }
22 |
23 | public extension AVCaptureDevice {
   |        `- note: add '@available' attribute to enclosing extension
24 |     /// Scene conditions currently degrading Cinematic Video (iOS 26). Empty before that.
25 |     var prm_cinematicSceneStatuses: Set<PRMSceneMonitoringStatus> {
   :
35 |     /// instead.
36 |     @available(iOS 26.0, *)
37 |     func prm_setCinematicFocus(_ request: PRMCinematicFocusRequest) throws {
   |          `- note: add '@available' attribute to enclosing instance method
38 |         try prm_withConfigurationLock {
39 |             switch request {
   :
41 |                 setCinematicVideoTrackingFocus(detectedObjectID: id, focusMode: mode.avMode)
42 |             case let .trackPoint(point, mode):
43 |                 setCinematicVideoTrackingFocus(at: Self.prm_clampedUnitPoint(point), focusMode: mode.avMode)
   |                 |- error: 'setCinematicVideoTrackingFocus(at:focusMode:)' is only available in macOS 26.0 or newer
   |                 `- note: add 'if #available' version check
44 |             case let .fixedPoint(point, mode):
45 |                 setCinematicVideoFixedFocus(at: Self.prm_clampedUnitPoint(point), focusMode: mode.avMode)
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:45:17: error: 'setCinematicVideoFixedFocus(at:focusMode:)' is only available in macOS 26.0 or newer
21 | }
22 |
23 | public extension AVCaptureDevice {
   |        `- note: add '@available' attribute to enclosing extension
24 |     /// Scene conditions currently degrading Cinematic Video (iOS 26). Empty before that.
25 |     var prm_cinematicSceneStatuses: Set<PRMSceneMonitoringStatus> {
   :
35 |     /// instead.
36 |     @available(iOS 26.0, *)
37 |     func prm_setCinematicFocus(_ request: PRMCinematicFocusRequest) throws {
   |          `- note: add '@available' attribute to enclosing instance method
38 |         try prm_withConfigurationLock {
39 |             switch request {
   :
43 |                 setCinematicVideoTrackingFocus(at: Self.prm_clampedUnitPoint(point), focusMode: mode.avMode)
44 |             case let .fixedPoint(point, mode):
45 |                 setCinematicVideoFixedFocus(at: Self.prm_clampedUnitPoint(point), focusMode: mode.avMode)
   |                 |- error: 'setCinematicVideoFixedFocus(at:focusMode:)' is only available in macOS 26.0 or newer
   |                 `- note: add 'if #available' version check
46 |             }
47 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:65:23: error: 'isCinematicVideoCaptureSupported' is only available in macOS 26.0 or newer
51 | // MARK: - Format selection
52 |
53 | extension AVCaptureDevice {
   | `- note: add '@available' attribute to enclosing extension
54 |     /// Picks the format to switch to for Cinematic Video: among formats that support it,
55 |     /// the one closest in pixel count to `preferredDimensions` (the current format, so the
   :
57 |     /// `nil` when no format supports Cinematic Video.
58 |     @available(iOS 26.0, *)
59 |     static func prm_bestCinematicFormat(
   |                 `- note: add '@available' attribute to enclosing static method
60 |         from formats: [AVCaptureDevice.Format],
61 |         preferredDimensions: CMVideoDimensions
   :
63 |         let target = Int64(preferredDimensions.width) * Int64(preferredDimensions.height)
64 |         return formats
65 |             .filter(\.isCinematicVideoCaptureSupported)
   |                       |- error: 'isCinematicVideoCaptureSupported' is only available in macOS 26.0 or newer
   |                       `- note: add 'if #available' version check
66 |             .min { lhs, rhs in
67 |                 let lhsDims = CMVideoFormatDescriptionGetDimensions(lhs.formatDescription)
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:72:35: error: 'videoFrameRateRangeForCinematicVideo' is only available in macOS 26.0 or newer
51 | // MARK: - Format selection
52 |
53 | extension AVCaptureDevice {
   | `- note: add '@available' attribute to enclosing extension
54 |     /// Picks the format to switch to for Cinematic Video: among formats that support it,
55 |     /// the one closest in pixel count to `preferredDimensions` (the current format, so the
   :
57 |     /// `nil` when no format supports Cinematic Video.
58 |     @available(iOS 26.0, *)
59 |     static func prm_bestCinematicFormat(
   |                 `- note: add '@available' attribute to enclosing static method
60 |         from formats: [AVCaptureDevice.Format],
61 |         preferredDimensions: CMVideoDimensions
   :
70 |                 let rhsDistance = abs(Int64(rhsDims.width) * Int64(rhsDims.height) - target)
71 |                 if lhsDistance != rhsDistance { return lhsDistance < rhsDistance }
72 |                 let lhsRate = lhs.videoFrameRateRangeForCinematicVideo?.maxFrameRate ?? 0
   |                                   |- error: 'videoFrameRateRangeForCinematicVideo' is only available in macOS 26.0 or newer
   |                                   `- note: add 'if #available' version check
73 |                 let rhsRate = rhs.videoFrameRateRangeForCinematicVideo?.maxFrameRate ?? 0
74 |                 return lhsRate > rhsRate
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift:73:35: error: 'videoFrameRateRangeForCinematicVideo' is only available in macOS 26.0 or newer
51 | // MARK: - Format selection
52 |
53 | extension AVCaptureDevice {
   | `- note: add '@available' attribute to enclosing extension
54 |     /// Picks the format to switch to for Cinematic Video: among formats that support it,
55 |     /// the one closest in pixel count to `preferredDimensions` (the current format, so the
   :
57 |     /// `nil` when no format supports Cinematic Video.
58 |     @available(iOS 26.0, *)
59 |     static func prm_bestCinematicFormat(
   |                 `- note: add '@available' attribute to enclosing static method
60 |         from formats: [AVCaptureDevice.Format],
61 |         preferredDimensions: CMVideoDimensions
   :
71 |                 if lhsDistance != rhsDistance { return lhsDistance < rhsDistance }
72 |                 let lhsRate = lhs.videoFrameRateRangeForCinematicVideo?.maxFrameRate ?? 0
73 |                 let rhsRate = rhs.videoFrameRateRangeForCinematicVideo?.maxFrameRate ?? 0
   |                                   |- error: 'videoFrameRateRangeForCinematicVideo' is only available in macOS 26.0 or newer
   |                                   `- note: add 'if #available' version check
74 |                 return lhsRate > rhsRate
75 |             }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Configuration.swift:67:51: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
 46 | // MARK: - Internal helpers
 47 |
 48 | extension AVCaptureDevice {
    | `- note: add '@available' attribute to enclosing extension
 49 |     /// Clamps a device-space point into `0...1` on both axes; non-finite coordinates
 50 |     /// become the center. AVFoundation raises on points of interest outside the unit square.
    :
 65 |     }
 66 |
 67 |     private static let prismDisabledAdjustments = OSAllocatedUnfairLock<Set<String>>(initialState: [])
    |                        |                          `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
    |                        `- note: add '@available' attribute to enclosing static property
 68 |
 69 |     private func prm_adjustmentKey(_ adjustment: PRMAutoAdjustment) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Configuration.swift:67:84: error: 'init(initialState:)' is only available in macOS 13.0 or newer
 46 | // MARK: - Internal helpers
 47 |
 48 | extension AVCaptureDevice {
    | `- note: add '@available' attribute to enclosing extension
 49 |     /// Clamps a device-space point into `0...1` on both axes; non-finite coordinates
 50 |     /// become the center. AVFoundation raises on points of interest outside the unit square.
    :
 65 |     }
 66 |
 67 |     private static let prismDisabledAdjustments = OSAllocatedUnfairLock<Set<String>>(initialState: [])
    |                        |                                                           `- error: 'init(initialState:)' is only available in macOS 13.0 or newer
    |                        `- note: add '@available' attribute to enclosing static property
 68 |
 69 |     private func prm_adjustmentKey(_ adjustment: PRMAutoAdjustment) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Configuration.swift:42:10: error: 'virtualDeviceSwitchOverVideoZoomFactors' is unavailable in macOS
 40 |     /// virtual device transitions between its constituent cameras.
 41 |     var prm_isVirtualMultiCameraDevice: Bool {
 42 |         !virtualDeviceSwitchOverVideoZoomFactors.isEmpty
    |          `- error: 'virtualDeviceSwitchOverVideoZoomFactors' is unavailable in macOS
 43 |     }
 44 | }
/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+Configuration.swift:98:27: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
 46 | // MARK: - Internal helpers
 47 |
 48 | extension AVCaptureDevice {
    | `- note: add '@available' attribute to enclosing extension
 49 |     /// Clamps a device-space point into `0...1` on both axes; non-finite coordinates
 50 |     /// become the center. AVFoundation raises on points of interest outside the unit square.
    :
 90 |     /// never runs while no frames flow (session stopped or interrupted). `start` receives a
 91 |     /// resume-once callback; if it throws, that error is rethrown.
 92 |     static func prm_awaitDeviceCommit(
    |                 `- note: add '@available' attribute to enclosing static method
 93 |         timeout: TimeInterval,
 94 |         timeoutMessage: String,
    :
 96 |     ) async throws -> CMTime {
 97 |         try await withCheckedThrowingContinuation { continuation in
 98 |             let resumed = OSAllocatedUnfairLock(initialState: false)
    |                           |- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
    |                           `- note: add 'if #available' version check
 99 |             let resumeOnce: @Sendable (Result<CMTime, any Error>) -> Void = { result in
100 |                 let isFirst = resumed.withLock { done in
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Configuration.swift:98:27: error: 'init(initialState:)' is only available in macOS 13.0 or newer
 46 | // MARK: - Internal helpers
 47 |
 48 | extension AVCaptureDevice {
    | `- note: add '@available' attribute to enclosing extension
 49 |     /// Clamps a device-space point into `0...1` on both axes; non-finite coordinates
 50 |     /// become the center. AVFoundation raises on points of interest outside the unit square.
    :
 90 |     /// never runs while no frames flow (session stopped or interrupted). `start` receives a
 91 |     /// resume-once callback; if it throws, that error is rethrown.
 92 |     static func prm_awaitDeviceCommit(
    |                 `- note: add '@available' attribute to enclosing static method
 93 |         timeout: TimeInterval,
 94 |         timeoutMessage: String,
    :
 96 |     ) async throws -> CMTime {
 97 |         try await withCheckedThrowingContinuation { continuation in
 98 |             let resumed = OSAllocatedUnfairLock(initialState: false)
    |                           |- error: 'init(initialState:)' is only available in macOS 13.0 or newer
    |                           `- note: add 'if #available' version check
 99 |             let resumeOnce: @Sendable (Result<CMTime, any Error>) -> Void = { result in
100 |                 let isFirst = resumed.withLock { done in
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Depth.swift:11:23: error: 'supportedDepthDataFormats' is unavailable in macOS
 9 |     /// depth-supporting format via ``prm_enableDepthFormat()`` first.
10 |     func prm_isActiveFormatDepthCapable() -> Bool {
11 |         !activeFormat.supportedDepthDataFormats.isEmpty
   |                       `- error: 'supportedDepthDataFormats' is unavailable in macOS
12 |     }
13 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3682:66: note: 'supportedDepthDataFormats' has been explicitly marked unavailable here
3680 |     If no depth data formats are supported by the receiver, an empty array is returned. On virtual devices, the supportedDepthDataFormats list items always match the aspect ratio of their paired video format. When the receiver is set as the device's activeFormat, you may set the device's activeDepthDataFormat to one of these supported depth data formats.
3681 |  */
3682 | @property(nonatomic, readonly) NSArray<AVCaptureDeviceFormat *> *supportedDepthDataFormats API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                                  `- note: 'supportedDepthDataFormats' has been explicitly marked unavailable here
3683 |
3684 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Depth.swift:44:34: error: 'activeDepthDataFormat' is unavailable in macOS
42 |             // none is currently active.
43 |             targetFormat = activeFormat
44 |             if let depthFormat = activeDepthDataFormat {
   |                                  `- error: 'activeDepthDataFormat' is unavailable in macOS
45 |                 targetDepthFormat = depthFormat
46 |             } else if let depthFormat = activeFormat.supportedDepthDataFormats.first {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2351:63: note: 'activeDepthDataFormat' has been explicitly marked unavailable here
2349 |     Delivery of depth data to a AVCaptureDepthDataOutput may increase the system load, resulting in a reduced video frame rate for thermal sustainability.
2350 |  */
2351 | @property(nonatomic, retain, nullable) AVCaptureDeviceFormat *activeDepthDataFormat API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                               `- note: 'activeDepthDataFormat' has been explicitly marked unavailable here
2352 |
2353 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Depth.swift:46:54: error: 'supportedDepthDataFormats' is unavailable in macOS
44 |             if let depthFormat = activeDepthDataFormat {
45 |                 targetDepthFormat = depthFormat
46 |             } else if let depthFormat = activeFormat.supportedDepthDataFormats.first {
   |                                                      `- error: 'supportedDepthDataFormats' is unavailable in macOS
47 |                 targetDepthFormat = depthFormat
48 |             } else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3682:66: note: 'supportedDepthDataFormats' has been explicitly marked unavailable here
3680 |     If no depth data formats are supported by the receiver, an empty array is returned. On virtual devices, the supportedDepthDataFormats list items always match the aspect ratio of their paired video format. When the receiver is set as the device's activeFormat, you may set the device's activeDepthDataFormat to one of these supported depth data formats.
3681 |  */
3682 | @property(nonatomic, readonly) NSArray<AVCaptureDeviceFormat *> *supportedDepthDataFormats API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                                  `- note: 'supportedDepthDataFormats' has been explicitly marked unavailable here
3683 |
3684 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Depth.swift:55:83: error: 'supportedDepthDataFormats' is unavailable in macOS
53 |             // a 1080p-class option (largest format ≤ 1920px wide); fall back to the
54 |             // smallest depth-capable format if no sub-4K option exists.
55 |             guard let format = Self.prm_hdClassFormat(from: formats, where: { !$0.supportedDepthDataFormats.isEmpty }),
   |                                                                                   `- error: 'supportedDepthDataFormats' is unavailable in macOS
56 |                   let depthFormat = format.supportedDepthDataFormats.first
57 |             else { return 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:3682:66: note: 'supportedDepthDataFormats' has been explicitly marked unavailable here
3680 |     If no depth data formats are supported by the receiver, an empty array is returned. On virtual devices, the supportedDepthDataFormats list items always match the aspect ratio of their paired video format. When the receiver is set as the device's activeFormat, you may set the device's activeDepthDataFormat to one of these supported depth data formats.
3681 |  */
3682 | @property(nonatomic, readonly) NSArray<AVCaptureDeviceFormat *> *supportedDepthDataFormats API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                                  `- note: 'supportedDepthDataFormats' has been explicitly marked unavailable here
3683 |
3684 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Depth.swift:56:44: error: 'supportedDepthDataFormats' is unavailable in macOS
54 |             // smallest depth-capable format if no sub-4K option exists.
55 |             guard let format = Self.prm_hdClassFormat(from: formats, where: { !$0.supportedDepthDataFormats.isEmpty }),
56 |                   let depthFormat = format.supportedDepthDataFormats.first
   |                                            `- error: 'supportedDepthDataFormats' is unavailable in macOS
57 |             else { return false }
58 |             targetFormat = format
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:3682:66: note: 'supportedDepthDataFormats' has been explicitly marked unavailable here
3680 |     If no depth data formats are supported by the receiver, an empty array is returned. On virtual devices, the supportedDepthDataFormats list items always match the aspect ratio of their paired video format. When the receiver is set as the device's activeFormat, you may set the device's activeDepthDataFormat to one of these supported depth data formats.
3681 |  */
3682 | @property(nonatomic, readonly) NSArray<AVCaptureDeviceFormat *> *supportedDepthDataFormats API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                                  `- note: 'supportedDepthDataFormats' has been explicitly marked unavailable here
3683 |
3684 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Depth.swift:83:16: error: 'activeDepthDataFormat' is unavailable in macOS
81 |                 activeFormat = targetFormat
82 |             }
83 |             if activeDepthDataFormat !== targetDepthFormat {
   |                `- error: 'activeDepthDataFormat' is unavailable in macOS
84 |                 activeDepthDataFormat = targetDepthFormat
85 |             }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:2351:63: note: 'activeDepthDataFormat' has been explicitly marked unavailable here
2349 |     Delivery of depth data to a AVCaptureDepthDataOutput may increase the system load, resulting in a reduced video frame rate for thermal sustainability.
2350 |  */
2351 | @property(nonatomic, retain, nullable) AVCaptureDeviceFormat *activeDepthDataFormat API_AVAILABLE(ios(11.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos);
     |                                                               `- note: 'activeDepthDataFormat' has been explicitly marked unavailable here
2352 |
2353 | /*!
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPortraitReadiness.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMPortraitReadiness.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMRecording.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMRecording.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMVideoRecorder.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMVideoRecorder.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureConnection+Stabilization.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureConnection+Stabilization.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Aperture.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+AspectRatio.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+AspectRatio.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Cinematic.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Configuration.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Configuration.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Depth.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AVCaptureDevice+Depth.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
SwiftEmitModule normal arm64 Emitting\ module\ for\ PrismCore (in target 'PrismCore' from project 'Prism')
/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/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,
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraConfiguration.swift:149:42: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
147 |         enableDepthDataDelivery: Bool = false,
148 |         enablePortraitEffectsMatteDelivery: Bool = false,
149 |         preferredVideoStabilizationMode: AVCaptureVideoStabilizationMode = .auto,
    |                                          `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
150 |         enableMultitaskingCameraAccess: Bool = false,
151 |         prefersMaxPhotoDimensionsFormat: 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/PRMCameraSession+DeviceObservers.swift:74:35: error: 'SystemPressureState' is unavailable in macOS
72 |     /// Factor-only changes at the same level aren't logged.
73 |     nonisolated static func logSystemPressureChange(
74 |         from old: AVCaptureDevice.SystemPressureState?,
   |                                   `- error: 'SystemPressureState' is unavailable in macOS
75 |         to new: AVCaptureDevice.SystemPressureState?
76 |     ) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSystemPressure.h:83:12: note: 'SystemPressureState' has been explicitly marked unavailable here
 81 |  */
 82 | API_AVAILABLE(ios(11.1), macCatalyst(14.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(watchos)
 83 | @interface AVCaptureSystemPressureState : NSObject
    |            `- note: 'SystemPressureState' has been explicitly marked unavailable here
 84 | {
 85 | @private
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMCameraSession+DeviceObservers.swift:75:33: error: 'SystemPressureState' is unavailable in macOS
73 |     nonisolated static func logSystemPressureChange(
74 |         from old: AVCaptureDevice.SystemPressureState?,
75 |         to new: AVCaptureDevice.SystemPressureState?
   |                                 `- error: 'SystemPressureState' is unavailable in macOS
76 |     ) {
77 |         guard let new else { return }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSystemPressure.h:83:12: note: 'SystemPressureState' has been explicitly marked unavailable here
 81 |  */
 82 | API_AVAILABLE(ios(11.1), macCatalyst(14.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(watchos)
 83 | @interface AVCaptureSystemPressureState : NSObject
    |            `- note: 'SystemPressureState' has been explicitly marked unavailable here
 84 | {
 85 | @private
/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/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/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/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/PRMSessionHealth.swift:32:20: error: 'AVCaptureCameraLensSmudgeDetectionStatus' is only available in macOS 26.0 or newer
 19 |
 20 | /// Result of iOS 26 camera-lens smudge detection.
 21 | public enum PRMLensSmudgeStatus: Sendable, Equatable {
    |             `- note: add '@available' attribute to enclosing enum
 22 |     /// Detection is off, or unsupported on this device / format / OS.
 23 |     case disabled
    :
 30 |
 31 |     @available(iOS 26.0, *)
 32 |     init(_ status: AVCaptureCameraLensSmudgeDetectionStatus) {
    |     |              `- error: 'AVCaptureCameraLensSmudgeDetectionStatus' is only available in macOS 26.0 or newer
    |     `- note: add '@available' attribute to enclosing initializer
 33 |         switch status {
 34 |         case .smudgeNotDetected: self = .clean
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMSessionHealth.swift:103:35: error: 'SystemPressureState' is unavailable in macOS
101 |     public static let nominal = Self(level: .nominal)
102 |
103 |     init(_ state: AVCaptureDevice.SystemPressureState) {
    |                                   `- error: 'SystemPressureState' is unavailable in macOS
104 |         level = switch state.level {
105 |         case .fair: .fair
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSystemPressure.h:83:12: note: 'SystemPressureState' has been explicitly marked unavailable here
 81 |  */
 82 | API_AVAILABLE(ios(11.1), macCatalyst(14.0), tvos(17.0), visionos(1.0)) API_UNAVAILABLE(macos) API_UNAVAILABLE(watchos)
 83 | @interface AVCaptureSystemPressureState : NSObject
    |            `- note: 'SystemPressureState' has been explicitly marked unavailable here
 84 | {
 85 | @private
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMDepthCapture.swift:39:23: error: 'AVCaptureDepthDataOutputDelegate' is unavailable in macOS
 37 |     public static func addDepthDataOutput(
 38 |         to session: AVCaptureSession,
 39 |         delegate: any AVCaptureDepthDataOutputDelegate,
    |                       `- error: 'AVCaptureDepthDataOutputDelegate' is unavailable in macOS
 40 |         queue: DispatchQueue
 41 |     ) -> AVCaptureDepthDataOutput? {
/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/Capture/PRMDepthCapture.swift:41:10: error: 'AVCaptureDepthDataOutput' is unavailable in macOS
 39 |         delegate: any AVCaptureDepthDataOutputDelegate,
 40 |         queue: DispatchQueue
 41 |     ) -> AVCaptureDepthDataOutput? {
    |          `- error: 'AVCaptureDepthDataOutput' is unavailable in macOS
 42 |         // AVFoundation raises when a depth data output runs alongside Cinematic Video.
 43 |         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/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/Capture/PRMDepthCapture.swift:58:65: error: 'AVCaptureDepthDataOutput' is unavailable in macOS
 56 |     }
 57 |
 58 |     public static func setFiltering(_ enabled: Bool, on output: AVCaptureDepthDataOutput) {
    |                                                                 `- error: 'AVCaptureDepthDataOutput' is unavailable in macOS
 59 |         output.isFilteringEnabled = enabled
 60 |     }
/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/Capture/PRMDepthCapture.swift:79:23: error: 'AVCaptureDepthDataOutputDelegate' is unavailable in macOS
 77 |     @discardableResult
 78 |     func attachDepthDataOutput(
 79 |         delegate: any AVCaptureDepthDataOutputDelegate,
    |                       `- error: 'AVCaptureDepthDataOutputDelegate' is unavailable in macOS
 80 |         queue: DispatchQueue,
 81 |         filteringEnabled: Bool = true
/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/Capture/PRMDepthCapture.swift:82:23: error: 'AVCaptureDepthDataOutput' is unavailable in macOS
 80 |         queue: DispatchQueue,
 81 |         filteringEnabled: Bool = true
 82 |     ) async throws -> AVCaptureDepthDataOutput {
    |                       `- error: 'AVCaptureDepthDataOutput' is unavailable in macOS
 83 |         if isCinematicVideoCaptureActive {
 84 |             throw PRMSessionError.unsupportedConfiguration("A depth stream can't run while Cinematic Video is enabled")
/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/Capture/PRMOutputResolver.swift:18:34: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
 9 | /// output, a photo output re-attach) replace the instance; a wrapper holding the old one
10 | /// would capture against a detached output and fail at the AVFoundation gate.
11 | final class PRMOutputResolver<Output: AVCaptureOutput>: @unchecked Sendable {
   |             `- note: add '@available' attribute to enclosing generic class
12 |     private enum Source: @unchecked Sendable {
13 |         case fixed(Output)
   :
16 |
17 |     private let source: Source
18 |     private let latestResolved = OSAllocatedUnfairLock<Output?>(uncheckedState: nil)
   |                                  `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
19 |
20 |     /// Always `output`.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoCapture+Delegate.swift:44:66: error: 'AVCaptureDeferredPhotoProxy' is unavailable in macOS
 42 |     public func photoOutput(
 43 |         _ output: AVCapturePhotoOutput,
 44 |         didFinishCapturingDeferredPhotoProxy deferredPhotoProxy: AVCaptureDeferredPhotoProxy?,
    |                                                                  `- error: 'AVCaptureDeferredPhotoProxy' is unavailable in macOS
 45 |         error: (any Error)?
 46 |     ) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:2343:12: note: 'AVCaptureDeferredPhotoProxy' has been explicitly marked unavailable here
2341 |  */
2342 | API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos)
2343 | @interface AVCaptureDeferredPhotoProxy : AVCapturePhoto
     |            `- note: 'AVCaptureDeferredPhotoProxy' has been explicitly marked unavailable here
2344 |
2345 | AV_INIT_UNAVAILABLE
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoCapture+Delegate.swift:42:17: error: cannot override 'photoOutput' which has been marked unavailable
 40 |     /// proxy is a failure with no follow-up; the capture is identified (and failed) in
 41 |     /// `didFinishCaptureFor`, which carries the resolved settings this callback lacks.
 42 |     public func photoOutput(
    |                 `- error: cannot override 'photoOutput' which has been marked unavailable
 43 |         _ output: AVCapturePhotoOutput,
 44 |         didFinishCapturingDeferredPhotoProxy deferredPhotoProxy: AVCaptureDeferredPhotoProxy?,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:1071:1: note: 'photoOutput(_:didFinishCapturingDeferredPhotoProxy:error:)' has been explicitly marked unavailable here
1069 |      Delegates are required to implement this method if they opt in for deferred photo processing, otherwise an NSInvalidArgumentException will be thrown from the -[AVCapturePhotoOutput capturePhotoWithSettings:delegate:] method.
1070 | */
1071 | - (void)captureOutput:(AVCapturePhotoOutput *)output didFinishCapturingDeferredPhotoProxy:(nullable AVCaptureDeferredPhotoProxy *)deferredPhotoProxy error:(nullable NSError *)error NS_SWIFT_NAME(photoOutput(_:didFinishCapturingDeferredPhotoProxy:error:)) API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(macos, macCatalyst, tvos, visionos) API_UNAVAILABLE(watchos);
     | `- note: 'photoOutput(_:didFinishCapturingDeferredPhotoProxy:error:)' has been explicitly marked unavailable here
1072 |
1073 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoCapture+Delegate.swift:54:17: error: cannot override 'photoOutput' which has been marked unavailable
 52 |     }
 53 |
 54 |     public func photoOutput(
    |                 `- error: cannot override 'photoOutput' which has been marked unavailable
 55 |         _ output: AVCapturePhotoOutput,
 56 |         didFinishProcessingLivePhotoToMovieFileAt outputFileURL: URL,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:1157:1: note: 'photoOutput(_:didFinishProcessingLivePhotoToMovieFileAt:duration:photoDisplayTime:resolvedSettings:error:)' has been explicitly marked unavailable here
1155 |     When this callback fires, the movie on disk is fully finished and ready for consumption.
1156 |  */
1157 | - (void)captureOutput:(AVCapturePhotoOutput *)output didFinishProcessingLivePhotoToMovieFileAtURL:(NSURL *)outputFileURL duration:(CMTime)duration photoDisplayTime:(CMTime)photoDisplayTime resolvedSettings:(AVCaptureResolvedPhotoSettings *)resolvedSettings error:(nullable NSError *)error API_UNAVAILABLE(macos);
     | `- note: 'photoOutput(_:didFinishProcessingLivePhotoToMovieFileAt:duration:photoDisplayTime:resolvedSettings:error:)' has been explicitly marked unavailable here
1158 |
1159 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoCapture+Encoding.swift:178:5: error: 'AVCapturePhotoFileDataRepresentationCustomizer' is unavailable in macOS
176 | /// `fileDataRepresentation(with:)` call.
177 | private final class ExposurePatchCustomizer: NSObject,
178 |     AVCapturePhotoFileDataRepresentationCustomizer {
    |     `- error: 'AVCapturePhotoFileDataRepresentationCustomizer' is unavailable in macOS
179 |     private let iso: Float
180 |     private let exposureDuration: CMTime
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:2358:11: note: 'AVCapturePhotoFileDataRepresentationCustomizer' has been explicitly marked unavailable here
2356 |  */
2357 | API_AVAILABLE(ios(12.0), macCatalyst(14.0), tvos(17.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos)
2358 | @protocol AVCapturePhotoFileDataRepresentationCustomizer <NSObject>
     |           `- note: 'AVCapturePhotoFileDataRepresentationCustomizer' has been explicitly marked unavailable here
2359 |
2360 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoCapture.swift:434:55: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 42 | /// and only then builds its `AVCapturePhotoSettings`, against the output's state at that
 43 | /// moment: a reconfigure during the wait can't leave settings the output would reject.
 44 | public final class PRMPhotoCapture: NSObject, @unchecked Sendable {
    |                    `- note: add '@available' attribute to enclosing class
 45 |     // MARK: - Properties
 46 |
    :
432 |
433 |     /// "speed", "balanced", "quality".
434 |     static func name(of quality: AVCapturePhotoOutput.QualityPrioritization) -> String {
    |                 |                                     `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing static method
435 |         switch quality {
436 |         case .speed: "speed"
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoSettings.swift:21:60: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 17 | /// iOS 17 photo features (responsive capture / deferred / zero shutter lag are configured
 18 | /// once on the photo output via ``PRMCameraConfiguration``).
 19 | public struct PRMPhotoSettings: Sendable {
    |               `- note: add '@available' attribute to enclosing struct
 20 |     public var flashMode: AVCaptureDevice.FlashMode = .off
 21 |     public var qualityPrioritization: AVCapturePhotoOutput.QualityPrioritization = .balanced
    |                                                            `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 22 |     public var codec: AVVideoCodecType?
 23 |     public var maxDimensions: CMVideoDimensions?
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoSettings.swift:87:69: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 17 | /// iOS 17 photo features (responsive capture / deferred / zero shutter lag are configured
 18 | /// once on the photo output via ``PRMCameraConfiguration``).
 19 | public struct PRMPhotoSettings: Sendable {
    |               `- note: add '@available' attribute to enclosing struct
 20 |     public var flashMode: AVCaptureDevice.FlashMode = .off
 21 |     public var qualityPrioritization: AVCapturePhotoOutput.QualityPrioritization = .balanced
    :
 85 |     }
 86 |
 87 |     public func qualityPrioritization(_ value: AVCapturePhotoOutput.QualityPrioritization) -> Self {
    |                 |                                                   `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
 88 |         var copy = self
 89 |         copy.qualityPrioritization = value
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoSettings.swift:207:39: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 17 | /// iOS 17 photo features (responsive capture / deferred / zero shutter lag are configured
 18 | /// once on the photo output via ``PRMCameraConfiguration``).
 19 | public struct PRMPhotoSettings: Sendable {
    |               `- note: add '@available' attribute to enclosing struct
 20 |     public var flashMode: AVCaptureDevice.FlashMode = .off
 21 |     public var qualityPrioritization: AVCapturePhotoOutput.QualityPrioritization = .balanced
    :
203 |     }
204 |
205 |     private func makeUncheckedAVSettings(
    |                  `- note: add '@available' attribute to enclosing instance method
206 |         codec effectiveCodec: AVVideoCodecType?,
207 |         quality: AVCapturePhotoOutput.QualityPrioritization,
    |                                       `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
208 |         maxDimensions dimensions: CMVideoDimensions?
209 |     ) -> AVCapturePhotoSettings {
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoSettings.swift:242:43: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 17 | /// iOS 17 photo features (responsive capture / deferred / zero shutter lag are configured
 18 | /// once on the photo output via ``PRMCameraConfiguration``).
 19 | public struct PRMPhotoSettings: Sendable {
    |               `- note: add '@available' attribute to enclosing struct
 20 |     public var flashMode: AVCaptureDevice.FlashMode = .off
 21 |     public var qualityPrioritization: AVCapturePhotoOutput.QualityPrioritization = .balanced
    :
239 |
240 |     /// `requested`, lowered to `maximum` when it's higher.
241 |     static func clampedQuality(
    |                 `- note: add '@available' attribute to enclosing static method
242 |         _ requested: AVCapturePhotoOutput.QualityPrioritization,
    |                                           `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
243 |         max maximum: AVCapturePhotoOutput.QualityPrioritization
244 |     ) -> AVCapturePhotoOutput.QualityPrioritization {
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoSettings.swift:243:43: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 17 | /// iOS 17 photo features (responsive capture / deferred / zero shutter lag are configured
 18 | /// once on the photo output via ``PRMCameraConfiguration``).
 19 | public struct PRMPhotoSettings: Sendable {
    |               `- note: add '@available' attribute to enclosing struct
 20 |     public var flashMode: AVCaptureDevice.FlashMode = .off
 21 |     public var qualityPrioritization: AVCapturePhotoOutput.QualityPrioritization = .balanced
    :
239 |
240 |     /// `requested`, lowered to `maximum` when it's higher.
241 |     static func clampedQuality(
    |                 `- note: add '@available' attribute to enclosing static method
242 |         _ requested: AVCapturePhotoOutput.QualityPrioritization,
243 |         max maximum: AVCapturePhotoOutput.QualityPrioritization
    |                                           `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
244 |     ) -> AVCapturePhotoOutput.QualityPrioritization {
245 |         requested.rawValue > maximum.rawValue ? maximum : requested
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoSettings.swift:244:31: error: 'QualityPrioritization' is only available in macOS 13.0 or newer
 17 | /// iOS 17 photo features (responsive capture / deferred / zero shutter lag are configured
 18 | /// once on the photo output via ``PRMCameraConfiguration``).
 19 | public struct PRMPhotoSettings: Sendable {
    |               `- note: add '@available' attribute to enclosing struct
 20 |     public var flashMode: AVCaptureDevice.FlashMode = .off
 21 |     public var qualityPrioritization: AVCapturePhotoOutput.QualityPrioritization = .balanced
    :
239 |
240 |     /// `requested`, lowered to `maximum` when it's higher.
241 |     static func clampedQuality(
    |                 `- note: add '@available' attribute to enclosing static method
242 |         _ requested: AVCapturePhotoOutput.QualityPrioritization,
243 |         max maximum: AVCapturePhotoOutput.QualityPrioritization
244 |     ) -> AVCapturePhotoOutput.QualityPrioritization {
    |                               `- error: 'QualityPrioritization' is only available in macOS 13.0 or newer
245 |         requested.rawValue > maximum.rawValue ? maximum : requested
246 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPortraitReadiness.swift:310:19: error: 'AVCaptureDepthDataOutput' is unavailable in macOS
308 | extension PRMPortraitReadinessMonitor: AVCaptureDepthDataOutputDelegate {
309 |     public func depthDataOutput(
310 |         _ output: AVCaptureDepthDataOutput,
    |                   `- error: 'AVCaptureDepthDataOutput' is unavailable in macOS
311 |         didOutput depthData: AVDepthData,
312 |         timestamp: CMTime,
/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/Capture/PRMPortraitReadiness.swift:308:40: error: 'AVCaptureDepthDataOutputDelegate' is unavailable in macOS
306 | // MARK: - AVCaptureDepthDataOutputDelegate
307 |
308 | extension PRMPortraitReadinessMonitor: AVCaptureDepthDataOutputDelegate {
    |                                        `- error: 'AVCaptureDepthDataOutputDelegate' is unavailable in macOS
309 |     public func depthDataOutput(
310 |         _ output: AVCaptureDepthDataOutput,
/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/Capture/PRMVideoRecorder.swift:119:28: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
117 |     public func start(
118 |         rotationAngle: CGFloat? = nil,
119 |         stabilizationMode: AVCaptureVideoStabilizationMode? = nil
    |                            `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
120 |     ) async throws {
121 |         PRMLog.debug(
/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/Capture/PRMVideoRecorder.swift:181:28: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
179 |     private func preparedOutput(
180 |         rotationAngle: CGFloat?,
181 |         stabilizationMode: AVCaptureVideoStabilizationMode?
    |                            `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
182 |     ) async throws -> AVCaptureMovieFileOutput {
183 |         guard let resolvedOutput = await resolver.resolve() else {
/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/Device/AVCaptureConnection+Stabilization.swift:11:39: error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
 9 |     /// iOS 26 adds `.lowLatency`: a reduced field of view like `.standard`, but with no
10 |     /// added pipeline latency, which suits live preview and real-time processing.
11 |     func prm_setStabilization(_ mode: AVCaptureVideoStabilizationMode) {
   |                                       `- error: 'AVCaptureVideoStabilizationMode' is unavailable in macOS
12 |         guard isVideoStabilizationSupported else { return }
13 |         preferredVideoStabilizationMode = mode
/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/Device/AVCaptureDevice+Configuration.swift:67:51: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
 46 | // MARK: - Internal helpers
 47 |
 48 | extension AVCaptureDevice {
    | `- note: add '@available' attribute to enclosing extension
 49 |     /// Clamps a device-space point into `0...1` on both axes; non-finite coordinates
 50 |     /// become the center. AVFoundation raises on points of interest outside the unit square.
    :
 65 |     }
 66 |
 67 |     private static let prismDisabledAdjustments = OSAllocatedUnfairLock<Set<String>>(initialState: [])
    |                        |                          `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
    |                        `- note: add '@available' attribute to enclosing static property
 68 |
 69 |     private func prm_adjustmentKey(_ adjustment: PRMAutoAdjustment) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Configuration.swift:67:84: error: 'init(initialState:)' is only available in macOS 13.0 or newer
 46 | // MARK: - Internal helpers
 47 |
 48 | extension AVCaptureDevice {
    | `- note: add '@available' attribute to enclosing extension
 49 |     /// Clamps a device-space point into `0...1` on both axes; non-finite coordinates
 50 |     /// become the center. AVFoundation raises on points of interest outside the unit square.
    :
 65 |     }
 66 |
 67 |     private static let prismDisabledAdjustments = OSAllocatedUnfairLock<Set<String>>(initialState: [])
    |                        |                                                           `- error: 'init(initialState:)' is only available in macOS 13.0 or newer
    |                        `- note: add '@available' attribute to enclosing static property
 68 |
 69 |     private func prm_adjustmentKey(_ adjustment: PRMAutoAdjustment) -> String {
/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/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/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/Utilities/PRMBurstLog.swift:17:24: error: 'Duration' 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
   :
15 |
16 |     /// How long calls under one key must stop before the burst closes.
17 |     let quietInterval: Duration
   |                        `- error: 'Duration' is only available in macOS 13.0 or newer
18 |     private var bursts: [String: Burst] = [:]
19 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMBurstLog.swift:20:25: error: 'Duration' 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: 'Duration' 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/Utilities/PRMLog+Categories.swift:110:28: error: 'InterruptionReason' is unavailable in macOS
108 | }
109 |
110 | extension AVCaptureSession.InterruptionReason {
    |                            `- error: 'InterruptionReason' is unavailable in macOS
111 |     var prm_logName: String {
112 |         if #available(iOS 26.0, *), self == .sensitiveContentMitigationActivated {
/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/Utilities/PRMLog.swift:118:32: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
 94 | ///
 95 | /// Watch it live: `log stream --level debug --predicate 'subsystem == "dev.luminoid.prism"'`
 96 | public nonisolated enum PRMLog {
    |                         `- note: add '@available' attribute to enclosing enum
 97 |     /// The unified-logging subsystem every line is written under.
 98 |     public static let subsystem = "dev.luminoid.prism"
    :
116 |     }
117 |
118 |     private static let state = OSAllocatedUnfairLock(initialState: State())
    |                        |       `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
    |                        `- note: add '@available' attribute to enclosing static property
119 |
120 |     /// A threshold and handler bound to the current task by `withScopedConfiguration`.
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog.swift:118:32: error: 'init(initialState:)' is only available in macOS 13.0 or newer
 94 | ///
 95 | /// Watch it live: `log stream --level debug --predicate 'subsystem == "dev.luminoid.prism"'`
 96 | public nonisolated enum PRMLog {
    |                         `- note: add '@available' attribute to enclosing enum
 97 |     /// The unified-logging subsystem every line is written under.
 98 |     public static let subsystem = "dev.luminoid.prism"
    :
116 |     }
117 |
118 |     private static let state = OSAllocatedUnfairLock(initialState: State())
    |                        |       `- error: 'init(initialState:)' is only available in macOS 13.0 or newer
    |                        `- note: add '@available' attribute to enclosing static property
119 |
120 |     /// A threshold and handler bound to the current task by `withScopedConfiguration`.
Failed frontend command:
/Applications/Xcode-27.0.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /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 /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 /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 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMSessionHealth.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Camera/PRMVideoFrameRouter.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/Night/PRMNightMerger.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/Night/PRMNightPlanner.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/Night/PRMNightRegistration.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/Night/PRMNightStacker.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/Night/PRMNightTone.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/Night/PRMNightTypes.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMDepthCapture.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMLivePhoto.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMNightModeCapture.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMOutputResolver.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhoto.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoCapture+Delegate.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoCapture+Encoding.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoCapture.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPhotoSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPortraitPhoto.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMPortraitReadiness.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMRecording.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Capture/PRMVideoRecorder.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureConnection+Stabilization.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Aperture.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+AspectRatio.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Cinematic.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Configuration.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Depth.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Exposure.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+FocusTracking.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+FrameRate.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+HDR.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Lens.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Modes.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+SmudgeDetection.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Torch.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 /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 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMRenderContext.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMVideoFrame.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMBurstLog.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMImage.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog+Categories.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMStreamRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMTempFile.swift -target arm64-apple-macos12.0 -disable-cross-import-overlay-search -swift-module-cross-import Vision /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Vision.framework/Modules/Vision.swiftcrossimport/FoundationModels.swiftoverlay -swift-module-cross-import Vision /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/Vision.framework/Modules/Vision.swiftcrossimport/FoundationModels.swiftoverlay -load-resolved-plugin /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -Isystem /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug -F /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/macosx27.0-26A425-e829b21a6f8c9b70876ba0858053c04489db99fe7804849a4777d653a8cfc1be.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PrismCore -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-macos27.0 -target-sdk-version 27.0 -target-sdk-name macosx27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Prism.build/Debug/PrismCore-t.build/Objects-normal/arm64/PrismCore.abi.json
SwiftCompile normal arm64 (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ PRMRenderContext.swift,\ PRMVideoFrame.swift,\ PRMBurstLog.swift,\ PRMImage.swift,\ PRMLog+Categories.swift,\ PRMLog.swift,\ PRMStreamRegistry.swift,\ PRMTempFile.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMRenderContext.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMVideoFrame.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMBurstLog.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMImage.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog+Categories.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMStreamRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMTempFile.swift (in target 'PrismCore' from project 'Prism')
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMBurstLog.swift:17:24: error: 'Duration' 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
   :
15 |
16 |     /// How long calls under one key must stop before the burst closes.
17 |     let quietInterval: Duration
   |                        `- error: 'Duration' is only available in macOS 13.0 or newer
18 |     private var bursts: [String: Burst] = [:]
19 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMBurstLog.swift:20:25: error: 'Duration' 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: 'Duration' 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/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/Utilities/PRMBurstLog.swift:57:29: error: 'sleep(for:tolerance:clock:)' 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
   :
53 |     }
54 |
55 |     private func scheduleClose(_ key: String, file: String, line: Int) -> Task<Void, Never> {
   |                  `- note: add '@available' attribute to enclosing instance method
56 |         Task { [weak self, quietInterval] in
57 |             try? await Task.sleep(for: quietInterval)
   |                             |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
   |                             `- note: add 'if #available' version check
58 |             guard !Task.isCancelled else { return }
59 |             self?.close(key, file: file, line: line)
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog+Categories.swift:110:28: error: 'InterruptionReason' is unavailable in macOS
108 | }
109 |
110 | extension AVCaptureSession.InterruptionReason {
    |                            `- error: 'InterruptionReason' is unavailable in macOS
111 |     var prm_logName: String {
112 |         if #available(iOS 26.0, *), self == .sensitiveContentMitigationActivated {
/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/Utilities/PRMLog+Categories.swift:112:46: error: 'sensitiveContentMitigationActivated' is unavailable in macOS
110 | extension AVCaptureSession.InterruptionReason {
111 |     var prm_logName: String {
112 |         if #available(iOS 26.0, *), self == .sensitiveContentMitigationActivated {
    |                                              `- error: 'sensitiveContentMitigationActivated' is unavailable in macOS
113 |             return "sensitiveContentMitigationActivated"
114 |         }
AVFoundation.AVCaptureSession.InterruptionReason.sensitiveContentMitigationActivated:4:10: note: 'sensitiveContentMitigationActivated' has been explicitly marked unavailable here
2 |   enum InterruptionReason {
3 | @available(macOS, unavailable)
4 |     case sensitiveContentMitigationActivated  }
  |          `- note: 'sensitiveContentMitigationActivated' has been explicitly marked unavailable here
5 | }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog.swift:118:32: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
 94 | ///
 95 | /// Watch it live: `log stream --level debug --predicate 'subsystem == "dev.luminoid.prism"'`
 96 | public nonisolated enum PRMLog {
    |                         `- note: add '@available' attribute to enclosing enum
 97 |     /// The unified-logging subsystem every line is written under.
 98 |     public static let subsystem = "dev.luminoid.prism"
    :
116 |     }
117 |
118 |     private static let state = OSAllocatedUnfairLock(initialState: State())
    |                        |       `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
    |                        `- note: add '@available' attribute to enclosing static property
119 |
120 |     /// A threshold and handler bound to the current task by `withScopedConfiguration`.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMRenderContext.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMRenderContext.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Filter/PRMVideoFrame.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMVideoFrame.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMBurstLog.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMBurstLog.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMImage.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMImage.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog+Categories.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMLog+Categories.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMLog.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMLog.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMStreamRegistry.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMStreamRegistry.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Utilities/PRMTempFile.swift (in target 'PrismCore' from project 'Prism')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PRMTempFile.swift
SwiftCompile normal arm64 Compiling\ AVCaptureDevice+Exposure.swift,\ AVCaptureDevice+FocusTracking.swift,\ AVCaptureDevice+FrameRate.swift,\ AVCaptureDevice+HDR.swift,\ AVCaptureDevice+ISO.swift,\ AVCaptureDevice+Lens.swift,\ AVCaptureDevice+Modes.swift,\ AVCaptureDevice+SmudgeDetection.swift,\ AVCaptureDevice+Torch.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Exposure.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+FocusTracking.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+FrameRate.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+HDR.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+ISO.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Lens.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Modes.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+SmudgeDetection.swift /Users/admin/builder/spi-builder-workspace/Sources/PrismCore/Device/AVCaptureDevice+Torch.swift (in target 'PrismCore' from project 'Prism')
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
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-10-12 14:41:19.316 xcodebuild[769:4685] [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:7789647b007e00b983fb2becc14c16863c30fc9a, name:My Mac }
{ platform:macOS, arch:arm64, variant:Mac Catalyst, id:7789647b007e00b983fb2becc14c16863c30fc9a, name:My Mac }
{ platform:macOS, arch:arm64, variant:DriverKit, id:7789647b007e00b983fb2becc14c16863c30fc9a, name:My Mac }
{ platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:7789647b007e00b983fb2becc14c16863c30fc9a, 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