The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Runestone, reference main (b1bf52), with Swift 6.4 for watchOS using Xcode 27.0 on 7 Nov 2026 00:44:52 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme Runestone-Package -destination generic/platform=watchOS

Build Log

 25 |  */
 26 |
 27 | API_AVAILABLE(ios(13.4), tvos(13.4)) API_UNAVAILABLE(watchos) typedef NS_ENUM(CFIndex, UIKeyboardHIDUsage)
    |                                                                                        `- note: 'UIKeyboardHIDUsage' has been explicitly marked unavailable here
 28 | {
 29 |     UIKeyboardHIDUsageKeyboardErrorRollOver   = 0x01,    /* ErrorRollOver */
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1358:41: error: 'UITextLayoutDirection' is unavailable in watchOS
1356 |     }
1357 |
1358 |     private func navigate(in direction: UITextLayoutDirection, offset: Int) {
     |                                         `- error: 'UITextLayoutDirection' is unavailable in watchOS
1359 |         if let selectedRange = selectedRange {
1360 |             if let location = lineMovementController.location(from: selectedRange.location, in: direction, offset: offset) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:60:28: note: 'UITextLayoutDirection' has been explicitly marked unavailable here
 58 | } API_UNAVAILABLE(watchos);
 59 |
 60 | typedef NS_ENUM(NSInteger, UITextLayoutDirection) {
    |                            `- note: 'UITextLayoutDirection' has been explicitly marked unavailable here
 61 |     UITextLayoutDirectionRight = 2,
 62 |     UITextLayoutDirectionLeft,
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1467:34: error: 'UITextPosition' is unavailable in watchOS
1465 | // MARK: - Rects
1466 | extension TextInputView {
1467 |     func caretRect(for position: UITextPosition) -> CGRect {
     |                                  `- error: 'UITextPosition' is unavailable in watchOS
1468 |         guard let indexedPosition = position as? IndexedPosition else {
1469 |             fatalError("Expected position to be of type \(IndexedPosition.self)")
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1478:31: error: 'UITextRange' is unavailable in watchOS
1476 |     }
1477 |
1478 |     func firstRect(for range: UITextRange) -> CGRect {
     |                               `- error: 'UITextRange' is unavailable in watchOS
1479 |         guard let indexedRange = range as? IndexedRange else {
1480 |             fatalError("Expected range to be of type \(IndexedRange.self)")
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1565:27: error: 'UITextRange' is unavailable in watchOS
1563 |     }
1564 |
1565 |     func replace(_ range: UITextRange, withText text: String) {
     |                           `- error: 'UITextRange' is unavailable in watchOS
1566 |         let preparedText = prepareTextForInsertion(text)
1567 |         if let indexedRange = range as? IndexedRange, shouldChangeText(in: indexedRange.range.nonNegativeLength, replacementText: preparedText) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1593:25: error: 'UITextRange' is unavailable in watchOS
1591 |     }
1592 |
1593 |     func text(in range: UITextRange) -> String? {
     |                         `- error: 'UITextRange' is unavailable in watchOS
1594 |         if let indexedRange = range as? IndexedRange {
1595 |             let range = indexedRange.range.nonNegativeLength
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1842:36: error: 'UITextRange' is unavailable in watchOS
1840 | // MARK: - Selection
1841 | extension TextInputView {
1842 |     func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
     |                                    `- error: 'UITextRange' is unavailable in watchOS
1843 |         if let indexedRange = range as? IndexedRange {
1844 |             return selectionRectService.selectionRects(in: indexedRange.range.nonNegativeLength)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1842:53: error: 'UITextSelectionRect' is unavailable in watchOS
1840 | // MARK: - Selection
1841 | extension TextInputView {
1842 |     func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
     |                                                     `- error: 'UITextSelectionRect' is unavailable in watchOS
1843 |         if let indexedRange = range as? IndexedRange {
1844 |             return selectionRectService.selectionRects(in: indexedRange.range.nonNegativeLength)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1974:33: error: 'UITextRange' is unavailable in watchOS
1972 | // MARK: - Ranges and Positions
1973 | extension TextInputView {
1974 |     func position(within range: UITextRange, farthestIn direction: UITextLayoutDirection) -> UITextPosition? {
     |                                 `- error: 'UITextRange' is unavailable in watchOS
1975 |         // This implementation seems to match the behavior of UITextView.
1976 |         guard let indexedRange = range as? IndexedRange else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1974:68: error: 'UITextLayoutDirection' is unavailable in watchOS
1972 | // MARK: - Ranges and Positions
1973 | extension TextInputView {
1974 |     func position(within range: UITextRange, farthestIn direction: UITextLayoutDirection) -> UITextPosition? {
     |                                                                    `- error: 'UITextLayoutDirection' is unavailable in watchOS
1975 |         // This implementation seems to match the behavior of UITextView.
1976 |         guard let indexedRange = range as? IndexedRange else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:60:28: note: 'UITextLayoutDirection' has been explicitly marked unavailable here
 58 | } API_UNAVAILABLE(watchos);
 59 |
 60 | typedef NS_ENUM(NSInteger, UITextLayoutDirection) {
    |                            `- note: 'UITextLayoutDirection' has been explicitly marked unavailable here
 61 |     UITextLayoutDirectionRight = 2,
 62 |     UITextLayoutDirectionLeft,
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1974:94: error: 'UITextPosition' is unavailable in watchOS
1972 | // MARK: - Ranges and Positions
1973 | extension TextInputView {
1974 |     func position(within range: UITextRange, farthestIn direction: UITextLayoutDirection) -> UITextPosition? {
     |                                                                                              `- error: 'UITextPosition' is unavailable in watchOS
1975 |         // This implementation seems to match the behavior of UITextView.
1976 |         guard let indexedRange = range as? IndexedRange else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1989:34: error: 'UITextPosition' is unavailable in watchOS
1987 |     }
1988 |
1989 |     func position(from position: UITextPosition, in direction: UITextLayoutDirection, offset: Int) -> UITextPosition? {
     |                                  `- error: 'UITextPosition' is unavailable in watchOS
1990 |         guard let indexedPosition = position as? IndexedPosition else {
1991 |             return nil
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1989:64: error: 'UITextLayoutDirection' is unavailable in watchOS
1987 |     }
1988 |
1989 |     func position(from position: UITextPosition, in direction: UITextLayoutDirection, offset: Int) -> UITextPosition? {
     |                                                                `- error: 'UITextLayoutDirection' is unavailable in watchOS
1990 |         guard let indexedPosition = position as? IndexedPosition else {
1991 |             return nil
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:60:28: note: 'UITextLayoutDirection' has been explicitly marked unavailable here
 58 | } API_UNAVAILABLE(watchos);
 59 |
 60 | typedef NS_ENUM(NSInteger, UITextLayoutDirection) {
    |                            `- note: 'UITextLayoutDirection' has been explicitly marked unavailable here
 61 |     UITextLayoutDirectionRight = 2,
 62 |     UITextLayoutDirectionLeft,
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:1989:103: error: 'UITextPosition' is unavailable in watchOS
1987 |     }
1988 |
1989 |     func position(from position: UITextPosition, in direction: UITextLayoutDirection, offset: Int) -> UITextPosition? {
     |                                                                                                       `- error: 'UITextPosition' is unavailable in watchOS
1990 |         guard let indexedPosition = position as? IndexedPosition else {
1991 |             return nil
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:2000:47: error: 'UITextPosition' is unavailable in watchOS
1998 |     }
1999 |
2000 |     func characterRange(byExtending position: UITextPosition, in direction: UITextLayoutDirection) -> UITextRange? {
     |                                               `- error: 'UITextPosition' is unavailable in watchOS
2001 |         // This implementation seems to match the behavior of UITextView.
2002 |         guard let indexedPosition = position as? IndexedPosition else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift:2000:77: error: 'UITextLayoutDirection' is unavailable in watchOS
1998 |     }
1999 |
2000 |     func characterRange(byExtending position: UITextPosition, in direction: UITextLayoutDirection) -> UITextRange? {
     |                                                                             `- error: 'UITextLayoutDirection' is unavailable in watchOS
2001 |         // This implementation seems to match the behavior of UITextView.
2002 |         guard let indexedPosition = position as? IndexedPosition else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:60:28: note: 'UITextLayoutDirection' has been explicitly marked unavailable here
 58 | } API_UNAVAILABLE(watchos);
 59 |
 60 | typedef NS_ENUM(NSInteger, UITextLayoutDirection) {
    |                            `- note: 'UITextLayoutDirection' has been explicitly marked unavailable here
 61 |     UITextLayoutDirectionRight = 2,
 62 |     UITextLayoutDirectionLeft,
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/CharacterPairs/CharacterPairTrailingComponentDeletionMode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CharacterPairTrailingComponentDeletionMode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/CodeFoldingController.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CodeFoldingController.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/ContentSizeService.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ContentSizeService.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/EditMenuController.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile EditMenuController.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/FloatingCaretView.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FloatingCaretView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/IndexedPosition.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile IndexedPosition.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/IndexedRange.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile IndexedRange.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/LayoutManager.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LayoutManager.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/LineEnding.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineEnding.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/LineFragmentView.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineFragmentView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/LineMovementController.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineMovementController.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/MoveLinesService.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MoveLinesService.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/StringView.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile StringView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputStringTokenizer.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextInputStringTokenizer.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextInputView.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextInputView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextView.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Core/TextViewDelegate.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextViewDelegate.swift
SwiftCompile normal arm64_32 Compiling\ RedBlackTree.swift,\ RedBlackTreeChildrenUpdater.swift,\ RedBlackTreeIterator.swift,\ RedBlackTreeNode.swift,\ RedBlackTreeNodeColor.swift,\ RedBlackTreeNodePosition.swift,\ RedBlackTreeSearchMatch.swift,\ RedBlackTreeSearchQuery.swift,\ StringSyntaxHighlighter.swift,\ DefaultTheme.swift,\ FontTraits.swift,\ HighlightName.swift,\ HighlightStyle.swift,\ LineBreakMode.swift,\ LineSelectionDisplayType.swift,\ Theme.swift,\ CharacterPair.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTree.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeChildrenUpdater.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeIterator.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeNode.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeNodeColor.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeNodePosition.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeSearchMatch.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeSearchQuery.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/StringSyntaxHighlighter.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/DefaultTheme.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/FontTraits.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/HighlightName.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/HighlightStyle.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/LineBreakMode.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/LineSelectionDisplayType.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/Theme.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/CharacterPairs/CharacterPair.swift (in target 'Runestone' from project 'Runestone')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTree.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RedBlackTree.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeChildrenUpdater.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RedBlackTreeChildrenUpdater.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeIterator.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RedBlackTreeIterator.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeNode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RedBlackTreeNode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeNodeColor.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RedBlackTreeNodeColor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeNodePosition.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RedBlackTreeNodePosition.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeSearchMatch.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RedBlackTreeSearchMatch.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/RedBlackTreeSearchQuery.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RedBlackTreeSearchQuery.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/StringSyntaxHighlighter.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile StringSyntaxHighlighter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/DefaultTheme.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DefaultTheme.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/FontTraits.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FontTraits.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/HighlightName.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile HighlightName.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/HighlightStyle.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile HighlightStyle.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/LineBreakMode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineBreakMode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/LineSelectionDisplayType.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineSelectionDisplayType.swift
SwiftCompile normal arm64_32 (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/CharacterPairs/CharacterPair.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CharacterPair.swift
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/DefaultTheme.swift:76:92: error: 'UITextSearchFoundTextStyle' is unavailable in watchOS
 74 |
 75 |     @available(iOS 16.0, *)
 76 |     public func highlightedRange(forFoundTextRange foundTextRange: NSRange, ofStyle style: UITextSearchFoundTextStyle) -> HighlightedRange? {
    |                                                                                            `- error: 'UITextSearchFoundTextStyle' is unavailable in watchOS
 77 |         switch style {
 78 |         case .found:
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSearching.h:18:28: note: 'UITextSearchFoundTextStyle' has been explicitly marked unavailable here
 16 | typedef id<NSObject, NSCopying> UITextSearchDocumentIdentifier API_UNAVAILABLE(watchos);
 17 |
 18 | typedef NS_ENUM(NSInteger, UITextSearchFoundTextStyle) {
    |                            `- note: 'UITextSearchFoundTextStyle' has been explicitly marked unavailable here
 19 |     /// No style.
 20 |     UITextSearchFoundTextStyleNormal,
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/DefaultTheme.swift:100:14: error: 'init(named:in:compatibleWith:)' is unavailable in watchOS
 98 | private extension UIColor {
 99 |     convenience init(themeColorNamed name: String) {
100 |         self.init(named: "theme_" + name, in: .module, compatibleWith: nil)!
    |              `- error: 'init(named:in:compatibleWith:)' is unavailable in watchOS
101 |     }
102 | }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIColor.h:131:1: note: 'init(named:in:compatibleWith:)' has been explicitly marked unavailable here
129 | @interface UIColor (UIColorNamedColors)
130 | + (nullable UIColor *)colorNamed:(NSString *)name API_AVAILABLE(ios(11.0), watchos(4.0));      // load from main bundle
131 | + (nullable UIColor *)colorNamed:(NSString *)name inBundle:(nullable NSBundle *)bundle compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init(named:in:compatibleWith:)' has been explicitly marked unavailable here
132 | @end
133 |
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/Theme.swift:73:85: error: 'UITextSearchFoundTextStyle' is unavailable in watchOS
 71 |     /// - Returns: The object used for highlighting the provided text range, or `nil` if the range should not be highlighted.
 72 |     @available(iOS 16, *)
 73 |     func highlightedRange(forFoundTextRange foundTextRange: NSRange, ofStyle style: UITextSearchFoundTextStyle) -> HighlightedRange?
    |                                                                                     `- error: 'UITextSearchFoundTextStyle' is unavailable in watchOS
 74 | }
 75 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSearching.h:18:28: note: 'UITextSearchFoundTextStyle' has been explicitly marked unavailable here
 16 | typedef id<NSObject, NSCopying> UITextSearchDocumentIdentifier API_UNAVAILABLE(watchos);
 17 |
 18 | typedef NS_ENUM(NSInteger, UITextSearchFoundTextStyle) {
    |                            `- note: 'UITextSearchFoundTextStyle' has been explicitly marked unavailable here
 19 |     /// No style.
 20 |     UITextSearchFoundTextStyleNormal,
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/Theme.swift:106:85: error: 'UITextSearchFoundTextStyle' is unavailable in watchOS
104 |
105 |     @available(iOS 16, *)
106 |     func highlightedRange(forFoundTextRange foundTextRange: NSRange, ofStyle style: UITextSearchFoundTextStyle) -> HighlightedRange? {
    |                                                                                     `- error: 'UITextSearchFoundTextStyle' is unavailable in watchOS
107 |         switch style {
108 |         case .found:
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSearching.h:18:28: note: 'UITextSearchFoundTextStyle' has been explicitly marked unavailable here
 16 | typedef id<NSObject, NSCopying> UITextSearchDocumentIdentifier API_UNAVAILABLE(watchos);
 17 |
 18 | typedef NS_ENUM(NSInteger, UITextSearchFoundTextStyle) {
    |                            `- note: 'UITextSearchFoundTextStyle' has been explicitly marked unavailable here
 19 |     /// No style.
 20 |     UITextSearchFoundTextStyleNormal,
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/HairlineLength.swift:4:26: error: 'UIScreen' is unavailable in watchOS
2 |
3 | #if compiler(<5.9) || !os(visionOS)
4 | let hairlineLength = 1 / UIScreen.main.scale
  |                          `- error: 'UIScreen' is unavailable in watchOS
5 | #else
6 | let hairlineLength: CGFloat = 1
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/HairlineLength.swift:4:35: error: 'main' is unavailable in watchOS
2 |
3 | #if compiler(<5.9) || !os(visionOS)
4 | let hairlineLength = 1 / UIScreen.main.scale
  |                                   `- error: 'main' is unavailable in watchOS
5 | #else
6 | let hairlineLength: CGFloat = 1
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Appearance/Theme.swift:110:45: error: 'systemYellow' is unavailable in watchOS
108 |         case .found:
109 |             return HighlightedRange(range: foundTextRange,
110 |                                     color: .systemYellow.withAlphaComponent(0.2),
    |                                             `- error: 'systemYellow' is unavailable in watchOS
111 |                                     cornerRadius: 3,
112 |                                     presentationRole: .foundSearchResult)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:125:49: note: 'systemYellow' has been explicitly marked unavailable here
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor         API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
124 | @property (class, nonatomic, readonly) UIColor *systemOrangeColor       API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
125 | @property (class, nonatomic, readonly) UIColor *systemYellowColor       API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'systemYellow' has been explicitly marked unavailable here
126 | @property (class, nonatomic, readonly) UIColor *systemPinkColor         API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
127 | @property (class, nonatomic, readonly) UIColor *systemPurpleColor       API_AVAILABLE(ios(9.0), tvos(9.0)) API_UNAVAILABLE(watchos);
SwiftCompile normal arm64_32 Compiling\ TextChange.swift,\ TextEditHelper.swift,\ TreeSitterTextPoint+Helpers.swift,\ UIFont+Helpers.swift,\ UIScrollView+Helpers.swift,\ UITextInput+Helpers.swift,\ UITextSelectionDisplayInteraction+Helpers.swift,\ ViewReuseQueue.swift,\ DocumentLineChildrenUpdater.swift,\ DocumentLineNodeData.swift,\ FoldedLineProjection.swift,\ LineChangeSet.swift,\ LineManager+Folding.swift,\ LineManager.swift,\ LinePosition.swift,\ NewLineFinder.swift,\ ClosedRangeValueDescriptor.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/TextChange.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/TextEditHelper.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/TreeSitterTextPoint+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIFont+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UITextInput+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UITextSelectionDisplayInteraction+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ViewReuseQueue.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/DocumentLineChildrenUpdater.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/DocumentLineNodeData.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/FoldedLineProjection.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/LineChangeSet.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/LineManager+Folding.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/LineManager.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/LinePosition.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/NewLineFinder.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/ClosedRangeValueDescriptor.swift (in target 'Runestone' from project 'Runestone')
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift:3:11: error: 'UIScrollView' is unavailable in watchOS
 1 | import UIKit
 2 |
 3 | extension UIScrollView {
   |           `- error: 'UIScrollView' is unavailable in watchOS
 4 |     var minimumContentOffset: CGPoint {
 5 |         CGPoint(x: adjustedContentInset.left * -1, y: adjustedContentInset.top * -1)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
 85 |
 86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
    |            `- note: 'UIScrollView' has been explicitly marked unavailable here
 88 |
 89 | @property(nonatomic)         CGPoint                      contentOffset;                  // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift:5:20: error: 'adjustedContentInset' is unavailable in watchOS
 3 | extension UIScrollView {
 4 |     var minimumContentOffset: CGPoint {
 5 |         CGPoint(x: adjustedContentInset.left * -1, y: adjustedContentInset.top * -1)
   |                    `- error: 'adjustedContentInset' is unavailable in watchOS
 6 |     }
 7 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:101:45: note: 'adjustedContentInset' has been explicitly marked unavailable here
 99 |  its safeAreaInsets into the adjustedContentInset.
100 |  */
101 | @property(nonatomic, readonly) UIEdgeInsets adjustedContentInset API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
    |                                             `- note: 'adjustedContentInset' has been explicitly marked unavailable here
102 |
103 | /* Also see -scrollViewDidChangeAdjustedContentInset: in the UIScrollViewDelegate protocol.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift:5:55: error: 'adjustedContentInset' is unavailable in watchOS
 3 | extension UIScrollView {
 4 |     var minimumContentOffset: CGPoint {
 5 |         CGPoint(x: adjustedContentInset.left * -1, y: adjustedContentInset.top * -1)
   |                                                       `- error: 'adjustedContentInset' is unavailable in watchOS
 6 |     }
 7 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:101:45: note: 'adjustedContentInset' has been explicitly marked unavailable here
 99 |  its safeAreaInsets into the adjustedContentInset.
100 |  */
101 | @property(nonatomic, readonly) UIEdgeInsets adjustedContentInset API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
    |                                             `- note: 'adjustedContentInset' has been explicitly marked unavailable here
102 |
103 | /* Also see -scrollViewDidChangeAdjustedContentInset: in the UIScrollViewDelegate protocol.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift:9:59: error: 'adjustedContentInset' is unavailable in watchOS
 7 |
 8 |     var maximumContentOffset: CGPoint {
 9 |         let maxX = max(contentSize.width - bounds.width + adjustedContentInset.right, adjustedContentInset.left * -1)
   |                                                           `- error: 'adjustedContentInset' is unavailable in watchOS
10 |         let maxY = max(contentSize.height - bounds.height + adjustedContentInset.bottom, adjustedContentInset.top * -1)
11 |         return CGPoint(x: maxX, y: maxY)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:101:45: note: 'adjustedContentInset' has been explicitly marked unavailable here
 99 |  its safeAreaInsets into the adjustedContentInset.
100 |  */
101 | @property(nonatomic, readonly) UIEdgeInsets adjustedContentInset API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
    |                                             `- note: 'adjustedContentInset' has been explicitly marked unavailable here
102 |
103 | /* Also see -scrollViewDidChangeAdjustedContentInset: in the UIScrollViewDelegate protocol.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift:9:87: error: 'adjustedContentInset' is unavailable in watchOS
 7 |
 8 |     var maximumContentOffset: CGPoint {
 9 |         let maxX = max(contentSize.width - bounds.width + adjustedContentInset.right, adjustedContentInset.left * -1)
   |                                                                                       `- error: 'adjustedContentInset' is unavailable in watchOS
10 |         let maxY = max(contentSize.height - bounds.height + adjustedContentInset.bottom, adjustedContentInset.top * -1)
11 |         return CGPoint(x: maxX, y: maxY)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:101:45: note: 'adjustedContentInset' has been explicitly marked unavailable here
 99 |  its safeAreaInsets into the adjustedContentInset.
100 |  */
101 | @property(nonatomic, readonly) UIEdgeInsets adjustedContentInset API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
    |                                             `- note: 'adjustedContentInset' has been explicitly marked unavailable here
102 |
103 | /* Also see -scrollViewDidChangeAdjustedContentInset: in the UIScrollViewDelegate protocol.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift:10:61: error: 'adjustedContentInset' is unavailable in watchOS
 8 |     var maximumContentOffset: CGPoint {
 9 |         let maxX = max(contentSize.width - bounds.width + adjustedContentInset.right, adjustedContentInset.left * -1)
10 |         let maxY = max(contentSize.height - bounds.height + adjustedContentInset.bottom, adjustedContentInset.top * -1)
   |                                                             `- error: 'adjustedContentInset' is unavailable in watchOS
11 |         return CGPoint(x: maxX, y: maxY)
12 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:101:45: note: 'adjustedContentInset' has been explicitly marked unavailable here
 99 |  its safeAreaInsets into the adjustedContentInset.
100 |  */
101 | @property(nonatomic, readonly) UIEdgeInsets adjustedContentInset API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
    |                                             `- note: 'adjustedContentInset' has been explicitly marked unavailable here
102 |
103 | /* Also see -scrollViewDidChangeAdjustedContentInset: in the UIScrollViewDelegate protocol.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift:10:90: error: 'adjustedContentInset' is unavailable in watchOS
 8 |     var maximumContentOffset: CGPoint {
 9 |         let maxX = max(contentSize.width - bounds.width + adjustedContentInset.right, adjustedContentInset.left * -1)
10 |         let maxY = max(contentSize.height - bounds.height + adjustedContentInset.bottom, adjustedContentInset.top * -1)
   |                                                                                          `- error: 'adjustedContentInset' is unavailable in watchOS
11 |         return CGPoint(x: maxX, y: maxY)
12 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:101:45: note: 'adjustedContentInset' has been explicitly marked unavailable here
 99 |  its safeAreaInsets into the adjustedContentInset.
100 |  */
101 | @property(nonatomic, readonly) UIEdgeInsets adjustedContentInset API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
    |                                             `- note: 'adjustedContentInset' has been explicitly marked unavailable here
102 |
103 | /* Also see -scrollViewDidChangeAdjustedContentInset: in the UIScrollViewDelegate protocol.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UITextInput+Helpers.swift:7:46: error: 'UITextSelectionDisplayInteraction' is unavailable in watchOS
 5 | @available(iOS 17, *)
 6 | extension UITextInput where Self: NSObject {
 7 |     var sbs_textSelectionDisplayInteraction: UITextSelectionDisplayInteraction? {
   |                                              `- error: 'UITextSelectionDisplayInteraction' is unavailable in watchOS
 8 |         let interactionAssistantKey = "int" + "ssAnoitcare".reversed() + "istant"
 9 |         let selectionViewManagerKey: String = "les_".reversed() + "ection" + "reganaMweiV".reversed()
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionDisplayInteraction.h:38:12: note: 'UITextSelectionDisplayInteraction' has been explicitly marked unavailable here
36 | ///             and the various affordances for changing the selection.
37 | UIKIT_EXTERN API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
38 | @interface UITextSelectionDisplayInteraction : NSObject <UIInteraction>
   |            `- note: 'UITextSelectionDisplayInteraction' has been explicitly marked unavailable here
39 |
40 | /// Controls both the hidden sate of contained selection views as well as interactions that follow.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UITextInput+Helpers.swift:6:11: error: 'UITextInput' is unavailable in watchOS
 4 |
 5 | @available(iOS 17, *)
 6 | extension UITextInput where Self: NSObject {
   |           `- error: 'UITextInput' is unavailable in watchOS
 7 |     var sbs_textSelectionDisplayInteraction: UITextSelectionDisplayInteraction? {
 8 |         let interactionAssistantKey = "int" + "ssAnoitcare".reversed() + "istant"
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:119:11: note: 'UITextInput' has been explicitly marked unavailable here
117 |
118 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
119 | @protocol UITextInput <UIKeyInput>
    |           `- note: 'UITextInput' has been explicitly marked unavailable here
120 | @required
121 |
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UITextInput+Helpers.swift:19:80: error: 'UITextSelectionDisplayInteraction' is unavailable in watchOS
17 |             return nil
18 |         }
19 |         return interactionAssistant.value(forKey: selectionViewManagerKey) as? UITextSelectionDisplayInteraction
   |                                                                                `- error: 'UITextSelectionDisplayInteraction' is unavailable in watchOS
20 |     }
21 | }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionDisplayInteraction.h:38:12: note: 'UITextSelectionDisplayInteraction' has been explicitly marked unavailable here
36 | ///             and the various affordances for changing the selection.
37 | UIKIT_EXTERN API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
38 | @interface UITextSelectionDisplayInteraction : NSObject <UIInteraction>
   |            `- note: 'UITextSelectionDisplayInteraction' has been explicitly marked unavailable here
39 |
40 | /// Controls both the hidden sate of contained selection views as well as interactions that follow.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UITextSelectionDisplayInteraction+Helpers.swift:6:11: error: 'UITextSelectionDisplayInteraction' is unavailable in watchOS
 4 |
 5 | @available(iOS 17, *)
 6 | extension UITextSelectionDisplayInteraction {
   |           `- error: 'UITextSelectionDisplayInteraction' is unavailable in watchOS
 7 |     func sbs_enableCursorBlinks() {
 8 |         setValue(true, forKey: "rosruc".reversed() + "Blinks")
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSelectionDisplayInteraction.h:38:12: note: 'UITextSelectionDisplayInteraction' has been explicitly marked unavailable here
36 | ///             and the various affordances for changing the selection.
37 | UIKIT_EXTERN API_AVAILABLE(ios(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
38 | @interface UITextSelectionDisplayInteraction : NSObject <UIInteraction>
   |            `- note: 'UITextSelectionDisplayInteraction' has been explicitly marked unavailable here
39 |
40 | /// Controls both the hidden sate of contained selection views as well as interactions that follow.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ViewReuseQueue.swift:11:49: error: 'UIView' is unavailable in watchOS
 9 | }
10 |
11 | final class ViewReuseQueue<Key: Hashable, View: UIView & ReusableView> {
   |                                                 `- error: 'UIView' is unavailable in watchOS
12 |     private(set) var visibleViews: [Key: View] = [:]
13 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ViewReuseQueue.swift:20:19: error: 'UIApplication' is unavailable in watchOS
18 |             self,
19 |             selector: #selector(clearMemory),
20 |             name: UIApplication.didReceiveMemoryWarningNotification,
   |                   `- error: 'UIApplication' is unavailable in watchOS
21 |             object: nil)
22 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ViewReuseQueue.swift:20:33: error: 'didReceiveMemoryWarningNotification' is unavailable in watchOS
18 |             self,
19 |             selector: #selector(clearMemory),
20 |             name: UIApplication.didReceiveMemoryWarningNotification,
   |                                 `- error: 'didReceiveMemoryWarningNotification' is unavailable in watchOS
21 |             object: nil)
22 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:575:39: note: 'didReceiveMemoryWarningNotification' has been explicitly marked unavailable here
573 | UIKIT_EXTERN NSNotificationName const UIApplicationDidBecomeActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
574 | UIKIT_EXTERN NSNotificationName const UIApplicationWillResignActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
575 | UIKIT_EXTERN NSNotificationName const UIApplicationDidReceiveMemoryWarningNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'didReceiveMemoryWarningNotification' has been explicitly marked unavailable here
576 | UIKIT_EXTERN NSNotificationName const UIApplicationWillTerminateNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
577 | UIKIT_EXTERN NSNotificationName const UIApplicationSignificantTimeChangeNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/TextChange.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextChange.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/TextEditHelper.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextEditHelper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/TreeSitterTextPoint+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterTextPoint+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIFont+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UIFont+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UIScrollView+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UIScrollView+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UITextInput+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UITextInput+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/UITextSelectionDisplayInteraction+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UITextSelectionDisplayInteraction+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ViewReuseQueue.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ViewReuseQueue.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/DocumentLineChildrenUpdater.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DocumentLineChildrenUpdater.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/DocumentLineNodeData.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DocumentLineNodeData.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/FoldedLineProjection.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FoldedLineProjection.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/LineChangeSet.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineChangeSet.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/LineManager+Folding.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineManager+Folding.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/LineManager.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineManager.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/LinePosition.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LinePosition.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/LineManager/NewLineFinder.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile NewLineFinder.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/RedBlackTree/ClosedRangeValueDescriptor.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ClosedRangeValueDescriptor.swift
SwiftCompile normal arm64_32 Compiling\ resource_bundle_accessor.swift,\ ByteCount.swift,\ ByteRange.swift,\ Caret.swift,\ CharacterSet+Helpers.swift,\ DefaultStringAttributes.swift,\ HairlineLength.swift,\ KeyboardObserver.swift,\ L10n.swift,\ LineEndingDetector.swift,\ NSAttributedString+Helpers.swift,\ NSRange+Helpers.swift,\ NSString+Helpers.swift,\ QuickTapGestureRecognizer.swift,\ String+Helpers.swift,\ Symbol.swift,\ TabWidthMeasurer.swift /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Runestone.build/Debug-watchos/Runestone-t.build/DerivedSources/resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ByteCount.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ByteRange.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/Caret.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/CharacterSet+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/DefaultStringAttributes.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/HairlineLength.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/L10n.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/LineEndingDetector.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/NSAttributedString+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/NSRange+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/NSString+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/QuickTapGestureRecognizer.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/String+Helpers.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/Symbol.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/TabWidthMeasurer.swift (in target 'Runestone' from project 'Runestone')
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/HairlineLength.swift:4:26: error: 'UIScreen' is unavailable in watchOS
2 |
3 | #if compiler(<5.9) || !os(visionOS)
4 | let hairlineLength = 1 / UIScreen.main.scale
  |                          `- error: 'UIScreen' is unavailable in watchOS
5 | #else
6 | let hairlineLength: CGFloat = 1
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/HairlineLength.swift:4:35: error: 'main' is unavailable in watchOS
2 |
3 | #if compiler(<5.9) || !os(visionOS)
4 | let hairlineLength = 1 / UIScreen.main.scale
  |                                   `- error: 'main' is unavailable in watchOS
5 | #else
6 | let hairlineLength: CGFloat = 1
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:26:20: error: 'UIView' is unavailable in watchOS
 24 |     struct Animation {
 25 |         let duration: TimeInterval
 26 |         let curve: UIView.AnimationOptions
    |                    `- error: 'UIView' is unavailable in watchOS
 27 |
 28 |         fileprivate init(duration: TimeInterval, curve: UIView.AnimationCurve) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:28:57: error: 'UIView' is unavailable in watchOS
 26 |         let curve: UIView.AnimationOptions
 27 |
 28 |         fileprivate init(duration: TimeInterval, curve: UIView.AnimationCurve) {
    |                                                         `- error: 'UIView' is unavailable in watchOS
 29 |             self.duration = duration
 30 |             self.curve = UIView.AnimationOptions(rawValue: UInt(curve.rawValue << 16))
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:30:26: error: 'UIView' is unavailable in watchOS
 28 |         fileprivate init(duration: TimeInterval, curve: UIView.AnimationCurve) {
 29 |             self.duration = duration
 30 |             self.curve = UIView.AnimationOptions(rawValue: UInt(curve.rawValue << 16))
    |                          `- error: 'UIView' is unavailable in watchOS
 31 |         }
 32 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:34:13: error: 'UIView' is unavailable in watchOS
 32 |
 33 |         func run(animations: @escaping () -> Void, completion: ((Bool) -> Void)? = nil) {
 34 |             UIView.animate(withDuration: duration, delay: 0, options: curve, animations: animations, completion: completion)
    |             `- error: 'UIView' is unavailable in watchOS
 35 |         }
 36 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:46:19: error: 'UIResponder' is unavailable in watchOS
 44 |             self,
 45 |             selector: #selector(keyboardWillShow(notification:)),
 46 |             name: UIResponder.keyboardWillShowNotification,
    |                   `- error: 'UIResponder' is unavailable in watchOS
 47 |             object: nil)
 48 |         NotificationCenter.default.addObserver(
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:82:12: note: 'UIResponder' has been explicitly marked unavailable here
 80 |
 81 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 82 | @interface UIResponder : NSObject <UIResponderStandardEditActions>
    |            `- note: 'UIResponder' has been explicitly marked unavailable here
 83 |
 84 | @property(nonatomic, readonly, nullable) UIResponder *nextResponder;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:46:31: error: 'keyboardWillShowNotification' is unavailable in watchOS
 44 |             self,
 45 |             selector: #selector(keyboardWillShow(notification:)),
 46 |             name: UIResponder.keyboardWillShowNotification,
    |                               `- error: 'keyboardWillShowNotification' is unavailable in watchOS
 47 |             object: nil)
 48 |         NotificationCenter.default.addObserver(
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:132:39: note: 'keyboardWillShowNotification' has been explicitly marked unavailable here
130 | // Use the various UICoordinateSpace convertRect facilities to get the frame in the desired coordinate system.
131 | // Animation key/value pairs are only available for the "will" family of notification.
132 | UIKIT_EXTERN NSNotificationName const UIKeyboardWillShowNotification API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'keyboardWillShowNotification' has been explicitly marked unavailable here
133 | UIKIT_EXTERN NSNotificationName const UIKeyboardDidShowNotification API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
134 | UIKIT_EXTERN NSNotificationName const UIKeyboardWillHideNotification API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:51:19: error: 'UIResponder' is unavailable in watchOS
 49 |             self,
 50 |             selector: #selector(keyboardWillHide(notification:)),
 51 |             name: UIResponder.keyboardWillHideNotification,
    |                   `- error: 'UIResponder' is unavailable in watchOS
 52 |             object: nil)
 53 |         NotificationCenter.default.addObserver(
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:82:12: note: 'UIResponder' has been explicitly marked unavailable here
 80 |
 81 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 82 | @interface UIResponder : NSObject <UIResponderStandardEditActions>
    |            `- note: 'UIResponder' has been explicitly marked unavailable here
 83 |
 84 | @property(nonatomic, readonly, nullable) UIResponder *nextResponder;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:51:31: error: 'keyboardWillHideNotification' is unavailable in watchOS
 49 |             self,
 50 |             selector: #selector(keyboardWillHide(notification:)),
 51 |             name: UIResponder.keyboardWillHideNotification,
    |                               `- error: 'keyboardWillHideNotification' is unavailable in watchOS
 52 |             object: nil)
 53 |         NotificationCenter.default.addObserver(
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:134:39: note: 'keyboardWillHideNotification' has been explicitly marked unavailable here
132 | UIKIT_EXTERN NSNotificationName const UIKeyboardWillShowNotification API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
133 | UIKIT_EXTERN NSNotificationName const UIKeyboardDidShowNotification API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
134 | UIKIT_EXTERN NSNotificationName const UIKeyboardWillHideNotification API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'keyboardWillHideNotification' has been explicitly marked unavailable here
135 | UIKIT_EXTERN NSNotificationName const UIKeyboardDidHideNotification API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
136 |
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:56:19: error: 'UIResponder' is unavailable in watchOS
 54 |             self,
 55 |             selector: #selector(keyboardWillChangeFrame(notification:)),
 56 |             name: UIResponder.keyboardWillChangeFrameNotification,
    |                   `- error: 'UIResponder' is unavailable in watchOS
 57 |             object: nil)
 58 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:82:12: note: 'UIResponder' has been explicitly marked unavailable here
 80 |
 81 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 82 | @interface UIResponder : NSObject <UIResponderStandardEditActions>
    |            `- note: 'UIResponder' has been explicitly marked unavailable here
 83 |
 84 | @property(nonatomic, readonly, nullable) UIResponder *nextResponder;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:56:31: error: 'keyboardWillChangeFrameNotification' is unavailable in watchOS
 54 |             self,
 55 |             selector: #selector(keyboardWillChangeFrame(notification:)),
 56 |             name: UIResponder.keyboardWillChangeFrameNotification,
    |                               `- error: 'keyboardWillChangeFrameNotification' is unavailable in watchOS
 57 |             object: nil)
 58 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:145:39: note: 'keyboardWillChangeFrameNotification' has been explicitly marked unavailable here
143 | // Like the standard keyboard notifications above, these additional notifications include
144 | // a nil object and begin/end frames of the keyboard in screen coordinates in the userInfo dictionary.
145 | UIKIT_EXTERN NSNotificationName const UIKeyboardWillChangeFrameNotification  API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'keyboardWillChangeFrameNotification' has been explicitly marked unavailable here
146 | UIKIT_EXTERN NSNotificationName const UIKeyboardDidChangeFrameNotification   API_AVAILABLE(ios(5.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED;
147 |
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:96:44: error: 'UIResponder' is unavailable in watchOS
 94 |
 95 |     @objc private func keyboardHeight(from notification: Notification) -> CGFloat {
 96 |         let frame = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect ?? .zero
    |                                            `- error: 'UIResponder' is unavailable in watchOS
 97 |         return frame.height
 98 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:82:12: note: 'UIResponder' has been explicitly marked unavailable here
 80 |
 81 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 82 | @interface UIResponder : NSObject <UIResponderStandardEditActions>
    |            `- note: 'UIResponder' has been explicitly marked unavailable here
 83 |
 84 | @property(nonatomic, readonly, nullable) UIResponder *nextResponder;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:96:56: error: 'keyboardFrameEndUserInfoKey' is unavailable in watchOS
 94 |
 95 |     @objc private func keyboardHeight(from notification: Notification) -> CGFloat {
 96 |         let frame = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect ?? .zero
    |                                                        `- error: 'keyboardFrameEndUserInfoKey' is unavailable in watchOS
 97 |         return frame.height
 98 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:138:30: note: 'keyboardFrameEndUserInfoKey' has been explicitly marked unavailable here
136 |
137 | UIKIT_EXTERN NSString *const UIKeyboardFrameBeginUserInfoKey        API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSValue of CGRect
138 | UIKIT_EXTERN NSString *const UIKeyboardFrameEndUserInfoKey          API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSValue of CGRect
    |                              `- note: 'keyboardFrameEndUserInfoKey' has been explicitly marked unavailable here
139 | UIKIT_EXTERN NSString *const UIKeyboardAnimationDurationUserInfoKey API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSNumber of double
140 | UIKIT_EXTERN NSString *const UIKeyboardAnimationCurveUserInfoKey    API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSNumber of NSUInteger (UIViewAnimationCurve)
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:101:47: error: 'UIResponder' is unavailable in watchOS
 99 |
100 |     private func createAnimation(from notification: Notification) -> Animation? {
101 |         let duration = notification.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as? TimeInterval
    |                                               `- error: 'UIResponder' is unavailable in watchOS
102 |         let rawCurve = notification.userInfo?[UIResponder.keyboardAnimationCurveUserInfoKey] as? Int
103 |         if let duration = duration, let rawCurve = rawCurve, let curve = UIView.AnimationCurve(rawValue: rawCurve) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:82:12: note: 'UIResponder' has been explicitly marked unavailable here
 80 |
 81 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 82 | @interface UIResponder : NSObject <UIResponderStandardEditActions>
    |            `- note: 'UIResponder' has been explicitly marked unavailable here
 83 |
 84 | @property(nonatomic, readonly, nullable) UIResponder *nextResponder;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:101:59: error: 'keyboardAnimationDurationUserInfoKey' is unavailable in watchOS
 99 |
100 |     private func createAnimation(from notification: Notification) -> Animation? {
101 |         let duration = notification.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as? TimeInterval
    |                                                           `- error: 'keyboardAnimationDurationUserInfoKey' is unavailable in watchOS
102 |         let rawCurve = notification.userInfo?[UIResponder.keyboardAnimationCurveUserInfoKey] as? Int
103 |         if let duration = duration, let rawCurve = rawCurve, let curve = UIView.AnimationCurve(rawValue: rawCurve) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:139:30: note: 'keyboardAnimationDurationUserInfoKey' has been explicitly marked unavailable here
137 | UIKIT_EXTERN NSString *const UIKeyboardFrameBeginUserInfoKey        API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSValue of CGRect
138 | UIKIT_EXTERN NSString *const UIKeyboardFrameEndUserInfoKey          API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSValue of CGRect
139 | UIKIT_EXTERN NSString *const UIKeyboardAnimationDurationUserInfoKey API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSNumber of double
    |                              `- note: 'keyboardAnimationDurationUserInfoKey' has been explicitly marked unavailable here
140 | UIKIT_EXTERN NSString *const UIKeyboardAnimationCurveUserInfoKey    API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSNumber of NSUInteger (UIViewAnimationCurve)
141 | UIKIT_EXTERN NSString *const UIKeyboardIsLocalUserInfoKey           API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSNumber of BOOL
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:102:47: error: 'UIResponder' is unavailable in watchOS
100 |     private func createAnimation(from notification: Notification) -> Animation? {
101 |         let duration = notification.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as? TimeInterval
102 |         let rawCurve = notification.userInfo?[UIResponder.keyboardAnimationCurveUserInfoKey] as? Int
    |                                               `- error: 'UIResponder' is unavailable in watchOS
103 |         if let duration = duration, let rawCurve = rawCurve, let curve = UIView.AnimationCurve(rawValue: rawCurve) {
104 |             return Animation(duration: duration, curve: curve)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:82:12: note: 'UIResponder' has been explicitly marked unavailable here
 80 |
 81 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 82 | @interface UIResponder : NSObject <UIResponderStandardEditActions>
    |            `- note: 'UIResponder' has been explicitly marked unavailable here
 83 |
 84 | @property(nonatomic, readonly, nullable) UIResponder *nextResponder;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:102:59: error: 'keyboardAnimationCurveUserInfoKey' is unavailable in watchOS
100 |     private func createAnimation(from notification: Notification) -> Animation? {
101 |         let duration = notification.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as? TimeInterval
102 |         let rawCurve = notification.userInfo?[UIResponder.keyboardAnimationCurveUserInfoKey] as? Int
    |                                                           `- error: 'keyboardAnimationCurveUserInfoKey' is unavailable in watchOS
103 |         if let duration = duration, let rawCurve = rawCurve, let curve = UIView.AnimationCurve(rawValue: rawCurve) {
104 |             return Animation(duration: duration, curve: curve)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:140:30: note: 'keyboardAnimationCurveUserInfoKey' has been explicitly marked unavailable here
138 | UIKIT_EXTERN NSString *const UIKeyboardFrameEndUserInfoKey          API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSValue of CGRect
139 | UIKIT_EXTERN NSString *const UIKeyboardAnimationDurationUserInfoKey API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSNumber of double
140 | UIKIT_EXTERN NSString *const UIKeyboardAnimationCurveUserInfoKey    API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSNumber of NSUInteger (UIViewAnimationCurve)
    |                              `- note: 'keyboardAnimationCurveUserInfoKey' has been explicitly marked unavailable here
141 | UIKIT_EXTERN NSString *const UIKeyboardIsLocalUserInfoKey           API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NONISOLATED; // NSNumber of BOOL
142 |
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift:103:74: error: 'UIView' is unavailable in watchOS
101 |         let duration = notification.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as? TimeInterval
102 |         let rawCurve = notification.userInfo?[UIResponder.keyboardAnimationCurveUserInfoKey] as? Int
103 |         if let duration = duration, let rawCurve = rawCurve, let curve = UIView.AnimationCurve(rawValue: rawCurve) {
    |                                                                          `- error: 'UIView' is unavailable in watchOS
104 |             return Animation(duration: duration, curve: curve)
105 |         } else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/QuickTapGestureRecognizer.swift:8:25: error: 'UIGestureRecognizer' is unavailable in watchOS
 6 |     private var cancelTimer: Timer?
 7 |
 8 |     override var state: UIGestureRecognizer.State {
   |                         `- error: 'UIGestureRecognizer' is unavailable in watchOS
 9 |         didSet {
10 |             if state != oldValue {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/QuickTapGestureRecognizer.swift:16:47: error: 'UITouch' is unavailable in watchOS
14 |     }
15 |
16 |     override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                               `- error: 'UITouch' is unavailable in watchOS
17 |         super.touchesBegan(touches, with: event)
18 |         invalidateTimer()
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/QuickTapGestureRecognizer.swift:16:69: error: 'UIEvent' is unavailable in watchOS
14 |     }
15 |
16 |     override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                     `- error: 'UIEvent' is unavailable in watchOS
17 |         super.touchesBegan(touches, with: event)
18 |         invalidateTimer()
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Runestone.build/Debug-watchos/Runestone-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile resource_bundle_accessor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ByteCount.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ByteCount.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/ByteRange.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ByteRange.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/Caret.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Caret.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/CharacterSet+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CharacterSet+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/DefaultStringAttributes.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DefaultStringAttributes.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/HairlineLength.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile HairlineLength.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/KeyboardObserver.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile KeyboardObserver.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/L10n.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile L10n.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/LineEndingDetector.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineEndingDetector.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/NSAttributedString+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile NSAttributedString+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/NSRange+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile NSRange+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/NSString+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile NSString+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/QuickTapGestureRecognizer.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile QuickTapGestureRecognizer.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/String+Helpers.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile String+Helpers.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/Symbol.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Symbol.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/TabWidthMeasurer.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TabWidthMeasurer.swift
SwiftCompile normal arm64_32 Compiling\ TreeSitterLanguageLayer.swift,\ TreeSitterLanguageLayerStore.swift,\ TreeSitterSyntaxHighlightToken.swift,\ TreeSitterSyntaxHighlighter.swift,\ TreeSitterTextPredicatesEvaluator.swift,\ LanguageMode.swift,\ PlainTextLanguageMode.swift,\ SyntaxNode.swift,\ TreeSitterIndentationScopes.swift,\ TreeSitterLanguage.swift,\ TreeSitterLanguageMode.swift,\ TreeSitterLanguageProvider.swift,\ CaretRectService.swift,\ SelectionRectService.swift,\ TextSelectionRect.swift,\ WritingToolsExclusions.swift,\ WritingToolsInteraction.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterLanguageLayer.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterLanguageLayerStore.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterSyntaxHighlightToken.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterSyntaxHighlighter.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterTextPredicatesEvaluator.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/LanguageMode.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/PlainText/PlainTextLanguageMode.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/SyntaxNode.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/TreeSitter/TreeSitterIndentationScopes.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/TreeSitter/TreeSitterLanguage.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/TreeSitter/TreeSitterLanguageMode.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/TreeSitter/TreeSitterLanguageProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/TextSelection/CaretRectService.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/TextSelection/SelectionRectService.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/TextSelection/TextSelectionRect.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsExclusions.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift (in target 'Runestone' from project 'Runestone')
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/TextSelection/TextSelectionRect.swift:3:32: error: 'UITextSelectionRect' is unavailable in watchOS
 1 | import UIKit
 2 |
 3 | final class TextSelectionRect: UITextSelectionRect {
   |                                `- error: 'UITextSelectionRect' is unavailable in watchOS
 4 |     override var rect: CGRect {
 5 |         _rect
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:28:27: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 26 |     private var previousLayout: [CGRect] = []
 27 |
 28 |     lazy var coordinator: UIWritingToolsCoordinator = {
    |                           `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 29 |         let coordinator = UIWritingToolsCoordinator(delegate: self)
 30 |         coordinator.preferredBehavior = .complete
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:29:27: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 27 |
 28 |     lazy var coordinator: UIWritingToolsCoordinator = {
 29 |         let coordinator = UIWritingToolsCoordinator(delegate: self)
    |                           `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 30 |         coordinator.preferredBehavior = .complete
 31 |         coordinator.preferredResultOptions = .plainText
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:36:24: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 34 |
 35 |     private struct HiddenText {
 36 |         let animation: UIWritingToolsCoordinator.TextAnimation
    |                        `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 37 |         let originalRange: NSRange
 38 |         var range: NSRange
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:97:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 95 |     }
 96 |
 97 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 98 |                                  requestsContextsFor scope: UIWritingToolsCoordinator.ContextScope,
 99 |                                  completion: @escaping ([UIWritingToolsCoordinator.Context]) -> Void) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:98:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 96 |
 97 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
 98 |                                  requestsContextsFor scope: UIWritingToolsCoordinator.ContextScope,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 99 |                                  completion: @escaping ([UIWritingToolsCoordinator.Context]) -> Void) {
100 |         guard let view = textInputView, view.markedTextRange == nil,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:99:58: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 97 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
 98 |                                  requestsContextsFor scope: UIWritingToolsCoordinator.ContextScope,
 99 |                                  completion: @escaping ([UIWritingToolsCoordinator.Context]) -> Void) {
    |                                                          `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
100 |         guard let view = textInputView, view.markedTextRange == nil,
101 |               view.isUserInteractionEnabled else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:128:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
126 |
127 |     // swiftlint:disable:next function_parameter_count
128 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
129 |                                  replace range: NSRange,
130 |                                  in context: UIWritingToolsCoordinator.Context,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:130:46: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
128 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
129 |                                  replace range: NSRange,
130 |                                  in context: UIWritingToolsCoordinator.Context,
    |                                              `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
131 |                                  proposedText replacementText: NSAttributedString,
132 |                                  reason: UIWritingToolsCoordinator.TextReplacementReason,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:132:42: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
130 |                                  in context: UIWritingToolsCoordinator.Context,
131 |                                  proposedText replacementText: NSAttributedString,
132 |                                  reason: UIWritingToolsCoordinator.TextReplacementReason,
    |                                          `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
133 |                                  animationParameters: UIWritingToolsCoordinator.AnimationParameters?,
134 |                                  completion: @escaping (NSAttributedString?) -> Void) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:133:55: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
131 |                                  proposedText replacementText: NSAttributedString,
132 |                                  reason: UIWritingToolsCoordinator.TextReplacementReason,
133 |                                  animationParameters: UIWritingToolsCoordinator.AnimationParameters?,
    |                                                       `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
134 |                                  completion: @escaping (NSAttributedString?) -> Void) {
135 |         guard let view = validView(for: range, in: context), view.isEditableForSystemTextReplacement,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:158:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
156 |     }
157 |
158 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
159 |                                  select ranges: [NSValue],
160 |                                  in context: UIWritingToolsCoordinator.Context,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:160:46: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
158 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
159 |                                  select ranges: [NSValue],
160 |                                  in context: UIWritingToolsCoordinator.Context,
    |                                              `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
161 |                                  completion: @escaping () -> Void) {
162 |         defer { completion() }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:173:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
171 |     }
172 |
173 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
174 |                                  requestsBoundingBezierPathsFor range: NSRange,
175 |                                  in context: UIWritingToolsCoordinator.Context,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:175:46: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
173 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
174 |                                  requestsBoundingBezierPathsFor range: NSRange,
175 |                                  in context: UIWritingToolsCoordinator.Context,
    |                                              `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
176 |                                  completion: @escaping ([UIBezierPath]) -> Void) {
177 |         let rects = validView(for: range, in: context)?.writingToolsTextRects(in: range) ?? []
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:181:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
179 |     }
180 |
181 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
182 |                                  requestsUnderlinePathsFor range: NSRange,
183 |                                  in context: UIWritingToolsCoordinator.Context,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:183:46: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
181 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
182 |                                  requestsUnderlinePathsFor range: NSRange,
183 |                                  in context: UIWritingToolsCoordinator.Context,
    |                                              `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
184 |                                  completion: @escaping ([UIBezierPath]) -> Void) {
185 |         guard let view = validView(for: range, in: context) else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:199:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
197 |     }
198 |
199 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
200 |                                  prepareFor textAnimation: UIWritingToolsCoordinator.TextAnimation,
201 |                                  for range: NSRange,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:200:60: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
198 |
199 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
200 |                                  prepareFor textAnimation: UIWritingToolsCoordinator.TextAnimation,
    |                                                            `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
201 |                                  for range: NSRange,
202 |                                  in context: UIWritingToolsCoordinator.Context,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:202:46: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
200 |                                  prepareFor textAnimation: UIWritingToolsCoordinator.TextAnimation,
201 |                                  for range: NSRange,
202 |                                  in context: UIWritingToolsCoordinator.Context,
    |                                              `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
203 |                                  completion: @escaping () -> Void) {
204 |         if validView(for: range, in: context) != nil {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:211:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
209 |     }
210 |
211 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
212 |                                  requestsPreviewFor textAnimation: UIWritingToolsCoordinator.TextAnimation,
213 |                                  of range: NSRange,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:212:68: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
210 |
211 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
212 |                                  requestsPreviewFor textAnimation: UIWritingToolsCoordinator.TextAnimation,
    |                                                                    `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
213 |                                  of range: NSRange,
214 |                                  in context: UIWritingToolsCoordinator.Context,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:214:46: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
212 |                                  requestsPreviewFor textAnimation: UIWritingToolsCoordinator.TextAnimation,
213 |                                  of range: NSRange,
214 |                                  in context: UIWritingToolsCoordinator.Context,
    |                                              `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
215 |                                  completion: @escaping (UITargetedPreview?) -> Void) {
216 |         guard let view = validView(for: range, in: context), view.window != nil else {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:215:57: error: 'UITargetedPreview' is unavailable in watchOS
213 |                                  of range: NSRange,
214 |                                  in context: UIWritingToolsCoordinator.Context,
215 |                                  completion: @escaping (UITargetedPreview?) -> Void) {
    |                                                         `- error: 'UITargetedPreview' is unavailable in watchOS
216 |         guard let view = validView(for: range, in: context), view.window != nil else {
217 |             completion(nil)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITargetedPreview.h:45:12: note: 'UITargetedPreview' has been explicitly marked unavailable here
43 |
44 | UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
45 | @interface UITargetedPreview : NSObject <NSCopying>
   |            `- note: 'UITargetedPreview' has been explicitly marked unavailable here
46 |
47 | /* UITargetedPreview is a preview used during an interaction's animations.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:245:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
243 |     }
244 |
245 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
246 |                                  finish textAnimation: UIWritingToolsCoordinator.TextAnimation,
247 |                                  for range: NSRange,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:246:56: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
244 |
245 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
246 |                                  finish textAnimation: UIWritingToolsCoordinator.TextAnimation,
    |                                                        `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
247 |                                  for range: NSRange,
248 |                                  in context: UIWritingToolsCoordinator.Context,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:248:46: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
246 |                                  finish textAnimation: UIWritingToolsCoordinator.TextAnimation,
247 |                                  for range: NSRange,
248 |                                  in context: UIWritingToolsCoordinator.Context,
    |                                              `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
249 |                                  completion: @escaping () -> Void) {
250 |         if contextIdentifier == context.identifier,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:258:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
256 |     }
257 |
258 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
259 |                                  willChangeTo newState: UIWritingToolsCoordinator.State,
260 |                                  completion: @escaping () -> Void) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:259:57: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
257 |
258 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
259 |                                  willChangeTo newState: UIWritingToolsCoordinator.State,
    |                                                         `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
260 |                                  completion: @escaping () -> Void) {
261 |         if newState == .inactive { clearContext() }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:267:61: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
265 |
266 |     // iOS 18.2 and 18.3 ask the delegate to map proofreading taps back into its context.
267 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |                                                             `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
268 |                                  requestsRangeInContextWithIdentifierFor point: CGPoint,
269 |                                  completion: @escaping (NSRange, UUID) -> Void) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:16:73: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 14 | #if compiler(>=6.0.3) && (!os(visionOS) || compiler(>=6.1))
 15 | @available(iOS 18.2, visionOS 2.4, *)
 16 | final class WritingToolsInteraction: NSObject, WritingToolsControlling, UIWritingToolsCoordinator.Delegate {
    |                                                                         `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
 17 |     private weak var textInputView: TextInputView?
 18 |     private var contextIdentifier: UUID?
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:16:13: error: type 'WritingToolsInteraction' does not conform to protocol 'UIWritingToolsCoordinator.Delegate'
 14 | #if compiler(>=6.0.3) && (!os(visionOS) || compiler(>=6.1))
 15 | @available(iOS 18.2, visionOS 2.4, *)
 16 | final class WritingToolsInteraction: NSObject, WritingToolsControlling, UIWritingToolsCoordinator.Delegate {
    |             |- error: type 'WritingToolsInteraction' does not conform to protocol 'UIWritingToolsCoordinator.Delegate'
    |             `- note: add stubs for conformance
 17 |     private weak var textInputView: TextInputView?
 18 |     private var contextIdentifier: UUID?
    :
209 |     }
210 |
211 |     func writingToolsCoordinator(_ writingToolsCoordinator: UIWritingToolsCoordinator,
    |          `- note: candidate has non-matching type '(UIWritingToolsCoordinator, UIWritingToolsCoordinator.TextAnimation, NSRange, UIWritingToolsCoordinator.Context, @escaping (UITargetedPreview?) -> Void) -> ()' (aka '(UIWritingToolsCoordinator, UIWritingToolsCoordinator.TextAnimation, _NSRange, UIWritingToolsCoordinator.Context, @escaping (Optional<UITargetedPreview>) -> ()) -> ()')
212 |                                  requestsPreviewFor textAnimation: UIWritingToolsCoordinator.TextAnimation,
213 |                                  of range: NSRange,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:857:1: note: protocol requires function 'writingToolsCoordinator(_:previewFor:range:context:)' with type '(UIWritingToolsCoordinator, UIWritingToolsCoordinator.TextAnimation, NSRange, UIWritingToolsCoordinator.Context) async -> UIView?' (aka '(UIWritingToolsCoordinator, UIWritingToolsCoordinator.TextAnimation, _NSRange, UIWritingToolsCoordinator.Context) async -> Optional<UIView>')
 855 | /// previous method. However, multiple animations can run simultaneously, so
 856 | /// check the `textAnimation` parameter to differentiate sequences.
 857 | - (void)writingToolsCoordinator:(UIWritingToolsCoordinator *)writingToolsCoordinator requestsPreviewForTextAnimation:(UIWritingToolsCoordinatorTextAnimation)textAnimation ofRange:(NSRange)range inContext:(UIWritingToolsCoordinatorContext *)context completion:(void(^)(UIView * _Nullable))completion NS_SWIFT_ASYNC_NAME(writingToolsCoordinator(_:previewFor:range:context:));
     | |- note: protocol requires function 'writingToolsCoordinator(_:previewFor:range:context:)' with type '(UIWritingToolsCoordinator, UIWritingToolsCoordinator.TextAnimation, NSRange, UIWritingToolsCoordinator.Context) async -> UIView?' (aka '(UIWritingToolsCoordinator, UIWritingToolsCoordinator.TextAnimation, _NSRange, UIWritingToolsCoordinator.Context) async -> Optional<UIView>')
     | `- note: protocol requires function 'writingToolsCoordinator(_:requestsPreviewFor:of:in:completion:)' with type '(UIWritingToolsCoordinator, UIWritingToolsCoordinator.TextAnimation, NSRange, UIWritingToolsCoordinator.Context, @escaping @Sendable (UIView?) -> Void) -> Void' (aka '(UIWritingToolsCoordinator, UIWritingToolsCoordinator.TextAnimation, _NSRange, UIWritingToolsCoordinator.Context, @escaping @Sendable (Optional<UIView>) -> ()) -> ()')
 858 | #else // } {
 859 | /// Asks the delegate for a preview image and layout information for the
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:290:52: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
288 |     }
289 |
290 |     func validView(for range: NSRange, in context: UIWritingToolsCoordinator.Context) -> TextInputView? {
    |                                                    `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
291 |         guard contextIdentifier == context.identifier, let view = textInputView,
292 |               view.textMutationVersion == expectedMutationVersion, view.string == expectedText,
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:120:23: error: 'UIWritingToolsCoordinator' is unavailable in watchOS
118 |         // including edits that insert paragraphs before another proofreading suggestion.
119 |         expectedExcludedRanges = view.writingToolsExcludedRanges()
120 |         let context = UIWritingToolsCoordinator.Context(attributedString: attributedText(in: view, excluding: expectedExcludedRanges), range: range)
    |                       `- error: 'UIWritingToolsCoordinator' is unavailable in watchOS
121 |         contextIdentifier = context.identifier
122 |         expectedText = text.copy() as? NSString
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWritingToolsCoordinator.h:142:12: note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 140 | /// interactions.
 141 | UIKIT_EXTERN API_AVAILABLE(ios(18.2), visionos(2.4)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
 142 | @interface UIWritingToolsCoordinator : NSObject <UIInteraction>
     |            `- note: 'UIWritingToolsCoordinator' has been explicitly marked unavailable here
 143 |
 144 | /// A Boolean value that indicates whether Writing Tools features are available to enable.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:228:22: error: 'UIGraphicsImageRendererFormat' is unavailable in watchOS
226 |         // Draw only the glyphs, with the same Core Text line renderer as the editor.
227 |         // Limit the image to the viewport so large documents cannot allocate huge bitmaps.
228 |         let format = UIGraphicsImageRendererFormat()
    |                      `- error: 'UIGraphicsImageRendererFormat' is unavailable in watchOS
229 |         format.opaque = false
230 |         let image = UIGraphicsImageRenderer(size: frame.size, format: format).image { renderer in
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h:27:12: note: 'UIGraphicsImageRendererFormat' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
27 | @interface UIGraphicsImageRendererFormat : UIGraphicsRendererFormat
   |            `- note: 'UIGraphicsImageRendererFormat' has been explicitly marked unavailable here
28 |
29 | @property (nonatomic) CGFloat scale; // display scale of the context. The preferredFormat uses the scale most appropriate for the main screen's current configuration.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:230:21: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
228 |         let format = UIGraphicsImageRendererFormat()
229 |         format.opaque = false
230 |         let image = UIGraphicsImageRenderer(size: frame.size, format: format).image { renderer in
    |                     `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
231 |             let cg = renderer.cgContext
232 |             cg.translateBy(x: -frame.minX, y: -frame.minY)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h:47:12: note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
45 |
46 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
47 | @interface UIGraphicsImageRenderer : UIGraphicsRenderer
   |            `- note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
48 | - (instancetype)initWithSize:(CGSize)size;
49 | - (instancetype)initWithSize:(CGSize)size format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:236:25: error: 'UIImageView' is unavailable in watchOS
234 |             view.drawWritingToolsText(in: cg)
235 |         }
236 |         let imageView = UIImageView(image: image)
    |                         `- error: 'UIImageView' is unavailable in watchOS
237 |         imageView.frame = frame
238 |         let localRects = rects.map { NSValue(cgRect: $0.offsetBy(dx: -frame.minX, dy: -frame.minY)) }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
 19 |
 20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 21 | @interface UIImageView : UIView
    |            `- note: 'UIImageView' has been explicitly marked unavailable here
 22 |
 23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:239:26: error: 'UIPreviewParameters' is unavailable in watchOS
237 |         imageView.frame = frame
238 |         let localRects = rects.map { NSValue(cgRect: $0.offsetBy(dx: -frame.minX, dy: -frame.minY)) }
239 |         let parameters = UIPreviewParameters(textLineRects: localRects)
    |                          `- error: 'UIPreviewParameters' is unavailable in watchOS
240 |         parameters.backgroundColor = .clear
241 |         let target = UIPreviewTarget(container: view, center: CGPoint(x: frame.midX, y: frame.midY))
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPreviewParameters.h:18:12: note: 'UIPreviewParameters' has been explicitly marked unavailable here
16 |
17 | UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
18 | @interface UIPreviewParameters : NSObject <NSCopying>
   |            `- note: 'UIPreviewParameters' has been explicitly marked unavailable here
19 |
20 | /* The default parameters. Use these for most previews.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:241:22: error: 'UIPreviewTarget' is unavailable in watchOS
239 |         let parameters = UIPreviewParameters(textLineRects: localRects)
240 |         parameters.backgroundColor = .clear
241 |         let target = UIPreviewTarget(container: view, center: CGPoint(x: frame.midX, y: frame.midY))
    |                      `- error: 'UIPreviewTarget' is unavailable in watchOS
242 |         completion(UITargetedPreview(view: imageView, parameters: parameters, target: target))
243 |     }
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITargetedPreview.h:18:12: note: 'UIPreviewTarget' has been explicitly marked unavailable here
16 |
17 | UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
18 | @interface UIPreviewTarget : NSObject <NSCopying>
   |            `- note: 'UIPreviewTarget' has been explicitly marked unavailable here
19 |
20 | /* UIPreviewTarget specifies where a preview should come from, or go to.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift:242:20: error: 'UITargetedPreview' is unavailable in watchOS
240 |         parameters.backgroundColor = .clear
241 |         let target = UIPreviewTarget(container: view, center: CGPoint(x: frame.midX, y: frame.midY))
242 |         completion(UITargetedPreview(view: imageView, parameters: parameters, target: target))
    |                    `- error: 'UITargetedPreview' is unavailable in watchOS
243 |     }
244 |
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITargetedPreview.h:45:12: note: 'UITargetedPreview' has been explicitly marked unavailable here
43 |
44 | UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(17.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
45 | @interface UITargetedPreview : NSObject <NSCopying>
   |            `- note: 'UITargetedPreview' has been explicitly marked unavailable here
46 |
47 | /* UITargetedPreview is a preview used during an interaction's animations.
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterLanguageLayer.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterLanguageLayer.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterLanguageLayerStore.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterLanguageLayerStore.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterSyntaxHighlightToken.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterSyntaxHighlightToken.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterSyntaxHighlighter.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterSyntaxHighlighter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/Internal/TreeSitter/TreeSitterTextPredicatesEvaluator.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterTextPredicatesEvaluator.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/LanguageMode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LanguageMode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/PlainText/PlainTextLanguageMode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PlainTextLanguageMode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/SyntaxNode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SyntaxNode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/TreeSitter/TreeSitterIndentationScopes.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterIndentationScopes.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/TreeSitter/TreeSitterLanguage.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterLanguage.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/TreeSitter/TreeSitterLanguageMode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterLanguageMode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SyntaxHighlighting/TreeSitter/TreeSitterLanguageProvider.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterLanguageProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/TextSelection/CaretRectService.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CaretRectService.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/TextSelection/SelectionRectService.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SelectionRectService.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/TextSelection/TextSelectionRect.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextSelectionRect.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsExclusions.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile WritingToolsExclusions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsInteraction.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile WritingToolsInteraction.swift
SwiftCompile normal arm64_32 Compiling\ LineBreakSuggester.swift,\ WordWrappingLineBreakSuggester.swift,\ LineController.swift,\ LineControllerFactory.swift,\ LineControllerStorage.swift,\ LineFragment.swift,\ LineFragmentCharacterLocationQuery.swift,\ LineFragmentController.swift,\ LineFragmentFrameQuery.swift,\ LineFragmentNode.swift,\ LineFragmentRenderer.swift,\ LineFragmentSelectionRect.swift,\ LinePrefixReuse.swift,\ LineSyntaxHighlighter.swift,\ LineTypesetter.swift,\ UnbrokenLineBreakContext.swift,\ GoToLineSelection.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineBreak/LineBreakSuggester.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineBreak/WordWrappingLineBreakSuggester.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineController.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineControllerFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineControllerStorage.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragment.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentCharacterLocationQuery.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentController.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentFrameQuery.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentNode.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentRenderer.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentSelectionRect.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LinePrefixReuse.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineSyntaxHighlighter.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineTypesetter.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/UnbrokenLineBreakContext.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Navigation/GoToLineSelection.swift (in target 'Runestone' from project 'Runestone')
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentRenderer.swift:18:47: error: 'systemFill' is unavailable in watchOS
 16 |     let invisibleCharacterConfiguration: InvisibleCharacterConfiguration
 17 |     var markedRange: NSRange?
 18 |     var markedTextBackgroundColor: UIColor = .systemFill
    |                                               `- error: 'systemFill' is unavailable in watchOS
 19 |     var markedTextBackgroundCornerRadius: CGFloat = 0
 20 |     var highlightedRangeFragments: [HighlightedRangeFragment] = []
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:229:49: note: 'systemFill' has been explicitly marked unavailable here
227 |  * Example: The track of a slider.
228 |  */
229 | @property (class, nonatomic, readonly) UIColor *systemFillColor                         API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    |                                                 `- note: 'systemFill' has been explicitly marked unavailable here
230 |
231 | /* secondarySystemFillColor is appropriate for filling medium-size shapes.
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineBreak/LineBreakSuggester.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineBreakSuggester.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineBreak/WordWrappingLineBreakSuggester.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile WordWrappingLineBreakSuggester.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineController.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineController.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineControllerFactory.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineControllerFactory.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineControllerStorage.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineControllerStorage.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragment.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineFragment.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentCharacterLocationQuery.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineFragmentCharacterLocationQuery.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentController.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineFragmentController.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentFrameQuery.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineFragmentFrameQuery.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentNode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineFragmentNode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentRenderer.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineFragmentRenderer.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineFragmentSelectionRect.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineFragmentSelectionRect.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LinePrefixReuse.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LinePrefixReuse.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineSyntaxHighlighter.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineSyntaxHighlighter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/LineTypesetter.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LineTypesetter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/LineController/UnbrokenLineBreakContext.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UnbrokenLineBreakContext.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Navigation/GoToLineSelection.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GoToLineSelection.swift
SwiftCompile normal arm64_32 Compiling\ WritingToolsRange.swift,\ TreeSitterCapture.swift,\ TreeSitterInputEdit.swift,\ TreeSitterNode.swift,\ TreeSitterParser.swift,\ TreeSitterPredicate.swift,\ TreeSitterPredicateMapper.swift,\ TreeSitterQuery.swift,\ TreeSitterQueryCursor.swift,\ TreeSitterQueryMatch.swift,\ TreeSitterTextInput.swift,\ TreeSitterTextPoint.swift,\ TreeSitterTextPredicate.swift,\ TreeSitterTextRange.swift,\ TreeSitterTree.swift,\ GeneratedAssetSymbols.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsRange.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterCapture.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterInputEdit.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterNode.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterParser.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterPredicate.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterPredicateMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterQuery.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterQueryCursor.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterQueryMatch.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTextInput.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTextPoint.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTextPredicate.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTextRange.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTree.swift /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Runestone.build/Debug-watchos/Runestone-t.build/DerivedSources/GeneratedAssetSymbols.swift (in target 'Runestone' from project 'Runestone')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/WritingTools/WritingToolsRange.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile WritingToolsRange.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterCapture.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterCapture.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterInputEdit.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterInputEdit.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterNode.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterNode.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterParser.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterParser.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterPredicate.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterPredicate.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterPredicateMapper.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterPredicateMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterQuery.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterQuery.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterQueryCursor.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterQueryCursor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterQueryMatch.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterQueryMatch.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTextInput.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterTextInput.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTextPoint.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterTextPoint.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTextPredicate.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterTextPredicate.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTextRange.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterTextRange.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TreeSitter/TreeSitterTree.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TreeSitterTree.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Runestone.build/Debug-watchos/Runestone-t.build/DerivedSources/GeneratedAssetSymbols.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GeneratedAssetSymbols.swift
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/SwiftUI-2NIV6RL93T7Y4UMRZ6CFAK2OJ.pcm
SwiftDriverJobDiscovery normal arm64_32 Compiling SpellingLanguageResolver.swift, SpellingParagraphSnapshot.swift, SpellingProseSample.swift, InternalLanguageMode.swift, InternalLanguageModeFactory.swift, PlainTextInternalLanguageMode.swift, PlainTextSyntaxHighlighter.swift, TreeSitterFoldingSnapshot.swift, TreeSitterHighlightRequest.swift, TreeSitterHighlightResourceDisposer.swift, TreeSitterHighlightSnapshot.swift, TreeSitterIndentController.swift, TreeSitterIndentStrategyDetector.swift, TreeSitterInjectedLanguage.swift, TreeSitterInjectedLanguageMapper.swift, TreeSitterInternalLanguage.swift, TreeSitterInternalLanguageMode.swift (in target 'Runestone' from project 'Runestone')
SwiftCompile normal arm64_32 Compiling\ TextLocation.swift,\ PageGuideController.swift,\ PageGuideView.swift,\ BatchReplaceSet.swift,\ FindResultPresentationView.swift,\ ParsedReplacementString.swift,\ ReplacementStringParser.swift,\ SearchController.swift,\ SearchQuery.swift,\ SearchReplaceResult.swift,\ SearchResult.swift,\ StringModifier.swift,\ TextPreview.swift,\ UITextSearchingHelper.swift,\ NaturalLanguageSpellingDetector.swift,\ ParagraphSpellingLanguageService.swift,\ SpellCheckingService.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Navigation/TextLocation.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/PageGuide/PageGuideController.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/PageGuide/PageGuideView.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/BatchReplaceSet.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/FindResultPresentationView.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/ParsedReplacementString.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/ReplacementStringParser.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/SearchController.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/SearchQuery.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/SearchReplaceResult.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/SearchResult.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/StringModifier.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/TextPreview.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/UITextSearchingHelper.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Spelling/NaturalLanguageSpellingDetector.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Spelling/ParagraphSpellingLanguageService.swift /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Spelling/SpellCheckingService.swift (in target 'Runestone' from project 'Runestone')
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/PageGuide/PageGuideController.swift:4:21: error: 'init()' is unavailable in watchOS
 2 |
 3 | final class PageGuideController {
 4 |     let guideView = PageGuideView()
   |                     `- error: 'init()' is unavailable in watchOS
 5 |     var font: UIFont = .systemFont(ofSize: 14) {
 6 |         didSet {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/PageGuide/PageGuideView.swift:20:32: error: 'UIView' is unavailable in watchOS
18 |     }
19 |
20 |     private let hairlineView = UIView()
   |                                `- error: 'UIView' is unavailable in watchOS
21 |
22 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/PageGuide/PageGuideView.swift:20:32: error: 'init()' is unavailable in watchOS
18 |     }
19 |
20 |     private let hairlineView = UIView()
   |                                `- error: 'init()' is unavailable in watchOS
21 |
22 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/PageGuide/PageGuideView.swift:3:28: error: 'UIView' is unavailable in watchOS
 1 | import UIKit
 2 |
 3 | final class PageGuideView: UIView {
   |                            `- error: 'UIView' is unavailable in watchOS
 4 |     var hairlineWidth: CGFloat {
 5 |         didSet {
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/HairlineLength.swift:4:26: error: 'UIScreen' is unavailable in watchOS
2 |
3 | #if compiler(<5.9) || !os(visionOS)
4 | let hairlineLength = 1 / UIScreen.main.scale
  |                          `- error: 'UIScreen' is unavailable in watchOS
5 | #else
6 | let hairlineLength: CGFloat = 1
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/Library/HairlineLength.swift:4:35: error: 'main' is unavailable in watchOS
2 |
3 | #if compiler(<5.9) || !os(visionOS)
4 | let hairlineLength = 1 / UIScreen.main.scale
  |                                   `- error: 'main' is unavailable in watchOS
5 | #else
6 | let hairlineLength: CGFloat = 1
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/FindResultPresentationView.swift:22:35: error: 'UIView' is unavailable in watchOS
 20 |         }
 21 |     }
 22 |     let selectedResultPlateView = UIView()
    |                                   `- error: 'UIView' is unavailable in watchOS
 23 |
 24 |     private weak var sourceView: UIView?
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/FindResultPresentationView.swift:22:35: error: 'init()' is unavailable in watchOS
 20 |         }
 21 |     }
 22 |     let selectedResultPlateView = UIView()
    |                                   `- error: 'init()' is unavailable in watchOS
 23 |
 24 |     private weak var sourceView: UIView?
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/FindResultPresentationView.swift:24:34: error: 'UIView' is unavailable in watchOS
 22 |     let selectedResultPlateView = UIView()
 23 |
 24 |     private weak var sourceView: UIView?
    |                                  `- error: 'UIView' is unavailable in watchOS
 25 |     private let dimmingLayer = CAShapeLayer()
 26 |     private var selectedRange: NSRange?
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/FindResultPresentationView.swift:25:32: error: 'CAShapeLayer' is unavailable in watchOS
 23 |
 24 |     private weak var sourceView: UIView?
 25 |     private let dimmingLayer = CAShapeLayer()
    |                                `- error: 'CAShapeLayer' is unavailable in watchOS
 26 |     private var selectedRange: NSRange?
 27 |     private var currentDimmingBounds = CGRect.null
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAShapeLayer.h:40:12: note: 'CAShapeLayer' has been explicitly marked unavailable here
 38 |
 39 | API_AVAILABLE(macos(10.6), ios(3.0), tvos(9.0)) API_UNAVAILABLE(watchos)
 40 | @interface CAShapeLayer : CALayer
    |            `- note: 'CAShapeLayer' has been explicitly marked unavailable here
 41 |
 42 | /* The path defining the shape to be rendered. If the path extends
/Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/FindResultPresentationView.swift:33:22: error: 'UIView' is unavailable in watchOS
 31 |     private var selectedTextSegmentSignature: [SelectedResultTextSegmentSignature] = []
 32 |
 33 |     init(sourceView: UIView) {
    |                      `- error: 'UIView' is unavailable in watchOS
 34 |         self.sourceView = sourceView
 35 |         super.init(frame: .zero)
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Navigation/TextLocation.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextLocation.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/PageGuide/PageGuideController.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PageGuideController.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/PageGuide/PageGuideView.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PageGuideView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/BatchReplaceSet.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile BatchReplaceSet.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/FindResultPresentationView.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FindResultPresentationView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/ParsedReplacementString.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ParsedReplacementString.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/ReplacementStringParser.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ReplacementStringParser.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/SearchController.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SearchController.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/SearchQuery.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SearchQuery.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/SearchReplaceResult.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SearchReplaceResult.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/SearchResult.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SearchResult.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/StringModifier.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile StringModifier.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/TextPreview.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TextPreview.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/SearchAndReplace/UITextSearchingHelper.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UITextSearchingHelper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Spelling/NaturalLanguageSpellingDetector.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile NaturalLanguageSpellingDetector.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Spelling/ParagraphSpellingLanguageService.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ParagraphSpellingLanguageService.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Runestone/TextView/Spelling/SpellCheckingService.swift (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SpellCheckingService.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ Runestone (in target 'Runestone' from project 'Runestone')
SwiftCompile normal arm64 (in target 'Runestone' from project 'Runestone')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-11-06 19:44:49.681 xcodebuild[1020:5988] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64_32 (in target 'Runestone' from project 'Runestone')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ Runestone (in target 'Runestone' from project 'Runestone')
	Building workspace Runestone with scheme Runestone-Package
(3 failures)
BUILD FAILURE 6.4 watchOS