The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SeaTouch, reference 1.1.1 (16ad94), with Swift 6.4 for watchOS using Xcode 27.0 on 18 Sep 2026 05:49:44 UTC.

Build Command

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

Build Log

    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TouchCatcher.swift
SwiftCompile normal arm64 Compiling\ UIWindow+touches.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift (in target 'SeaTouch' from project 'SeaTouch')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UIWindow+touches.swift
SwiftCompile normal arm64 Compiling\ SeaTouch.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift (in target 'SeaTouch' from project 'SeaTouch')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SeaTouch.swift
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:7:32: error: 'UIWindow' is unavailable in watchOS
  5 | 	static let shared = SeaTouch()
  6 |
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
    |                                `- error: 'UIWindow' is unavailable in watchOS
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:9:47: error: 'UIWindow' is unavailable in watchOS
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
    |                                               `- error: 'UIWindow' is unavailable in watchOS
 10 |
 11 | 	let radius: CGFloat = 25
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:19:31: error: 'UIWindow' is unavailable in watchOS
 17 |
 18 | 	/// Initiates touch tracking on a given window, also caching important references to speed up future execution.
 19 | 	func trackTouches(on window: UIWindow) {
    |                               `- error: 'UIWindow' is unavailable in watchOS
 20 | 		guard trackedWindows[window] == nil else { return }
 21 | 		let catcher = TouchCatcher(target: self, action: #selector(touchesUpdated(_:)))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
SwiftCompile normal arm64_32 Compiling\ SeaTouch.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:7:32: error: 'UIWindow' is unavailable in watchOS
  5 | 	static let shared = SeaTouch()
  6 |
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
    |                                `- error: 'UIWindow' is unavailable in watchOS
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:9:47: error: 'UIWindow' is unavailable in watchOS
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
    |                                               `- error: 'UIWindow' is unavailable in watchOS
 10 |
 11 | 	let radius: CGFloat = 25
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:19:31: error: 'UIWindow' is unavailable in watchOS
 17 |
 18 | 	/// Initiates touch tracking on a given window, also caching important references to speed up future execution.
 19 | 	func trackTouches(on window: UIWindow) {
    |                               `- error: 'UIWindow' is unavailable in watchOS
 20 | 		guard trackedWindows[window] == nil else { return }
 21 | 		let catcher = TouchCatcher(target: self, action: #selector(touchesUpdated(_:)))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SeaTouch.swift
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ SeaTouch (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:13:38: error: 'CAShapeLayer' is unavailable in watchOS
11 | class RippleShapeLayer: CAShapeLayer {
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:14:38: error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:16:34: error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
   |                                  `- error: 'CAShapeLayer' is unavailable in watchOS
17 | 		let layer: CAShapeLayer
18 | 		if let available = availableSublayers.first {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:11:25: error: 'CAShapeLayer' is unavailable in watchOS
 9 | import UIKit
10 |
11 | class RippleShapeLayer: CAShapeLayer {
   |                         `- error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:36:32: error: 'CAAnimation' is unavailable in watchOS
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
   |                                `- error: 'CAAnimation' is unavailable in watchOS
37 | 		for layer in animatingSublayers {
38 | 			if (layer.animationKeys() ?? []).isEmpty {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:25:12: note: 'CAAnimation' has been explicitly marked unavailable here
 23 |
 24 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
 25 | @interface CAAnimation : NSObject
    |            `- note: 'CAAnimation' has been explicitly marked unavailable here
 26 |     <NSSecureCoding, NSCopying, CAMediaTiming, CAAction>
 27 | {
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:35:29: error: 'CAAnimationDelegate' is unavailable in watchOS
33 | }
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
   |                             `- error: 'CAAnimationDelegate' is unavailable in watchOS
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
37 | 		for layer in animatingSublayers {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:71:11: note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 69 |
 70 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos)
 71 | @protocol CAAnimationDelegate <NSObject>
    |           `- note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 72 | @optional
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:7:32: error: 'UIWindow' is unavailable in watchOS
  5 | 	static let shared = SeaTouch()
  6 |
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
    |                                `- error: 'UIWindow' is unavailable in watchOS
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:9:47: error: 'UIWindow' is unavailable in watchOS
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
    |                                               `- error: 'UIWindow' is unavailable in watchOS
 10 |
 11 | 	let radius: CGFloat = 25
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:19:31: error: 'UIWindow' is unavailable in watchOS
 17 |
 18 | 	/// Initiates touch tracking on a given window, also caching important references to speed up future execution.
 19 | 	func trackTouches(on window: UIWindow) {
    |                               `- error: 'UIWindow' is unavailable in watchOS
 20 | 		guard trackedWindows[window] == nil else { return }
 21 | 		let catcher = TouchCatcher(target: self, action: #selector(touchesUpdated(_:)))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:39:38: error: 'UIWindow' is unavailable in watchOS
 37 |
 38 | 	/// Ceases touch tracking on a given window, releasing previously cached references.
 39 | 	func stopTrackingTouches(on window: UIWindow) {
    |                                      `- error: 'UIWindow' is unavailable in watchOS
 40 | 		guard let (catcher, shapeLayer) = trackedWindows[window] else { return }
 41 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:14:35: error: 'UITouch' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
14 | 	private(set) var allTouches: Set<UITouch> = []
   |                                   `- error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:16:31: error: 'UITouch' is unavailable in watchOS
14 | 	private(set) var allTouches: Set<UITouch> = []
15 |
16 | 	private var _newTouches: Set<UITouch> = []
   |                               `- error: 'UITouch' is unavailable in watchOS
17 | 	private(set) var newTouches: Set<UITouch> {
18 | 		get {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:17:35: error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
17 | 	private(set) var newTouches: Set<UITouch> {
   |                                   `- error: 'UITouch' is unavailable in watchOS
18 | 		get {
19 | 			let touches = _newTouches
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:44: error: 'UITouch' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:66: error: 'UIEvent' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:45:44: error: 'UITouch' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:45:66: error: 'UIEvent' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:51:44: error: 'UITouch' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:51:66: error: 'UIEvent' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:61:48: error: 'UITouch' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                `- error: 'UITouch' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:61:70: error: 'UIEvent' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                      `- error: 'UIEvent' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:72:63: error: 'UIGestureRecognizer' is unavailable in watchOS
70 |
71 | 	/// Nothing should prevent this gesture recognizer from activating for as long as it's enabled.
72 | 	override func canBePrevented(by preventingGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                               `- error: 'UIGestureRecognizer' is unavailable in watchOS
73 | 		false
74 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:11:27: error: 'UIGestureRecognizer' is unavailable in watchOS
 9 |
10 | /// This recognizer is configured to detect and forward *every* touch, but also passes through to any following recognizers/touch input.
11 | final class TouchCatcher: UIGestureRecognizer {
   |                           `- error: 'UIGestureRecognizer' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:46: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                              `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:125: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                                                                                             `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:77:25: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
75 | }
76 |
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
   |                         `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift:10:11: error: 'UIWindow' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UIWindow {
   |           `- error: 'UIWindow' is unavailable in watchOS
11 | 	/// After running this function, the app's UIWindow layer will draw at the areas of touches at the highest possible layer on screen.
12 | 	public func showTouches() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift -target arm64_32-apple-watchos9.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-dependencies-2.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name SeaTouch -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch_const_extract_protocols.json -disable-clang-spi -clang-target arm64_32-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.abi.json
SwiftCompile normal arm64_32 (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64_32 Compiling\ RippleShapeLayer.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:13:38: error: 'CAShapeLayer' is unavailable in watchOS
11 | class RippleShapeLayer: CAShapeLayer {
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:14:38: error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:16:34: error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
   |                                  `- error: 'CAShapeLayer' is unavailable in watchOS
17 | 		let layer: CAShapeLayer
18 | 		if let available = availableSublayers.first {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:11:25: error: 'CAShapeLayer' is unavailable in watchOS
 9 | import UIKit
10 |
11 | class RippleShapeLayer: CAShapeLayer {
   |                         `- error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:36:32: error: 'CAAnimation' is unavailable in watchOS
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
   |                                `- error: 'CAAnimation' is unavailable in watchOS
37 | 		for layer in animatingSublayers {
38 | 			if (layer.animationKeys() ?? []).isEmpty {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:25:12: note: 'CAAnimation' has been explicitly marked unavailable here
 23 |
 24 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
 25 | @interface CAAnimation : NSObject
    |            `- note: 'CAAnimation' has been explicitly marked unavailable here
 26 |     <NSSecureCoding, NSCopying, CAMediaTiming, CAAction>
 27 | {
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:35:29: error: 'CAAnimationDelegate' is unavailable in watchOS
33 | }
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
   |                             `- error: 'CAAnimationDelegate' is unavailable in watchOS
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
37 | 		for layer in animatingSublayers {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:71:11: note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 69 |
 70 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos)
 71 | @protocol CAAnimationDelegate <NSObject>
    |           `- note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 72 | @optional
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:17:14: error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
17 | 		let layer: CAShapeLayer
   |              `- error: 'CAShapeLayer' is unavailable in watchOS
18 | 		if let available = availableSublayers.first {
19 | 			layer = available
/Applications/Xcode-27.0.0-Release.Candidate.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
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RippleShapeLayer.swift
SwiftCompile normal arm64_32 Compiling\ UIWindow+touches.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift (in target 'SeaTouch' from project 'SeaTouch')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UIWindow+touches.swift
SwiftCompile normal arm64_32 Compiling\ TouchCatcher.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:14:35: error: 'UITouch' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
14 | 	private(set) var allTouches: Set<UITouch> = []
   |                                   `- error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:16:31: error: 'UITouch' is unavailable in watchOS
14 | 	private(set) var allTouches: Set<UITouch> = []
15 |
16 | 	private var _newTouches: Set<UITouch> = []
   |                               `- error: 'UITouch' is unavailable in watchOS
17 | 	private(set) var newTouches: Set<UITouch> {
18 | 		get {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:17:35: error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
17 | 	private(set) var newTouches: Set<UITouch> {
   |                                   `- error: 'UITouch' is unavailable in watchOS
18 | 		get {
19 | 			let touches = _newTouches
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:44: error: 'UITouch' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:66: error: 'UIEvent' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:45:44: error: 'UITouch' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:45:66: error: 'UIEvent' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:51:44: error: 'UITouch' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:51:66: error: 'UIEvent' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:61:48: error: 'UITouch' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                `- error: 'UITouch' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:61:70: error: 'UIEvent' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                      `- error: 'UIEvent' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:72:63: error: 'UIGestureRecognizer' is unavailable in watchOS
70 |
71 | 	/// Nothing should prevent this gesture recognizer from activating for as long as it's enabled.
72 | 	override func canBePrevented(by preventingGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                               `- error: 'UIGestureRecognizer' is unavailable in watchOS
73 | 		false
74 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:11:27: error: 'UIGestureRecognizer' is unavailable in watchOS
 9 |
10 | /// This recognizer is configured to detect and forward *every* touch, but also passes through to any following recognizers/touch input.
11 | final class TouchCatcher: UIGestureRecognizer {
   |                           `- error: 'UIGestureRecognizer' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:46: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                              `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:125: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                                                                                             `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:77:25: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
75 | }
76 |
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
   |                         `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TouchCatcher.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-18 01:49:35.054 xcodebuild[643:4101] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64 (in target 'SeaTouch' from project 'SeaTouch')
	SwiftEmitModule normal arm64 Emitting\ module\ for\ SeaTouch (in target 'SeaTouch' from project 'SeaTouch')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ SeaTouch (in target 'SeaTouch' from project 'SeaTouch')
	SwiftCompile normal arm64_32 (in target 'SeaTouch' from project 'SeaTouch')
	Building workspace SeaTouch with scheme SeaTouch
(5 failures)
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
  SeaTouch: /Users/admin/builder/spi-builder-workspace
resolved source packages: SeaTouch
2026-09-18 01:49:41.011 xcodebuild[773:4605] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SeaTouch",
  "name" : "SeaTouch",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "10.0"
    }
  ],
  "products" : [
    {
      "name" : "SeaTouch",
      "targets" : [
        "SeaTouch"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SeaTouchTests",
      "module_type" : "SwiftTarget",
      "name" : "SeaTouchTests",
      "path" : "Tests/SeaTouchTests",
      "sources" : [
        "SeaTouchTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SeaTouch"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SeaTouch",
      "module_type" : "SwiftTarget",
      "name" : "SeaTouch",
      "path" : "Sources/SeaTouch",
      "product_memberships" : [
        "SeaTouch"
      ],
      "sources" : [
        "RippleShapeLayer.swift",
        "SeaTouch.swift",
        "TouchCatcher.swift",
        "UIWindow+touches.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
{
  "workspace" : {
    "name" : "SeaTouch",
    "schemes" : [
      "SeaTouch"
    ]
  }
}
2026-09-18 01:49:42.242 xcodebuild[781:4678] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme SeaTouch -destination generic/platform=watchOS
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme SeaTouch -destination generic/platform=watchOS
Resolve Package Graph
Resolved source packages:
  SeaTouch: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
    Target 'SeaTouch-product' in project 'SeaTouch'
        ➜ Explicit dependency on target 'SeaTouch' in project 'SeaTouch'
    Target 'SeaTouch' in project 'SeaTouch' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
SwiftDriver SeaTouch normal arm64_32 com.apple.xcode.tools.swift.compiler (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name SeaTouch -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64_32-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftDriver SeaTouch normal arm64 com.apple.xcode.tools.swift.compiler (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name SeaTouch -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64/SeaTouch.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64/SeaTouch-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64/SeaTouch.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64/SeaTouch-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64/SeaTouch_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64/SeaTouch-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ SeaTouch (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:13:38: error: 'CAShapeLayer' is unavailable in watchOS
11 | class RippleShapeLayer: CAShapeLayer {
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:14:38: error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:16:34: error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
   |                                  `- error: 'CAShapeLayer' is unavailable in watchOS
17 | 		let layer: CAShapeLayer
18 | 		if let available = availableSublayers.first {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:11:25: error: 'CAShapeLayer' is unavailable in watchOS
 9 | import UIKit
10 |
11 | class RippleShapeLayer: CAShapeLayer {
   |                         `- error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:36:32: error: 'CAAnimation' is unavailable in watchOS
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
   |                                `- error: 'CAAnimation' is unavailable in watchOS
37 | 		for layer in animatingSublayers {
38 | 			if (layer.animationKeys() ?? []).isEmpty {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:25:12: note: 'CAAnimation' has been explicitly marked unavailable here
 23 |
 24 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
 25 | @interface CAAnimation : NSObject
    |            `- note: 'CAAnimation' has been explicitly marked unavailable here
 26 |     <NSSecureCoding, NSCopying, CAMediaTiming, CAAction>
 27 | {
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:35:29: error: 'CAAnimationDelegate' is unavailable in watchOS
33 | }
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
   |                             `- error: 'CAAnimationDelegate' is unavailable in watchOS
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
37 | 		for layer in animatingSublayers {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:71:11: note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 69 |
 70 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos)
 71 | @protocol CAAnimationDelegate <NSObject>
    |           `- note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 72 | @optional
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:7:32: error: 'UIWindow' is unavailable in watchOS
  5 | 	static let shared = SeaTouch()
  6 |
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
    |                                `- error: 'UIWindow' is unavailable in watchOS
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:9:47: error: 'UIWindow' is unavailable in watchOS
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
    |                                               `- error: 'UIWindow' is unavailable in watchOS
 10 |
 11 | 	let radius: CGFloat = 25
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:19:31: error: 'UIWindow' is unavailable in watchOS
 17 |
 18 | 	/// Initiates touch tracking on a given window, also caching important references to speed up future execution.
 19 | 	func trackTouches(on window: UIWindow) {
    |                               `- error: 'UIWindow' is unavailable in watchOS
 20 | 		guard trackedWindows[window] == nil else { return }
 21 | 		let catcher = TouchCatcher(target: self, action: #selector(touchesUpdated(_:)))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:39:38: error: 'UIWindow' is unavailable in watchOS
 37 |
 38 | 	/// Ceases touch tracking on a given window, releasing previously cached references.
 39 | 	func stopTrackingTouches(on window: UIWindow) {
    |                                      `- error: 'UIWindow' is unavailable in watchOS
 40 | 		guard let (catcher, shapeLayer) = trackedWindows[window] else { return }
 41 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:14:35: error: 'UITouch' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
14 | 	private(set) var allTouches: Set<UITouch> = []
   |                                   `- error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:16:31: error: 'UITouch' is unavailable in watchOS
14 | 	private(set) var allTouches: Set<UITouch> = []
15 |
16 | 	private var _newTouches: Set<UITouch> = []
   |                               `- error: 'UITouch' is unavailable in watchOS
17 | 	private(set) var newTouches: Set<UITouch> {
18 | 		get {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:17:35: error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
17 | 	private(set) var newTouches: Set<UITouch> {
   |                                   `- error: 'UITouch' is unavailable in watchOS
18 | 		get {
19 | 			let touches = _newTouches
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:44: error: 'UITouch' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:66: error: 'UIEvent' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:45:44: error: 'UITouch' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:45:66: error: 'UIEvent' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:51:44: error: 'UITouch' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:51:66: error: 'UIEvent' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:61:48: error: 'UITouch' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                `- error: 'UITouch' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:61:70: error: 'UIEvent' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                      `- error: 'UIEvent' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:72:63: error: 'UIGestureRecognizer' is unavailable in watchOS
70 |
71 | 	/// Nothing should prevent this gesture recognizer from activating for as long as it's enabled.
72 | 	override func canBePrevented(by preventingGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                               `- error: 'UIGestureRecognizer' is unavailable in watchOS
73 | 		false
74 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:11:27: error: 'UIGestureRecognizer' is unavailable in watchOS
 9 |
10 | /// This recognizer is configured to detect and forward *every* touch, but also passes through to any following recognizers/touch input.
11 | final class TouchCatcher: UIGestureRecognizer {
   |                           `- error: 'UIGestureRecognizer' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:46: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                              `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:125: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                                                                                             `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:77:25: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
75 | }
76 |
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
   |                         `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift:10:11: error: 'UIWindow' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UIWindow {
   |           `- error: 'UIWindow' is unavailable in watchOS
11 | 	/// After running this function, the app's UIWindow layer will draw at the areas of touches at the highest possible layer on screen.
12 | 	public func showTouches() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
Failed frontend command:
SwiftCompile normal arm64_32 (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift -target arm64_32-apple-watchos9.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-dependencies-1.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name SeaTouch -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch_const_extract_protocols.json -disable-clang-spi -clang-target arm64_32-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SeaTouch.build/Debug-watchos/SeaTouch-t.build/Objects-normal/arm64_32/SeaTouch.abi.json
SwiftCompile normal arm64_32 Compiling\ SeaTouch.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift (in target 'SeaTouch' from project 'SeaTouch')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SeaTouch.swift
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:7:32: error: 'UIWindow' is unavailable in watchOS
  5 | 	static let shared = SeaTouch()
  6 |
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
    |                                `- error: 'UIWindow' is unavailable in watchOS
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:9:47: error: 'UIWindow' is unavailable in watchOS
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
    |                                               `- error: 'UIWindow' is unavailable in watchOS
 10 |
 11 | 	let radius: CGFloat = 25
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:19:31: error: 'UIWindow' is unavailable in watchOS
 17 |
 18 | 	/// Initiates touch tracking on a given window, also caching important references to speed up future execution.
 19 | 	func trackTouches(on window: UIWindow) {
    |                               `- error: 'UIWindow' is unavailable in watchOS
 20 | 		guard trackedWindows[window] == nil else { return }
 21 | 		let catcher = TouchCatcher(target: self, action: #selector(touchesUpdated(_:)))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
SwiftCompile normal arm64_32 Compiling\ RippleShapeLayer.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:13:38: error: 'CAShapeLayer' is unavailable in watchOS
11 | class RippleShapeLayer: CAShapeLayer {
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:14:38: error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:16:34: error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
   |                                  `- error: 'CAShapeLayer' is unavailable in watchOS
17 | 		let layer: CAShapeLayer
18 | 		if let available = availableSublayers.first {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:11:25: error: 'CAShapeLayer' is unavailable in watchOS
 9 | import UIKit
10 |
11 | class RippleShapeLayer: CAShapeLayer {
   |                         `- error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:36:32: error: 'CAAnimation' is unavailable in watchOS
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
   |                                `- error: 'CAAnimation' is unavailable in watchOS
37 | 		for layer in animatingSublayers {
38 | 			if (layer.animationKeys() ?? []).isEmpty {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:25:12: note: 'CAAnimation' has been explicitly marked unavailable here
 23 |
 24 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
 25 | @interface CAAnimation : NSObject
    |            `- note: 'CAAnimation' has been explicitly marked unavailable here
 26 |     <NSSecureCoding, NSCopying, CAMediaTiming, CAAction>
 27 | {
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:35:29: error: 'CAAnimationDelegate' is unavailable in watchOS
33 | }
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
   |                             `- error: 'CAAnimationDelegate' is unavailable in watchOS
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
37 | 		for layer in animatingSublayers {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:71:11: note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 69 |
 70 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos)
 71 | @protocol CAAnimationDelegate <NSObject>
    |           `- note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 72 | @optional
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:17:14: error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
17 | 		let layer: CAShapeLayer
   |              `- error: 'CAShapeLayer' is unavailable in watchOS
18 | 		if let available = availableSublayers.first {
19 | 			layer = available
/Applications/Xcode-27.0.0-Release.Candidate.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
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RippleShapeLayer.swift
SwiftCompile normal arm64_32 Compiling\ UIWindow+touches.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift (in target 'SeaTouch' from project 'SeaTouch')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UIWindow+touches.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ SeaTouch (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:13:38: error: 'CAShapeLayer' is unavailable in watchOS
11 | class RippleShapeLayer: CAShapeLayer {
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:14:38: error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:16:34: error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
   |                                  `- error: 'CAShapeLayer' is unavailable in watchOS
17 | 		let layer: CAShapeLayer
18 | 		if let available = availableSublayers.first {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:11:25: error: 'CAShapeLayer' is unavailable in watchOS
 9 | import UIKit
10 |
11 | class RippleShapeLayer: CAShapeLayer {
   |                         `- error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:36:32: error: 'CAAnimation' is unavailable in watchOS
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
   |                                `- error: 'CAAnimation' is unavailable in watchOS
37 | 		for layer in animatingSublayers {
38 | 			if (layer.animationKeys() ?? []).isEmpty {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:25:12: note: 'CAAnimation' has been explicitly marked unavailable here
 23 |
 24 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
 25 | @interface CAAnimation : NSObject
    |            `- note: 'CAAnimation' has been explicitly marked unavailable here
 26 |     <NSSecureCoding, NSCopying, CAMediaTiming, CAAction>
 27 | {
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:35:29: error: 'CAAnimationDelegate' is unavailable in watchOS
33 | }
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
   |                             `- error: 'CAAnimationDelegate' is unavailable in watchOS
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
37 | 		for layer in animatingSublayers {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:71:11: note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 69 |
 70 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos)
 71 | @protocol CAAnimationDelegate <NSObject>
    |           `- note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 72 | @optional
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:7:32: error: 'UIWindow' is unavailable in watchOS
  5 | 	static let shared = SeaTouch()
  6 |
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
    |                                `- error: 'UIWindow' is unavailable in watchOS
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:9:47: error: 'UIWindow' is unavailable in watchOS
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
    |                                               `- error: 'UIWindow' is unavailable in watchOS
 10 |
 11 | 	let radius: CGFloat = 25
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:19:31: error: 'UIWindow' is unavailable in watchOS
 17 |
 18 | 	/// Initiates touch tracking on a given window, also caching important references to speed up future execution.
 19 | 	func trackTouches(on window: UIWindow) {
    |                               `- error: 'UIWindow' is unavailable in watchOS
 20 | 		guard trackedWindows[window] == nil else { return }
 21 | 		let catcher = TouchCatcher(target: self, action: #selector(touchesUpdated(_:)))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:39:38: error: 'UIWindow' is unavailable in watchOS
 37 |
 38 | 	/// Ceases touch tracking on a given window, releasing previously cached references.
 39 | 	func stopTrackingTouches(on window: UIWindow) {
    |                                      `- error: 'UIWindow' is unavailable in watchOS
 40 | 		guard let (catcher, shapeLayer) = trackedWindows[window] else { return }
 41 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:14:35: error: 'UITouch' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
14 | 	private(set) var allTouches: Set<UITouch> = []
   |                                   `- error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:16:31: error: 'UITouch' is unavailable in watchOS
14 | 	private(set) var allTouches: Set<UITouch> = []
15 |
16 | 	private var _newTouches: Set<UITouch> = []
   |                               `- error: 'UITouch' is unavailable in watchOS
17 | 	private(set) var newTouches: Set<UITouch> {
18 | 		get {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:17:35: error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
17 | 	private(set) var newTouches: Set<UITouch> {
   |                                   `- error: 'UITouch' is unavailable in watchOS
18 | 		get {
19 | 			let touches = _newTouches
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:44: error: 'UITouch' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:66: error: 'UIEvent' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:45:44: error: 'UITouch' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:45:66: error: 'UIEvent' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:51:44: error: 'UITouch' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:51:66: error: 'UIEvent' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:61:48: error: 'UITouch' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                `- error: 'UITouch' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:61:70: error: 'UIEvent' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                      `- error: 'UIEvent' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:72:63: error: 'UIGestureRecognizer' is unavailable in watchOS
70 |
71 | 	/// Nothing should prevent this gesture recognizer from activating for as long as it's enabled.
72 | 	override func canBePrevented(by preventingGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                               `- error: 'UIGestureRecognizer' is unavailable in watchOS
73 | 		false
74 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:11:27: error: 'UIGestureRecognizer' is unavailable in watchOS
 9 |
10 | /// This recognizer is configured to detect and forward *every* touch, but also passes through to any following recognizers/touch input.
11 | final class TouchCatcher: UIGestureRecognizer {
   |                           `- error: 'UIGestureRecognizer' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:46: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                              `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:125: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                                                                                             `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:77:25: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
75 | }
76 |
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
   |                         `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift:10:11: error: 'UIWindow' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UIWindow {
   |           `- error: 'UIWindow' is unavailable in watchOS
11 | 	/// After running this function, the app's UIWindow layer will draw at the areas of touches at the highest possible layer on screen.
12 | 	public func showTouches() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
SwiftCompile normal arm64 (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ RippleShapeLayer.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:13:38: error: 'CAShapeLayer' is unavailable in watchOS
11 | class RippleShapeLayer: CAShapeLayer {
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:14:38: error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
   |                                      `- error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:16:34: error: 'CAShapeLayer' is unavailable in watchOS
14 | 	private var availableSublayers: Set<CAShapeLayer> = []
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
   |                                  `- error: 'CAShapeLayer' is unavailable in watchOS
17 | 		let layer: CAShapeLayer
18 | 		if let available = availableSublayers.first {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:11:25: error: 'CAShapeLayer' is unavailable in watchOS
 9 | import UIKit
10 |
11 | class RippleShapeLayer: CAShapeLayer {
   |                         `- error: 'CAShapeLayer' is unavailable in watchOS
12 |
13 | 	private var animatingSublayers: Set<CAShapeLayer> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/RippleShapeLayer.swift:36:32: error: 'CAAnimation' is unavailable in watchOS
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
   |                                `- error: 'CAAnimation' is unavailable in watchOS
37 | 		for layer in animatingSublayers {
38 | 			if (layer.animationKeys() ?? []).isEmpty {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:25:12: note: 'CAAnimation' has been explicitly marked unavailable here
 23 |
 24 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
 25 | @interface CAAnimation : NSObject
    |            `- note: 'CAAnimation' has been explicitly marked unavailable here
 26 |     <NSSecureCoding, NSCopying, CAMediaTiming, CAAction>
 27 | {
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:35:29: error: 'CAAnimationDelegate' is unavailable in watchOS
33 | }
34 |
35 | extension RippleShapeLayer: CAAnimationDelegate {
   |                             `- error: 'CAAnimationDelegate' is unavailable in watchOS
36 | 	func animationDidStop(_ anim: CAAnimation, finished flag: Bool) {
37 | 		for layer in animatingSublayers {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h:71:11: note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 69 |
 70 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos)
 71 | @protocol CAAnimationDelegate <NSObject>
    |           `- note: 'CAAnimationDelegate' has been explicitly marked unavailable here
 72 | @optional
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift:17:14: error: 'CAShapeLayer' is unavailable in watchOS
15 |
16 | 	func dequeueRippleSublayer() -> CAShapeLayer {
17 | 		let layer: CAShapeLayer
   |              `- error: 'CAShapeLayer' is unavailable in watchOS
18 | 		if let available = availableSublayers.first {
19 | 			layer = available
/Applications/Xcode-27.0.0-Release.Candidate.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
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/RippleShapeLayer.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RippleShapeLayer.swift
SwiftCompile normal arm64 Compiling\ TouchCatcher.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:14:35: error: 'UITouch' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
14 | 	private(set) var allTouches: Set<UITouch> = []
   |                                   `- error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:16:31: error: 'UITouch' is unavailable in watchOS
14 | 	private(set) var allTouches: Set<UITouch> = []
15 |
16 | 	private var _newTouches: Set<UITouch> = []
   |                               `- error: 'UITouch' is unavailable in watchOS
17 | 	private(set) var newTouches: Set<UITouch> {
18 | 		get {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:17:35: error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
17 | 	private(set) var newTouches: Set<UITouch> {
   |                                   `- error: 'UITouch' is unavailable in watchOS
18 | 		get {
19 | 			let touches = _newTouches
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:44: error: 'UITouch' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:66: error: 'UIEvent' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:45:44: error: 'UITouch' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:45:66: error: 'UIEvent' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:51:44: error: 'UITouch' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:51:66: error: 'UIEvent' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:61:48: error: 'UITouch' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                `- error: 'UITouch' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:61:70: error: 'UIEvent' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                      `- error: 'UIEvent' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:72:63: error: 'UIGestureRecognizer' is unavailable in watchOS
70 |
71 | 	/// Nothing should prevent this gesture recognizer from activating for as long as it's enabled.
72 | 	override func canBePrevented(by preventingGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                               `- error: 'UIGestureRecognizer' is unavailable in watchOS
73 | 		false
74 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:11:27: error: 'UIGestureRecognizer' is unavailable in watchOS
 9 |
10 | /// This recognizer is configured to detect and forward *every* touch, but also passes through to any following recognizers/touch input.
11 | final class TouchCatcher: UIGestureRecognizer {
   |                           `- error: 'UIGestureRecognizer' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:46: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                              `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:125: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                                                                                             `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:77:25: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
75 | }
76 |
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
   |                         `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TouchCatcher.swift
SwiftCompile normal arm64 Compiling\ SeaTouch.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:7:32: error: 'UIWindow' is unavailable in watchOS
  5 | 	static let shared = SeaTouch()
  6 |
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
    |                                `- error: 'UIWindow' is unavailable in watchOS
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:9:47: error: 'UIWindow' is unavailable in watchOS
  7 | 	private var trackedWindows = [UIWindow: (touches: TouchCatcher, layer: RippleShapeLayer)]()
  8 | 	private var trackedLayers = [TouchCatcher: RippleShapeLayer]()
  9 | 	private var trackedCatchers = [TouchCatcher: UIWindow]()
    |                                               `- error: 'UIWindow' is unavailable in watchOS
 10 |
 11 | 	let radius: CGFloat = 25
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift:19:31: error: 'UIWindow' is unavailable in watchOS
 17 |
 18 | 	/// Initiates touch tracking on a given window, also caching important references to speed up future execution.
 19 | 	func trackTouches(on window: UIWindow) {
    |                               `- error: 'UIWindow' is unavailable in watchOS
 20 | 		guard trackedWindows[window] == nil else { return }
 21 | 		let catcher = TouchCatcher(target: self, action: #selector(touchesUpdated(_:)))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/SeaTouch.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SeaTouch.swift
SwiftCompile normal arm64 Compiling\ UIWindow+touches.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift (in target 'SeaTouch' from project 'SeaTouch')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/UIWindow+touches.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UIWindow+touches.swift
SwiftCompile normal arm64_32 Compiling\ TouchCatcher.swift /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift (in target 'SeaTouch' from project 'SeaTouch')
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:14:35: error: 'UITouch' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
14 | 	private(set) var allTouches: Set<UITouch> = []
   |                                   `- error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:16:31: error: 'UITouch' is unavailable in watchOS
14 | 	private(set) var allTouches: Set<UITouch> = []
15 |
16 | 	private var _newTouches: Set<UITouch> = []
   |                               `- error: 'UITouch' is unavailable in watchOS
17 | 	private(set) var newTouches: Set<UITouch> {
18 | 		get {
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:17:35: error: 'UITouch' is unavailable in watchOS
15 |
16 | 	private var _newTouches: Set<UITouch> = []
17 | 	private(set) var newTouches: Set<UITouch> {
   |                                   `- error: 'UITouch' is unavailable in watchOS
18 | 		get {
19 | 			let touches = _newTouches
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:44: error: 'UITouch' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:39:66: error: 'UIEvent' is unavailable in watchOS
37 | 	}
38 |
39 | 	override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
40 | 		super.touchesBegan(touches, with: event)
41 | 		newTouches = newTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:45:44: error: 'UITouch' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:45:66: error: 'UIEvent' is unavailable in watchOS
43 | 	}
44 |
45 | 	override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
46 | 		super.touchesMoved(touches, with: event)
47 | 		allTouches = allTouches.union(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:51:44: error: 'UITouch' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                            `- error: 'UITouch' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:51:66: error: 'UIEvent' is unavailable in watchOS
49 | 	}
50 |
51 | 	override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                  `- error: 'UIEvent' is unavailable in watchOS
52 | 		super.touchesEnded(touches, with: event)
53 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:61:48: error: 'UITouch' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                `- error: 'UITouch' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:61:70: error: 'UIEvent' is unavailable in watchOS
59 | 	}
60 |
61 | 	override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                      `- error: 'UIEvent' is unavailable in watchOS
62 | 		super.touchesCancelled(touches, with: event)
63 | 		allTouches = allTouches.subtracting(touches)
/Applications/Xcode-27.0.0-Release.Candidate.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));
/Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift:72:63: error: 'UIGestureRecognizer' is unavailable in watchOS
70 |
71 | 	/// Nothing should prevent this gesture recognizer from activating for as long as it's enabled.
72 | 	override func canBePrevented(by preventingGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                               `- error: 'UIGestureRecognizer' is unavailable in watchOS
73 | 		false
74 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:11:27: error: 'UIGestureRecognizer' is unavailable in watchOS
 9 |
10 | /// This recognizer is configured to detect and forward *every* touch, but also passes through to any following recognizers/touch input.
11 | final class TouchCatcher: UIGestureRecognizer {
   |                           `- error: 'UIGestureRecognizer' is unavailable in watchOS
12 |
13 | 	/// Keeps track of all touches throughout their lifetime
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:46: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                              `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:79:125: error: 'UIGestureRecognizer' is unavailable in watchOS
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
   |                                                                                                                             `- error: 'UIGestureRecognizer' is unavailable in watchOS
80 | 		true
81 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.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/SeaTouch/TouchCatcher.swift:77:25: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
75 | }
76 |
77 | extension TouchCatcher: UIGestureRecognizerDelegate {
   |                         `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
78 | 	/// No touch events should be consumed by this gesture recognizer alone.
79 | 	func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SeaTouch/TouchCatcher.swift (in target 'SeaTouch' from project 'SeaTouch')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TouchCatcher.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-18 01:49:43.216 xcodebuild[782:4706] [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 'SeaTouch' from project 'SeaTouch')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ SeaTouch (in target 'SeaTouch' from project 'SeaTouch')
	Building workspace SeaTouch with scheme SeaTouch
(3 failures)
BUILD FAILURE 6.4 watchOS