The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of RealityUI, reference main (b359cb), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 00:42:00 UTC.

Swift 6 data race errors: 22

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISwitch.swift:283:43: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
279 |     /// Updates all materials in an entity, this is called internally whenever things change such as
280 |     /// the entity responding to light or whether it is enabled.
281 |     func updateMaterials() {
    |          `- note: add '@MainActor' to make instance method 'updateMaterials()' part of global actor 'MainActor'
282 |         self.getModel(part: .border)?.model?.materials = getMaterials(for: .border)
283 |         self.getModel(part: .background)?.model?.materials = getMaterials(for: .background)
    |                                           `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
284 |         self.getModel(part: .thumb)?.model?.materials = getMaterials(for: .thumb)
285 |     }
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISwitch.swift:284:38: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
279 |     /// Updates all materials in an entity, this is called internally whenever things change such as
280 |     /// the entity responding to light or whether it is enabled.
281 |     func updateMaterials() {
    |          `- note: add '@MainActor' to make instance method 'updateMaterials()' part of global actor 'MainActor'
282 |         self.getModel(part: .border)?.model?.materials = getMaterials(for: .border)
283 |         self.getModel(part: .background)?.model?.materials = getMaterials(for: .background)
284 |         self.getModel(part: .thumb)?.model?.materials = getMaterials(for: .thumb)
    |                                      `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
285 |     }
286 |
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIStepper.swift:249:30: warning: sending 'collider' risks causing data races; this is an error in the Swift 6 language mode
247 |         }
248 |         let collider = CollisionComponent(shapes: [.generateBox(width: 0.9, height: 0.9, depth: 0.2)])
249 |         leftModel.components.set(collider)
    |                              |- warning: sending 'collider' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending 'collider' to main actor-isolated callee risks causing data races between main actor-isolated and local nonisolated uses
250 |         rightModel.components.set(collider)
    |                               `- note: access can happen concurrently
251 |         leftModel.components.set(RUIDragComponent(type: .click, delegate: self as? RUIDragDelegate))
252 |         rightModel.components.set(RUIDragComponent(type: .click, delegate: self as? RUIDragDelegate))
[10/20] Compiling RealityUI RUIDragGestureRecognizer+Mouse.swift
[11/20] Compiling RealityUI RUIDragGestureRecognizer+Touch.swift
[12/20] Compiling RealityUI RUIDragComponent.swift
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:211:37: warning: call to main actor-isolated instance method 'convert(position:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
210 |         guard let newTouchPos else { return nil }
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
    |                                     `- warning: call to main actor-isolated instance method 'convert(position:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
RealityFoundation.HasTransform:19:44: note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
17 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
18 |     @MainActor @preconcurrency public func convert(transform: Transform, from referenceEntity: Entity?) -> Transform
19 |     @MainActor @preconcurrency public func convert(position: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
   |                                            `- note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
20 |     @MainActor @preconcurrency public func convert(direction: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
21 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:211:79: warning: main actor-isolated property 'parent' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
210 |         guard let newTouchPos else { return nil }
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
    |                                                                               `- warning: main actor-isolated property 'parent' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
RealityFoundation.HasHierarchy:3:43: note: property declared here
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasHierarchy {
3 |     @MainActor @preconcurrency public var parent: Entity? { get }
  |                                           `- note: property declared here
4 |     @MainActor @preconcurrency public func setParent(_ parent: Entity?, preservingWorldTransform: Bool = false)
5 |     @MainActor @preconcurrency public var children: Entity.ChildCollection { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:212:37: warning: call to main actor-isolated instance method 'convert(position:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
210 |         guard let newTouchPos else { return nil }
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
    |                                     `- warning: call to main actor-isolated instance method 'convert(position:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
RealityFoundation.HasTransform:19:44: note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
17 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
18 |     @MainActor @preconcurrency public func convert(transform: Transform, from referenceEntity: Entity?) -> Transform
19 |     @MainActor @preconcurrency public func convert(position: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
   |                                            `- note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
20 |     @MainActor @preconcurrency public func convert(direction: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
21 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:212:71: warning: main actor-isolated property 'parent' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
210 |         guard let newTouchPos else { return nil }
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
    |                                                                       `- warning: main actor-isolated property 'parent' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
RealityFoundation.HasHierarchy:3:43: note: property declared here
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasHierarchy {
3 |     @MainActor @preconcurrency public var parent: Entity? { get }
  |                                           `- note: property declared here
4 |     @MainActor @preconcurrency public func setParent(_ parent: Entity?, preservingWorldTransform: Bool = false)
5 |     @MainActor @preconcurrency public var children: Entity.ChildCollection { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:213:51: warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
    :
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
    |                                                   `- warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
215 |         return getClampedPosition(arTouchComp.moveConstraint, endPos)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:188:10: note: calls to instance method 'get' from outside of its actor context are implicitly asynchronous
186 |
187 | extension Entity.ComponentSet {
188 |     func get<T>(_ component: T.Type) -> T? where T: Component {
    |          `- note: calls to instance method 'get' from outside of its actor context are implicitly asynchronous
189 |         self[T.self]
190 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:213:40: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
    :
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
    |                                        `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
215 |         return getClampedPosition(arTouchComp.moveConstraint, endPos)
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:214:29: warning: main actor-isolated property 'position' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
    :
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
    |                             `- warning: main actor-isolated property 'position' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
215 |         return getClampedPosition(arTouchComp.moveConstraint, endPos)
216 |     }
RealityFoundation.HasTransform:7:43: note: property declared here
 5 |     @MainActor @preconcurrency public func scale(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 6 |     @MainActor @preconcurrency public func setScale(_ scale: SIMD3<Float>, relativeTo referenceEntity: Entity?)
 7 |     @MainActor @preconcurrency public var position: SIMD3<Float> { get set }
   |                                           `- note: property declared here
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:237:20: warning: main actor-isolated property 'orientation' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
216 |     }
217 |
218 |     internal func handleTurnState(
    |                   `- note: add '@MainActor' to make instance method 'handleTurnState' part of global actor 'MainActor'
219 |         _ entity: Entity, _ plane: float4x4, _ lastPoint: SIMD3<Float>,
220 |         _ ray: inout (origin: SIMD3<Float>, direction: SIMD3<Float>)
    :
235 |         if angle > 1e-7 {
236 |             // calculate the rotation quaternion, and apply
237 |             entity.orientation *= simd_quatf(angle: signedAngle, axis: rotateVector)
    |                    `- warning: main actor-isolated property 'orientation' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
238 |             // update the turn state, so we only check the difference with the new angle
239 |             self.dragState = .turn(plane: plane, start: newPoint)
RealityFoundation.HasTransform:10:43: note: mutation of this property is only permitted within the actor
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
10 |     @MainActor @preconcurrency public var orientation: simd_quatf { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
11 |     @MainActor @preconcurrency public func orientation(relativeTo referenceEntity: Entity?) -> simd_quatf
12 |     @MainActor @preconcurrency public func setOrientation(_ orientation: simd_quatf, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:39:23: warning: static property 'longGestureMask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |
 38 |     /// Mask to exclude entities from being hit by the long/panning gesture
 39 |     public static var longGestureMask: CollisionGroup = .all
    |                       |- warning: static property 'longGestureMask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'longGestureMask' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'longGestureMask' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     /// Mask to exclude entities from being hit by the tap gesture.
[13/20] Compiling RealityUI RUIDragDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:211:37: warning: call to main actor-isolated instance method 'convert(position:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
210 |         guard let newTouchPos else { return nil }
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
    |                                     `- warning: call to main actor-isolated instance method 'convert(position:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
RealityFoundation.HasTransform:19:44: note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
17 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
18 |     @MainActor @preconcurrency public func convert(transform: Transform, from referenceEntity: Entity?) -> Transform
19 |     @MainActor @preconcurrency public func convert(position: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
   |                                            `- note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
20 |     @MainActor @preconcurrency public func convert(direction: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
21 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:211:79: warning: main actor-isolated property 'parent' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
210 |         guard let newTouchPos else { return nil }
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
    |                                                                               `- warning: main actor-isolated property 'parent' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
RealityFoundation.HasHierarchy:3:43: note: property declared here
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasHierarchy {
3 |     @MainActor @preconcurrency public var parent: Entity? { get }
  |                                           `- note: property declared here
4 |     @MainActor @preconcurrency public func setParent(_ parent: Entity?, preservingWorldTransform: Bool = false)
5 |     @MainActor @preconcurrency public var children: Entity.ChildCollection { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:212:37: warning: call to main actor-isolated instance method 'convert(position:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
210 |         guard let newTouchPos else { return nil }
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
    |                                     `- warning: call to main actor-isolated instance method 'convert(position:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
RealityFoundation.HasTransform:19:44: note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
17 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
18 |     @MainActor @preconcurrency public func convert(transform: Transform, from referenceEntity: Entity?) -> Transform
19 |     @MainActor @preconcurrency public func convert(position: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
   |                                            `- note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
20 |     @MainActor @preconcurrency public func convert(direction: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
21 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, to referenceEntity: Entity?) -> SIMD3<Float>
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:212:71: warning: main actor-isolated property 'parent' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
210 |         guard let newTouchPos else { return nil }
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
    |                                                                       `- warning: main actor-isolated property 'parent' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
RealityFoundation.HasHierarchy:3:43: note: property declared here
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasHierarchy {
3 |     @MainActor @preconcurrency public var parent: Entity? { get }
  |                                           `- note: property declared here
4 |     @MainActor @preconcurrency public func setParent(_ parent: Entity?, preservingWorldTransform: Bool = false)
5 |     @MainActor @preconcurrency public var children: Entity.ChildCollection { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:213:51: warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
    :
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
    |                                                   `- warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
215 |         return getClampedPosition(arTouchComp.moveConstraint, endPos)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:188:10: note: calls to instance method 'get' from outside of its actor context are implicitly asynchronous
186 |
187 | extension Entity.ComponentSet {
188 |     func get<T>(_ component: T.Type) -> T? where T: Component {
    |          `- note: calls to instance method 'get' from outside of its actor context are implicitly asynchronous
189 |         self[T.self]
190 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:213:40: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
    :
211 |         let parentSpaceNTP = entity.convert(position: newTouchPos, to: entity.parent)
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
    |                                        `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
215 |         return getClampedPosition(arTouchComp.moveConstraint, endPos)
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:214:29: warning: main actor-isolated property 'position' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
205 |     }
206 |
207 |     internal static func handleMoveState(
    |                          `- note: add '@MainActor' to make static method 'handleMoveState' part of global actor 'MainActor'
208 |         _ entity: Entity, _ newTouchPos: SIMD3<Float>?, _ poi: SIMD3<Float>
209 |     ) -> SIMD3<Float>? {
    :
212 |         let parentSpaceOTP = entity.convert(position: poi, to: entity.parent)
213 |         guard let arTouchComp = entity.components.get(RUIDragComponent.self) else { return nil }
214 |         let endPos = entity.position + parentSpaceNTP - parentSpaceOTP
    |                             `- warning: main actor-isolated property 'position' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
215 |         return getClampedPosition(arTouchComp.moveConstraint, endPos)
216 |     }
RealityFoundation.HasTransform:7:43: note: property declared here
 5 |     @MainActor @preconcurrency public func scale(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 6 |     @MainActor @preconcurrency public func setScale(_ scale: SIMD3<Float>, relativeTo referenceEntity: Entity?)
 7 |     @MainActor @preconcurrency public var position: SIMD3<Float> { get set }
   |                                           `- note: property declared here
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent.swift:237:20: warning: main actor-isolated property 'orientation' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
216 |     }
217 |
218 |     internal func handleTurnState(
    |                   `- note: add '@MainActor' to make instance method 'handleTurnState' part of global actor 'MainActor'
219 |         _ entity: Entity, _ plane: float4x4, _ lastPoint: SIMD3<Float>,
220 |         _ ray: inout (origin: SIMD3<Float>, direction: SIMD3<Float>)
    :
235 |         if angle > 1e-7 {
236 |             // calculate the rotation quaternion, and apply
237 |             entity.orientation *= simd_quatf(angle: signedAngle, axis: rotateVector)
    |                    `- warning: main actor-isolated property 'orientation' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
238 |             // update the turn state, so we only check the difference with the new angle
239 |             self.dragState = .turn(plane: plane, start: newPoint)
RealityFoundation.HasTransform:10:43: note: mutation of this property is only permitted within the actor
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
10 |     @MainActor @preconcurrency public var orientation: simd_quatf { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
11 |     @MainActor @preconcurrency public func orientation(relativeTo referenceEntity: Entity?) -> simd_quatf
12 |     @MainActor @preconcurrency public func setOrientation(_ orientation: simd_quatf, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:39:23: warning: static property 'longGestureMask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |
 38 |     /// Mask to exclude entities from being hit by the long/panning gesture
 39 |     public static var longGestureMask: CollisionGroup = .all
    |                       |- warning: static property 'longGestureMask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'longGestureMask' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'longGestureMask' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     /// Mask to exclude entities from being hit by the tap gesture.
[14/20] Compiling RealityUI HasRUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:56:46: warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 54 |     internal(set) var rui: RUIComponent {
 55 |         get {
 56 |             if let ruiComp = self.components.get(RUIComponent.self) {
    |                                              `- warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 57 |                 return ruiComp
 58 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:188:10: note: calls to instance method 'get' from outside of its actor context are implicitly asynchronous
186 |
187 | extension Entity.ComponentSet {
188 |     func get<T>(_ component: T.Type) -> T? where T: Component {
    |          `- note: calls to instance method 'get' from outside of its actor context are implicitly asynchronous
189 |         self[T.self]
190 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:56:35: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 54 |     internal(set) var rui: RUIComponent {
 55 |         get {
 56 |             if let ruiComp = self.components.get(RUIComponent.self) {
    |                                   `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 57 |                 return ruiComp
 58 |             } else {
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:59:33: warning: call to main actor-isolated instance method 'set' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 57 |                 return ruiComp
 58 |             } else {
 59 |                 self.components.set(RUIComponent())
    |                                 `- warning: call to main actor-isolated instance method 'set' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 60 |                 return self.components[RUIComponent.self]!
 61 |             }
RealityFoundation.Entity:6:48: note: calls to instance method 'set' from outside of its actor context are implicitly asynchronous
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
   |                                                `- note: calls to instance method 'set' from outside of its actor context are implicitly asynchronous
 7 |         @MainActor @preconcurrency public func set(_ components: [any Component])
 8 |         @MainActor @preconcurrency public func has(_ componentType: any Component.Type) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:59:22: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 57 |                 return ruiComp
 58 |             } else {
 59 |                 self.components.set(RUIComponent())
    |                      `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 60 |                 return self.components[RUIComponent.self]!
 61 |             }
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:60:39: warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 58 |             } else {
 59 |                 self.components.set(RUIComponent())
 60 |                 return self.components[RUIComponent.self]!
    |                                       `- warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
RealityFoundation.Entity:4:43: note: subscript declared here
 2 | extension Entity {
 3 |     @MainActor @preconcurrency public struct ComponentSet {
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
   |                                           `- note: subscript declared here
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:60:29: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 58 |             } else {
 59 |                 self.components.set(RUIComponent())
 60 |                 return self.components[RUIComponent.self]!
    |                             `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:63:31: warning: call to main actor-isolated instance method 'set' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
 63 |         set { self.components.set(newValue) }
    |                               `- warning: call to main actor-isolated instance method 'set' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 64 |     }
 65 |
RealityFoundation.Entity:6:48: note: calls to instance method 'set' from outside of its actor context are implicitly asynchronous
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
   |                                                `- note: calls to instance method 'set' from outside of its actor context are implicitly asynchronous
 7 |         @MainActor @preconcurrency public func set(_ components: [any Component])
 8 |         @MainActor @preconcurrency public func has(_ componentType: any Component.Type) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:63:20: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
 63 |         set { self.components.set(newValue) }
    |                    `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 64 |     }
 65 |
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:70:14: warning: call to main actor-isolated instance method 'findEntity(named:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 67 |
 68 | internal extension HasRUI {
 69 |     func getModel(part: String) -> ModelEntity? {
    |          `- note: add '@MainActor' to make instance method 'getModel(part:)' part of global actor 'MainActor'
 70 |         self.findEntity(named: part) as? ModelEntity
    |              `- warning: call to main actor-isolated instance method 'findEntity(named:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 71 |     }
 72 |     func ruiOrientation() {
RealityFoundation.Entity:21:44: note: calls to instance method 'findEntity(named:)' from outside of its actor context are implicitly asynchronous
19 |     @objc deinit
20 |     @MainActor @preconcurrency open func didClone(from source: Entity)
21 |     @MainActor @preconcurrency public func findEntity(named name: String) -> Entity?
   |                                            `- note: calls to instance method 'findEntity(named:)' from outside of its actor context are implicitly asynchronous
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:74:18: warning: main actor-isolated property 'orientation' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 70 |         self.findEntity(named: part) as? ModelEntity
 71 |     }
 72 |     func ruiOrientation() {
    |          `- note: add '@MainActor' to make instance method 'ruiOrientation()' part of global actor 'MainActor'
 73 |         if let startOrient = RealityUI.startingOrientation {
 74 |             self.orientation = startOrient
    |                  `- warning: main actor-isolated property 'orientation' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 75 |         }
 76 |     }
RealityFoundation.HasTransform:10:43: note: mutation of this property is only permitted within the actor
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
10 |     @MainActor @preconcurrency public var orientation: simd_quatf { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
11 |     @MainActor @preconcurrency public func orientation(relativeTo referenceEntity: Entity?) -> simd_quatf
12 |     @MainActor @preconcurrency public func setOrientation(_ orientation: simd_quatf, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:81:28: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |         }
 76 |     }
 77 |     func addModel(part: String) -> ModelEntity {
    |          `- note: add '@MainActor' to make instance method 'addModel(part:)' part of global actor 'MainActor'
 78 |         if let modelPart = self.getModel(part: part) {
 79 |             return modelPart
 80 |         }
 81 |         let newModelPart = ModelEntity()
    |                            `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 82 |         newModelPart.name = part
 83 |         self.addChild(newModelPart)
RealityFoundation.ModelEntity:3:48: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
1 | @available(macOS 10.15, iOS 13.0, *)
2 | @MainActor @preconcurrency public class ModelEntity : Entity, HasModel, HasPhysics {
3 |     @MainActor @preconcurrency required public init()
  |                                                `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
4 |     @MainActor @preconcurrency public init(mesh: MeshResource, materials: [any Material] = [])
5 |     @MainActor @preconcurrency public init(mesh: MeshResource, materials: [any Material] = [], collisionShape: ShapeResource, mass: Float)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:82:22: warning: main actor-isolated property 'name' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 75 |         }
 76 |     }
 77 |     func addModel(part: String) -> ModelEntity {
    |          `- note: add '@MainActor' to make instance method 'addModel(part:)' part of global actor 'MainActor'
 78 |         if let modelPart = self.getModel(part: part) {
 79 |             return modelPart
 80 |         }
 81 |         let newModelPart = ModelEntity()
 82 |         newModelPart.name = part
    |                      `- warning: main actor-isolated property 'name' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 83 |         self.addChild(newModelPart)
 84 |         return newModelPart
RealityFoundation.Entity:6:43: note: mutation of this property is only permitted within the actor
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
 7 |     @MainActor @preconcurrency public var __boundingBox: __AABBRef { get }
 8 |     @available(macOS 12.0, iOS 15.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:83:14: warning: call to main actor-isolated instance method 'addChild(_:preservingWorldTransform:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |         }
 76 |     }
 77 |     func addModel(part: String) -> ModelEntity {
    |          `- note: add '@MainActor' to make instance method 'addModel(part:)' part of global actor 'MainActor'
 78 |         if let modelPart = self.getModel(part: part) {
 79 |             return modelPart
    :
 81 |         let newModelPart = ModelEntity()
 82 |         newModelPart.name = part
 83 |         self.addChild(newModelPart)
    |              `- warning: call to main actor-isolated instance method 'addChild(_:preservingWorldTransform:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 84 |         return newModelPart
 85 |     }
RealityFoundation.HasHierarchy:6:44: note: calls to instance method 'addChild(_:preservingWorldTransform:)' from outside of its actor context are implicitly asynchronous
4 |     @MainActor @preconcurrency public func setParent(_ parent: Entity?, preservingWorldTransform: Bool = false)
5 |     @MainActor @preconcurrency public var children: Entity.ChildCollection { get set }
6 |     @MainActor @preconcurrency public func addChild(_ entity: Entity, preservingWorldTransform: Bool = false)
  |                                            `- note: calls to instance method 'addChild(_:preservingWorldTransform:)' from outside of its actor context are implicitly asynchronous
7 |     @MainActor @preconcurrency public func removeChild(_ entity: Entity, preservingWorldTransform: Bool = false)
8 |     @MainActor @preconcurrency public func removeFromParent(preservingWorldTransform: Bool = false)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:45:25: warning: static property 'anims' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 |     /// Store all the RealityUI Animations for an Entity. It's important for memory management that this is empty when it should be.
 45 |     internal static var anims: [Entity: [String: Cancellable]] = [:]
    |                         |- warning: static property 'anims' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'anims' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: annotate 'anims' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |
 47 |     private func logActivated() {
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:63:31: warning: sending 'newValue' risks causing data races; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
 63 |         set { self.components.set(newValue) }
    |                               |- warning: sending 'newValue' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending task-isolated 'newValue' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 64 |     }
 65 |
[15/20] Compiling RealityUI RUIAnimations.swift
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:56:46: warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 54 |     internal(set) var rui: RUIComponent {
 55 |         get {
 56 |             if let ruiComp = self.components.get(RUIComponent.self) {
    |                                              `- warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 57 |                 return ruiComp
 58 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:188:10: note: calls to instance method 'get' from outside of its actor context are implicitly asynchronous
186 |
187 | extension Entity.ComponentSet {
188 |     func get<T>(_ component: T.Type) -> T? where T: Component {
    |          `- note: calls to instance method 'get' from outside of its actor context are implicitly asynchronous
189 |         self[T.self]
190 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:56:35: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 54 |     internal(set) var rui: RUIComponent {
 55 |         get {
 56 |             if let ruiComp = self.components.get(RUIComponent.self) {
    |                                   `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 57 |                 return ruiComp
 58 |             } else {
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:59:33: warning: call to main actor-isolated instance method 'set' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 57 |                 return ruiComp
 58 |             } else {
 59 |                 self.components.set(RUIComponent())
    |                                 `- warning: call to main actor-isolated instance method 'set' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 60 |                 return self.components[RUIComponent.self]!
 61 |             }
RealityFoundation.Entity:6:48: note: calls to instance method 'set' from outside of its actor context are implicitly asynchronous
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
   |                                                `- note: calls to instance method 'set' from outside of its actor context are implicitly asynchronous
 7 |         @MainActor @preconcurrency public func set(_ components: [any Component])
 8 |         @MainActor @preconcurrency public func has(_ componentType: any Component.Type) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:59:22: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 57 |                 return ruiComp
 58 |             } else {
 59 |                 self.components.set(RUIComponent())
    |                      `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 60 |                 return self.components[RUIComponent.self]!
 61 |             }
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:60:39: warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 58 |             } else {
 59 |                 self.components.set(RUIComponent())
 60 |                 return self.components[RUIComponent.self]!
    |                                       `- warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
RealityFoundation.Entity:4:43: note: subscript declared here
 2 | extension Entity {
 3 |     @MainActor @preconcurrency public struct ComponentSet {
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
   |                                           `- note: subscript declared here
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:60:29: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 58 |             } else {
 59 |                 self.components.set(RUIComponent())
 60 |                 return self.components[RUIComponent.self]!
    |                             `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:63:31: warning: call to main actor-isolated instance method 'set' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
 63 |         set { self.components.set(newValue) }
    |                               `- warning: call to main actor-isolated instance method 'set' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 64 |     }
 65 |
RealityFoundation.Entity:6:48: note: calls to instance method 'set' from outside of its actor context are implicitly asynchronous
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
   |                                                `- note: calls to instance method 'set' from outside of its actor context are implicitly asynchronous
 7 |         @MainActor @preconcurrency public func set(_ components: [any Component])
 8 |         @MainActor @preconcurrency public func has(_ componentType: any Component.Type) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:63:20: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
 63 |         set { self.components.set(newValue) }
    |                    `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 64 |     }
 65 |
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:70:14: warning: call to main actor-isolated instance method 'findEntity(named:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 67 |
 68 | internal extension HasRUI {
 69 |     func getModel(part: String) -> ModelEntity? {
    |          `- note: add '@MainActor' to make instance method 'getModel(part:)' part of global actor 'MainActor'
 70 |         self.findEntity(named: part) as? ModelEntity
    |              `- warning: call to main actor-isolated instance method 'findEntity(named:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 71 |     }
 72 |     func ruiOrientation() {
RealityFoundation.Entity:21:44: note: calls to instance method 'findEntity(named:)' from outside of its actor context are implicitly asynchronous
19 |     @objc deinit
20 |     @MainActor @preconcurrency open func didClone(from source: Entity)
21 |     @MainActor @preconcurrency public func findEntity(named name: String) -> Entity?
   |                                            `- note: calls to instance method 'findEntity(named:)' from outside of its actor context are implicitly asynchronous
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:74:18: warning: main actor-isolated property 'orientation' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 70 |         self.findEntity(named: part) as? ModelEntity
 71 |     }
 72 |     func ruiOrientation() {
    |          `- note: add '@MainActor' to make instance method 'ruiOrientation()' part of global actor 'MainActor'
 73 |         if let startOrient = RealityUI.startingOrientation {
 74 |             self.orientation = startOrient
    |                  `- warning: main actor-isolated property 'orientation' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 75 |         }
 76 |     }
RealityFoundation.HasTransform:10:43: note: mutation of this property is only permitted within the actor
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
10 |     @MainActor @preconcurrency public var orientation: simd_quatf { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
11 |     @MainActor @preconcurrency public func orientation(relativeTo referenceEntity: Entity?) -> simd_quatf
12 |     @MainActor @preconcurrency public func setOrientation(_ orientation: simd_quatf, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:81:28: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |         }
 76 |     }
 77 |     func addModel(part: String) -> ModelEntity {
    |          `- note: add '@MainActor' to make instance method 'addModel(part:)' part of global actor 'MainActor'
 78 |         if let modelPart = self.getModel(part: part) {
 79 |             return modelPart
 80 |         }
 81 |         let newModelPart = ModelEntity()
    |                            `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 82 |         newModelPart.name = part
 83 |         self.addChild(newModelPart)
RealityFoundation.ModelEntity:3:48: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
1 | @available(macOS 10.15, iOS 13.0, *)
2 | @MainActor @preconcurrency public class ModelEntity : Entity, HasModel, HasPhysics {
3 |     @MainActor @preconcurrency required public init()
  |                                                `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
4 |     @MainActor @preconcurrency public init(mesh: MeshResource, materials: [any Material] = [])
5 |     @MainActor @preconcurrency public init(mesh: MeshResource, materials: [any Material] = [], collisionShape: ShapeResource, mass: Float)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:82:22: warning: main actor-isolated property 'name' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 75 |         }
 76 |     }
 77 |     func addModel(part: String) -> ModelEntity {
    |          `- note: add '@MainActor' to make instance method 'addModel(part:)' part of global actor 'MainActor'
 78 |         if let modelPart = self.getModel(part: part) {
 79 |             return modelPart
 80 |         }
 81 |         let newModelPart = ModelEntity()
 82 |         newModelPart.name = part
    |                      `- warning: main actor-isolated property 'name' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 83 |         self.addChild(newModelPart)
 84 |         return newModelPart
RealityFoundation.Entity:6:43: note: mutation of this property is only permitted within the actor
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
 7 |     @MainActor @preconcurrency public var __boundingBox: __AABBRef { get }
 8 |     @available(macOS 12.0, iOS 15.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:83:14: warning: call to main actor-isolated instance method 'addChild(_:preservingWorldTransform:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |         }
 76 |     }
 77 |     func addModel(part: String) -> ModelEntity {
    |          `- note: add '@MainActor' to make instance method 'addModel(part:)' part of global actor 'MainActor'
 78 |         if let modelPart = self.getModel(part: part) {
 79 |             return modelPart
    :
 81 |         let newModelPart = ModelEntity()
 82 |         newModelPart.name = part
 83 |         self.addChild(newModelPart)
    |              `- warning: call to main actor-isolated instance method 'addChild(_:preservingWorldTransform:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 84 |         return newModelPart
 85 |     }
RealityFoundation.HasHierarchy:6:44: note: calls to instance method 'addChild(_:preservingWorldTransform:)' from outside of its actor context are implicitly asynchronous
4 |     @MainActor @preconcurrency public func setParent(_ parent: Entity?, preservingWorldTransform: Bool = false)
5 |     @MainActor @preconcurrency public var children: Entity.ChildCollection { get set }
6 |     @MainActor @preconcurrency public func addChild(_ entity: Entity, preservingWorldTransform: Bool = false)
  |                                            `- note: calls to instance method 'addChild(_:preservingWorldTransform:)' from outside of its actor context are implicitly asynchronous
7 |     @MainActor @preconcurrency public func removeChild(_ entity: Entity, preservingWorldTransform: Bool = false)
8 |     @MainActor @preconcurrency public func removeFromParent(preservingWorldTransform: Bool = false)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:45:25: warning: static property 'anims' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 |     /// Store all the RealityUI Animations for an Entity. It's important for memory management that this is empty when it should be.
 45 |     internal static var anims: [Entity: [String: Cancellable]] = [:]
    |                         |- warning: static property 'anims' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'anims' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: annotate 'anims' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |
 47 |     private func logActivated() {
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/HasRUI.swift:63:31: warning: sending 'newValue' risks causing data races; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
 63 |         set { self.components.set(newValue) }
    |                               |- warning: sending 'newValue' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending task-isolated 'newValue' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 64 |     }
 65 |
[16/20] Emitting module RealityUI
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:22:16: warning: main actor-isolated property 'touchUpInside' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 15 |
 16 | /// A  RealityUI Button to be added to a RealityKit scene.
 17 | public class RUIButton: Entity, HasButton, HasModel, HasPhysics {
    |                                 `- note: add '@preconcurrency' to the 'HasButton' conformance to defer isolation checking to run time
 18 |
 19 |     public internal(set) var collisionPlane: float4x4?
 20 |
 21 |     /// Function that will be called when button is successfully tapped.
 22 |     public var touchUpInside: ((HasButton) -> Void)?
    |                `- warning: main actor-isolated property 'touchUpInside' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 23 |
 24 |     /// Creates a RealityUI Button entity with optional ``ButtonComponent``, ``RUIComponent`` and ``touchUpInside``.
    :
154 | public protocol HasButton: HasCollision, HasRUIMaterials {
155 |     /// Button has been clicked callback, similar to UIKit `.touchUpInside`
156 |     var touchUpInside: ((HasButton) -> Void)? { get set }
    |         `- note: 'touchUpInside' declared here
157 | }
158 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:51:17: warning: main actor-isolated instance method 'ruiDrag(_:selectedDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 48 |     }
 49 | }
 50 | extension RUIButton: RUIDragDelegate {
    |                      `- note: add '@preconcurrency' to the 'RUIDragDelegate' conformance to defer isolation checking to run time
 51 |     public func ruiDrag(
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:selectedDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:selectedDidUpdate:)' to make this instance method not isolated to the actor
 52 |         _ entity: Entity,
 53 |         selectedDidUpdate hasCollided: Bool
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:57:10: note: mark the protocol requirement 'ruiDrag(_:selectedDidUpdate:)' 'async' to allow actor-isolated conformances
55 |     ///   - entity: The `Entity` involved in the collision state change.
56 |     ///   - isSelected: A Boolean value indicating the 3D interaction is currently on the entity.
57 |     func ruiDrag(_ entity: Entity, selectedDidUpdate isSelected: Bool)
   |          `- note: mark the protocol requirement 'ruiDrag(_:selectedDidUpdate:)' 'async' to allow actor-isolated conformances
58 |
59 |     /// Called when a touch-up event is completed on entities with a ``RUIDragComponent`` of type ``RUIDragComponent/DragComponentType/click``.
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:57:17: warning: main actor-isolated instance method 'ruiDrag(_:touchUpInsideDidComplete:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 55 |         if hasCollided { compressButton() } else { releaseButton() }
 56 |     }
 57 |     public func ruiDrag(
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:touchUpInsideDidComplete:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:touchUpInsideDidComplete:)' to make this instance method not isolated to the actor
 58 |         _ entity: Entity,
 59 |         touchUpInsideDidComplete ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:67:10: note: mark the protocol requirement 'ruiDrag(_:touchUpInsideDidComplete:)' 'async' to allow actor-isolated conformances
65 |     ///   - entity: The `Entity` on which the touch-up gesture is completed.
66 |     ///   - ray: A ray representing the origin and direction of the touch-up interaction. The direction vector is not normalized.
67 |     func ruiDrag(_ entity: Entity, touchUpInsideDidComplete ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:touchUpInsideDidComplete:)' 'async' to allow actor-isolated conformances
68 |
69 |     /// Called when a touch-up event fails on entities with a ``RUIDragComponent``
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISlider.swift:23:16: warning: main actor-isolated property 'sliderUpdateCallback' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 16 |
 17 | /// A  RealityUI Slider to be added to a RealityKit scene.
 18 | public class RUISlider: Entity, HasSlider, HasModel {
    |                                 `- note: add '@preconcurrency' to the 'HasSlider' conformance to defer isolation checking to run time
 19 |
 20 |     /// Called whenever the slider value updates.
 21 |     /// set isContinuous to `true` to get every change,
 22 |     /// `false` to just get start and end on each gesture.
 23 |     public var sliderUpdateCallback: ((HasSlider, SliderComponent.SlidingState) -> Void)?
    |                `- warning: main actor-isolated property 'sliderUpdateCallback' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 24 |
 25 |     @available(*, deprecated, renamed: "sliderUpdateCallback")
    :
177 |     /// set isContinuous to `true` to get every change,
178 |     /// `false` to just get start and end on each gesture.
179 |     var sliderUpdateCallback: ((HasSlider, SliderComponent.SlidingState) -> Void)? { get set }
    |         `- note: 'sliderUpdateCallback' declared here
180 |
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISlider.swift:82:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidStart:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 79 | }
 80 |
 81 | extension RUISlider: RUIDragDelegate {
    |                      `- note: add '@preconcurrency' to the 'RUIDragDelegate' conformance to defer isolation checking to run time
 82 |     public func ruiDrag(_ entity: Entity, dragDidStart ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)) {
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:dragDidStart:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:dragDidStart:)' to make this instance method not isolated to the actor
 83 |         self.sliderUpdateCallback?(self, .started)
 84 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:22:10: note: mark the protocol requirement 'ruiDrag(_:dragDidStart:)' 'async' to allow actor-isolated conformances
20 |     ///   - entity: The `Entity` that the user starts dragging.
21 |     ///   - ray: A ray showing the origin and direction of the ray used to move the entity. The direction is not normalised.
22 |     func ruiDrag(_ entity: Entity, dragDidStart ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:dragDidStart:)' 'async' to allow actor-isolated conformances
23 |     /// Called when there is an update to a drag interaction on an entity.
24 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISlider.swift:85:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 83 |         self.sliderUpdateCallback?(self, .started)
 84 |     }
 85 |     public func ruiDrag(_ entity: Entity, dragDidUpdate ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)) {
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:dragDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:dragDidUpdate:)' to make this instance method not isolated to the actor
 86 |         var newPercent = 0.5 - entity.position.x / sliderLength
 87 |         self.clampSlideValue(&newPercent)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:31:10: note: mark the protocol requirement 'ruiDrag(_:dragDidUpdate:)' 'async' to allow actor-isolated conformances
29 |     ///   - entity: The `Entity` whose position or state is being updated due to the drag interaction.
30 |     ///   - ray: A ray showing the origin and direction of the ray used to move the entity. The direction is not normalised.
31 |     func ruiDrag(_ entity: Entity, dragDidUpdate ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:dragDidUpdate:)' 'async' to allow actor-isolated conformances
32 |     /// Called when a drag interaction on an AR entity ends.
33 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISlider.swift:93:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidEnd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 91 |         if self.isContinuous { self.sliderUpdateCallback?(self, .updated) }
 92 |     }
 93 |     public func ruiDrag(_ entity: Entity, dragDidEnd ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)) {
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:dragDidEnd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:dragDidEnd:)' to make this instance method not isolated to the actor
 94 |         self.sliderUpdateCallback?(self, .ended)
 95 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:40:10: note: mark the protocol requirement 'ruiDrag(_:dragDidEnd:)' 'async' to allow actor-isolated conformances
38 |     ///   - entity: The `Entity` that was being dragged and is now released.
39 |     ///   - ray: A ray showing the origin and direction of the ray used to move the entity. The direction is not normalised.
40 |     func ruiDrag(_ entity: Entity, dragDidEnd ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:dragDidEnd:)' 'async' to allow actor-isolated conformances
41 |     /// Called when a drag interaction on an entity is cancelled.
42 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIStepper.swift:80:17: warning: main actor-isolated instance method 'ruiDrag(_:selectedDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 77 | }
 78 |
 79 | extension RUIStepper: RUIDragDelegate {
    |                       `- note: add '@preconcurrency' to the 'RUIDragDelegate' conformance to defer isolation checking to run time
 80 |     public func ruiDrag(_ entity: Entity, selectedDidUpdate isSelected: Bool) {
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:selectedDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:selectedDidUpdate:)' to make this instance method not isolated to the actor
 81 |         entity.scale = isSelected ? .init(repeating: 0.95) : .one
 82 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:57:10: note: mark the protocol requirement 'ruiDrag(_:selectedDidUpdate:)' 'async' to allow actor-isolated conformances
55 |     ///   - entity: The `Entity` involved in the collision state change.
56 |     ///   - isSelected: A Boolean value indicating the 3D interaction is currently on the entity.
57 |     func ruiDrag(_ entity: Entity, selectedDidUpdate isSelected: Bool)
   |          `- note: mark the protocol requirement 'ruiDrag(_:selectedDidUpdate:)' 'async' to allow actor-isolated conformances
58 |
59 |     /// Called when a touch-up event is completed on entities with a ``RUIDragComponent`` of type ``RUIDragComponent/DragComponentType/click``.
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIStepper.swift:83:17: warning: main actor-isolated instance method 'ruiDrag(_:touchUpInsideDidComplete:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 81 |         entity.scale = isSelected ? .init(repeating: 0.95) : .one
 82 |     }
 83 |     public func ruiDrag(
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:touchUpInsideDidComplete:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:touchUpInsideDidComplete:)' to make this instance method not isolated to the actor
 84 |         _ entity: Entity,
 85 |         touchUpInsideDidComplete ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:67:10: note: mark the protocol requirement 'ruiDrag(_:touchUpInsideDidComplete:)' 'async' to allow actor-isolated conformances
65 |     ///   - entity: The `Entity` on which the touch-up gesture is completed.
66 |     ///   - ray: A ray representing the origin and direction of the touch-up interaction. The direction vector is not normalized.
67 |     func ruiDrag(_ entity: Entity, touchUpInsideDidComplete ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:touchUpInsideDidComplete:)' 'async' to allow actor-isolated conformances
68 |
69 |     /// Called when a touch-up event fails on entities with a ``RUIDragComponent``
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISwitch.swift:54:16: warning: main actor-isolated property 'switchCallback' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 20 |
 21 | /// A  RealityUI Switch to be added to a RealityKit scene.
 22 | public class RUISwitch: Entity, HasSwitch {
    |                                 `- note: add '@preconcurrency' to the 'HasSwitch' conformance to defer isolation checking to run time
 23 |     var thumbCompressed = false
 24 |     func compressThumb() {
    :
 52 |
 53 |     /// Switch's isOn property has changed
 54 |     public var switchCallback: ((HasSwitch) -> Void)?
    |                `- warning: main actor-isolated property 'switchCallback' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 55 |
 56 |     /// Creates a RealityUI Switch entity with optional ``SwitchComponent``, ``RUIComponent`` and ``switchCallback``.
    :
108 | public protocol HasSwitch: HasRUIMaterials {
109 |     /// Switch's isOn property has changed
110 |     var switchCallback: ((HasSwitch) -> Void)? { get set }
    |         `- note: 'switchCallback' declared here
111 | }
112 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISwitch.swift:82:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidStart:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 79 | }
 80 |
 81 | extension RUISwitch: RUIDragDelegate {
    |                      `- note: add '@preconcurrency' to the 'RUIDragDelegate' conformance to defer isolation checking to run time
 82 |     public func ruiDrag(_ entity: Entity, dragDidStart ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)) {
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:dragDidStart:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:dragDidStart:)' to make this instance method not isolated to the actor
 83 |         guard entity.name == "thumb" else { return }
 84 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:22:10: note: mark the protocol requirement 'ruiDrag(_:dragDidStart:)' 'async' to allow actor-isolated conformances
20 |     ///   - entity: The `Entity` that the user starts dragging.
21 |     ///   - ray: A ray showing the origin and direction of the ray used to move the entity. The direction is not normalised.
22 |     func ruiDrag(_ entity: Entity, dragDidStart ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:dragDidStart:)' 'async' to allow actor-isolated conformances
23 |     /// Called when there is an update to a drag interaction on an entity.
24 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISwitch.swift:89:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 87 |         self.compressThumb()
 88 |     }
 89 |     public func ruiDrag(_ entity: Entity, dragDidUpdate ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)) {
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:dragDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:dragDidUpdate:)' to make this instance method not isolated to the actor
 90 |         guard entity.name == "thumb" else { return }
 91 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:31:10: note: mark the protocol requirement 'ruiDrag(_:dragDidUpdate:)' 'async' to allow actor-isolated conformances
29 |     ///   - entity: The `Entity` whose position or state is being updated due to the drag interaction.
30 |     ///   - ray: A ray showing the origin and direction of the ray used to move the entity. The direction is not normalised.
31 |     func ruiDrag(_ entity: Entity, dragDidUpdate ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:dragDidUpdate:)' 'async' to allow actor-isolated conformances
32 |     /// Called when a drag interaction on an AR entity ends.
33 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUISwitch.swift:95:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidEnd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 93 |         self.lastThumbPos = entity.position
 94 |     }
 95 |     public func ruiDrag(_ entity: Entity, dragDidEnd ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)) {
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:dragDidEnd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:dragDidEnd:)' to make this instance method not isolated to the actor
 96 |         guard entity.name == "thumb" else { return }
 97 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:40:10: note: mark the protocol requirement 'ruiDrag(_:dragDidEnd:)' 'async' to allow actor-isolated conformances
38 |     ///   - entity: The `Entity` that was being dragged and is now released.
39 |     ///   - ray: A ray showing the origin and direction of the ray used to move the entity. The direction is not normalised.
40 |     func ruiDrag(_ entity: Entity, dragDidEnd ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:dragDidEnd:)' 'async' to allow actor-isolated conformances
41 |     /// Called when a drag interaction on an entity is cancelled.
42 |     ///
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:39:23: warning: static property 'longGestureMask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |
 38 |     /// Mask to exclude entities from being hit by the long/panning gesture
 39 |     public static var longGestureMask: CollisionGroup = .all
    |                       |- warning: static property 'longGestureMask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'longGestureMask' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'longGestureMask' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     /// Mask to exclude entities from being hit by the tap gesture.
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:42:23: warning: static property 'tapGestureMask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 40 |
 41 |     /// Mask to exclude entities from being hit by the tap gesture.
 42 |     public static var tapGestureMask: CollisionGroup = .all
    |                       |- warning: static property 'tapGestureMask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'tapGestureMask' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'tapGestureMask' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |
 44 |     /// Store all the RealityUI Animations for an Entity. It's important for memory management that this is empty when it should be.
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:45:25: warning: static property 'anims' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 43 |
 44 |     /// Store all the RealityUI Animations for an Entity. It's important for memory management that this is empty when it should be.
 45 |     internal static var anims: [Entity: [String: Cancellable]] = [:]
    |                         |- warning: static property 'anims' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'anims' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: annotate 'anims' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |
 47 |     private func logActivated() {
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:75:27: warning: static property 'tap' is not concurrency-safe because non-'Sendable' type 'RealityUI.RUIGesture' may have shared mutable state; this is an error in the Swift 6 language mode
 62 |
 63 |     /// Different type of gestures used by RealityUI.
 64 |     public struct RUIGesture: OptionSet {
    |                   `- note: consider making struct 'RUIGesture' conform to the 'Sendable' protocol
 65 |         /// Integer raw value used by the OptionSet
 66 |         public let rawValue: Int
    :
 73 |
 74 |         /// OptionSet value for tap gestures.
 75 |         public static let tap = RUIGesture(rawValue: 1 << 0)
    |                           |- warning: static property 'tap' is not concurrency-safe because non-'Sendable' type 'RealityUI.RUIGesture' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'tap' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 76 |
 77 |         /// OptionSet value for long touch gestures. This will catch all entities with ``RUIDragComponent`` and a collision body.
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:78:27: warning: static property 'ruiDrag' is not concurrency-safe because non-'Sendable' type 'RealityUI.RUIGesture' may have shared mutable state; this is an error in the Swift 6 language mode
 62 |
 63 |     /// Different type of gestures used by RealityUI.
 64 |     public struct RUIGesture: OptionSet {
    |                   `- note: consider making struct 'RUIGesture' conform to the 'Sendable' protocol
 65 |         /// Integer raw value used by the OptionSet
 66 |         public let rawValue: Int
    :
 76 |
 77 |         /// OptionSet value for long touch gestures. This will catch all entities with ``RUIDragComponent`` and a collision body.
 78 |         public static let ruiDrag = RUIGesture(rawValue: 1 << 1)
    |                           |- warning: static property 'ruiDrag' is not concurrency-safe because non-'Sendable' type 'RealityUI.RUIGesture' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'ruiDrag' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 79 |
 80 |         @available(*, deprecated, renamed: "ruiDrag")
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:81:27: warning: static property 'longTouch' is not concurrency-safe because non-'Sendable' type 'RealityUI.RUIGesture' may have shared mutable state; this is an error in the Swift 6 language mode
 62 |
 63 |     /// Different type of gestures used by RealityUI.
 64 |     public struct RUIGesture: OptionSet {
    |                   `- note: consider making struct 'RUIGesture' conform to the 'Sendable' protocol
 65 |         /// Integer raw value used by the OptionSet
 66 |         public let rawValue: Int
    :
 79 |
 80 |         @available(*, deprecated, renamed: "ruiDrag")
 81 |         public static let longTouch = RUIGesture.ruiDrag
    |                           |- warning: static property 'longTouch' is not concurrency-safe because non-'Sendable' type 'RealityUI.RUIGesture' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'longTouch' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 82 |
 83 |         /// Encapsulates all the possible values of this OptionSet
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:84:27: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'RealityUI.RUIGesture' may have shared mutable state; this is an error in the Swift 6 language mode
 62 |
 63 |     /// Different type of gestures used by RealityUI.
 64 |     public struct RUIGesture: OptionSet {
    |                   `- note: consider making struct 'RUIGesture' conform to the 'Sendable' protocol
 65 |         /// Integer raw value used by the OptionSet
 66 |         public let rawValue: Int
    :
 82 |
 83 |         /// Encapsulates all the possible values of this OptionSet
 84 |         public static let all: RUIGesture = [.tap, .ruiDrag]
    |                           |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'RealityUI.RUIGesture' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 85 |     }
 86 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:105:23: warning: static property 'RUIComponents' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
103 |
104 |     /// All the components used by RealityUI
105 |     public static var RUIComponents: [Component.Type] = [
    |                       |- warning: static property 'RUIComponents' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'RUIComponents' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'RUIComponents' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 |         RUIComponent.self,
107 |         ButtonComponent.self,
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:116:25: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
114 |     ]
115 |
116 |     internal static var shared = RealityUI()
    |                         |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |
118 |     private override init() {
[17/20] Compiling RealityUI RUIButton.swift
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:22:16: warning: main actor-isolated property 'touchUpInside' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 15 |
 16 | /// A  RealityUI Button to be added to a RealityKit scene.
 17 | public class RUIButton: Entity, HasButton, HasModel, HasPhysics {
    |                                 `- note: add '@preconcurrency' to the 'HasButton' conformance to defer isolation checking to run time
 18 |
 19 |     public internal(set) var collisionPlane: float4x4?
 20 |
 21 |     /// Function that will be called when button is successfully tapped.
 22 |     public var touchUpInside: ((HasButton) -> Void)?
    |                `- warning: main actor-isolated property 'touchUpInside' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 23 |
 24 |     /// Creates a RealityUI Button entity with optional ``ButtonComponent``, ``RUIComponent`` and ``touchUpInside``.
    :
154 | public protocol HasButton: HasCollision, HasRUIMaterials {
155 |     /// Button has been clicked callback, similar to UIKit `.touchUpInside`
156 |     var touchUpInside: ((HasButton) -> Void)? { get set }
    |         `- note: 'touchUpInside' declared here
157 | }
158 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:51:17: warning: main actor-isolated instance method 'ruiDrag(_:selectedDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 48 |     }
 49 | }
 50 | extension RUIButton: RUIDragDelegate {
    |                      `- note: add '@preconcurrency' to the 'RUIDragDelegate' conformance to defer isolation checking to run time
 51 |     public func ruiDrag(
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:selectedDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:selectedDidUpdate:)' to make this instance method not isolated to the actor
 52 |         _ entity: Entity,
 53 |         selectedDidUpdate hasCollided: Bool
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:57:10: note: mark the protocol requirement 'ruiDrag(_:selectedDidUpdate:)' 'async' to allow actor-isolated conformances
55 |     ///   - entity: The `Entity` involved in the collision state change.
56 |     ///   - isSelected: A Boolean value indicating the 3D interaction is currently on the entity.
57 |     func ruiDrag(_ entity: Entity, selectedDidUpdate isSelected: Bool)
   |          `- note: mark the protocol requirement 'ruiDrag(_:selectedDidUpdate:)' 'async' to allow actor-isolated conformances
58 |
59 |     /// Called when a touch-up event is completed on entities with a ``RUIDragComponent`` of type ``RUIDragComponent/DragComponentType/click``.
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:57:17: warning: main actor-isolated instance method 'ruiDrag(_:touchUpInsideDidComplete:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 55 |         if hasCollided { compressButton() } else { releaseButton() }
 56 |     }
 57 |     public func ruiDrag(
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:touchUpInsideDidComplete:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:touchUpInsideDidComplete:)' to make this instance method not isolated to the actor
 58 |         _ entity: Entity,
 59 |         touchUpInsideDidComplete ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:67:10: note: mark the protocol requirement 'ruiDrag(_:touchUpInsideDidComplete:)' 'async' to allow actor-isolated conformances
65 |     ///   - entity: The `Entity` on which the touch-up gesture is completed.
66 |     ///   - ray: A ray representing the origin and direction of the touch-up interaction. The direction vector is not normalized.
67 |     func ruiDrag(_ entity: Entity, touchUpInsideDidComplete ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:touchUpInsideDidComplete:)' 'async' to allow actor-isolated conformances
68 |
69 |     /// Called when a touch-up event fails on entities with a ``RUIDragComponent``
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:162:30: warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
160 |     /// Properties of the button to be rendered
161 |     internal(set) var button: ButtonComponent {
162 |         get { self.components[ButtonComponent.self] ?? ButtonComponent() }
    |                              `- warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
163 |         set { self.components[ButtonComponent.self] = newValue }
164 |     }
RealityFoundation.Entity:4:43: note: subscript declared here
 2 | extension Entity {
 3 |     @MainActor @preconcurrency public struct ComponentSet {
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
   |                                           `- note: subscript declared here
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:162:20: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
160 |     /// Properties of the button to be rendered
161 |     internal(set) var button: ButtonComponent {
162 |         get { self.components[ButtonComponent.self] ?? ButtonComponent() }
    |                    `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
163 |         set { self.components[ButtonComponent.self] = newValue }
164 |     }
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:163:30: warning: main actor-isolated subscript 'subscript(_:)' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
161 |     internal(set) var button: ButtonComponent {
162 |         get { self.components[ButtonComponent.self] ?? ButtonComponent() }
163 |         set { self.components[ButtonComponent.self] = newValue }
    |                              `- warning: main actor-isolated subscript 'subscript(_:)' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
164 |     }
165 |
RealityFoundation.Entity:4:43: note: mutation of this subscript is only permitted within the actor
 2 | extension Entity {
 3 |     @MainActor @preconcurrency public struct ComponentSet {
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
   |                                           `- note: mutation of this subscript is only permitted within the actor
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:163:20: warning: main actor-isolated property 'components' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
161 |     internal(set) var button: ButtonComponent {
162 |         get { self.components[ButtonComponent.self] ?? ButtonComponent() }
163 |         set { self.components[ButtonComponent.self] = newValue }
    |                    `- warning: main actor-isolated property 'components' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
164 |     }
165 |
RealityFoundation.Entity:4:43: note: mutation of this property is only permitted within the actor
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:197:37: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
194 |     }
195 |
196 |     func updateMaterials() {
    |          `- note: add '@MainActor' to make instance method 'updateMaterials()' part of global actor 'MainActor'
197 |         self.getModel(part: .base)?.model?.materials = self.getMaterials(for: .base)
    |                                     `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
198 |         self.getModel(part: .button)?.model?.materials = self.getMaterials(for: .button)
199 |     }
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:198:39: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
194 |     }
195 |
196 |     func updateMaterials() {
    |          `- note: add '@MainActor' to make instance method 'updateMaterials()' part of global actor 'MainActor'
197 |         self.getModel(part: .base)?.model?.materials = self.getMaterials(for: .base)
198 |         self.getModel(part: .button)?.model?.materials = self.getMaterials(for: .button)
    |                                       `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:205:76: warning: call to main actor-isolated instance method 'offsetBy(translation:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
201 |     private func updateCollision() {
    |                  `- note: add '@MainActor' to make instance method 'updateCollision()' part of global actor 'MainActor'
202 |         guard let buttonInner = self.getModel(part: .button) else {
203 |             return
204 |         }
205 |         let collShape = ShapeResource.generateBox(size: self.innerBoxSize).offsetBy(translation: buttonInner.position)
    |                                                                            `- warning: call to main actor-isolated instance method 'offsetBy(translation:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
206 |         self.collision = CollisionComponent(shapes: [collShape])
207 |     }
RealityFoundation.ShapeResource:5:44: note: calls to instance method 'offsetBy(translation:)' from outside of its actor context are implicitly asynchronous
 3 |     @MainActor @preconcurrency public static func __makeShapeResource(_ shapes: [ShapeResource]) -> ShapeResource
 4 |     @MainActor @preconcurrency public func offsetBy(rotation: simd_quatf) -> ShapeResource
 5 |     @MainActor @preconcurrency public func offsetBy(translation: SIMD3<Float>) -> ShapeResource
   |                                            `- note: calls to instance method 'offsetBy(translation:)' from outside of its actor context are implicitly asynchronous
 6 |     @MainActor @preconcurrency public func offsetBy(rotation: simd_quatf = simd_quatf(ix: 0, iy: 0, iz: 0, r: 1), translation: SIMD3<Float> = SIMD3<Float>()) -> ShapeResource
 7 |     @MainActor @preconcurrency public static func generateBox(size: SIMD3<Float>) -> ShapeResource
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:205:39: warning: call to main actor-isolated static method 'generateBox(size:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
201 |     private func updateCollision() {
    |                  `- note: add '@MainActor' to make instance method 'updateCollision()' part of global actor 'MainActor'
202 |         guard let buttonInner = self.getModel(part: .button) else {
203 |             return
204 |         }
205 |         let collShape = ShapeResource.generateBox(size: self.innerBoxSize).offsetBy(translation: buttonInner.position)
    |                                       `- warning: call to main actor-isolated static method 'generateBox(size:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
206 |         self.collision = CollisionComponent(shapes: [collShape])
207 |     }
RealityFoundation.ShapeResource:7:51: note: calls to static method 'generateBox(size:)' from outside of its actor context are implicitly asynchronous
 5 |     @MainActor @preconcurrency public func offsetBy(translation: SIMD3<Float>) -> ShapeResource
 6 |     @MainActor @preconcurrency public func offsetBy(rotation: simd_quatf = simd_quatf(ix: 0, iy: 0, iz: 0, r: 1), translation: SIMD3<Float> = SIMD3<Float>()) -> ShapeResource
 7 |     @MainActor @preconcurrency public static func generateBox(size: SIMD3<Float>) -> ShapeResource
   |                                                   `- note: calls to static method 'generateBox(size:)' from outside of its actor context are implicitly asynchronous
 8 |     @MainActor @preconcurrency public static func generateBox(width: Float, height: Float, depth: Float) -> ShapeResource
 9 |     @MainActor @preconcurrency public static func generateCapsule(height: Float, radius: Float) -> ShapeResource
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:205:110: warning: main actor-isolated property 'position' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
201 |     private func updateCollision() {
    |                  `- note: add '@MainActor' to make instance method 'updateCollision()' part of global actor 'MainActor'
202 |         guard let buttonInner = self.getModel(part: .button) else {
203 |             return
204 |         }
205 |         let collShape = ShapeResource.generateBox(size: self.innerBoxSize).offsetBy(translation: buttonInner.position)
    |                                                                                                              `- warning: main actor-isolated property 'position' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
206 |         self.collision = CollisionComponent(shapes: [collShape])
207 |     }
RealityFoundation.HasTransform:7:43: note: property declared here
 5 |     @MainActor @preconcurrency public func scale(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 6 |     @MainActor @preconcurrency public func setScale(_ scale: SIMD3<Float>, relativeTo referenceEntity: Entity?)
 7 |     @MainActor @preconcurrency public var position: SIMD3<Float> { get set }
   |                                           `- note: property declared here
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:206:14: warning: main actor-isolated property 'collision' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
201 |     private func updateCollision() {
    |                  `- note: add '@MainActor' to make instance method 'updateCollision()' part of global actor 'MainActor'
202 |         guard let buttonInner = self.getModel(part: .button) else {
203 |             return
204 |         }
205 |         let collShape = ShapeResource.generateBox(size: self.innerBoxSize).offsetBy(translation: buttonInner.position)
206 |         self.collision = CollisionComponent(shapes: [collShape])
    |              `- warning: main actor-isolated property 'collision' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
207 |     }
208 |     private func getModel(part: ButtonComponent.UIPart) -> ModelEntity? {
RealityFoundation.HasCollision:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasCollision {
3 |     @MainActor @preconcurrency public var collision: CollisionComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:252:21: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
    |                     `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
253 |             mesh: .generateBox(
254 |                 size: self.size,
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:253:20: warning: call to main actor-isolated static method 'generateBox(size:cornerRadius:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
253 |             mesh: .generateBox(
    |                    `- warning: call to main actor-isolated static method 'generateBox(size:cornerRadius:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
254 |                 size: self.size,
255 |                 cornerRadius: cornerRadius
RealityFoundation.MeshResource:9:51: note: calls to static method 'generateBox(size:cornerRadius:)' from outside of its actor context are implicitly asynchronous
 7 |     @MainActor @preconcurrency public static func __load(named name: String, in bundle: Bundle? = nil) throws -> MeshResource
 8 |     @MainActor @preconcurrency public static func generateBox(size: Float, cornerRadius: Float = 0) -> MeshResource
 9 |     @MainActor @preconcurrency public static func generateBox(size: SIMD3<Float>, cornerRadius: Float = 0) -> MeshResource
   |                                                   `- note: calls to static method 'generateBox(size:cornerRadius:)' from outside of its actor context are implicitly asynchronous
10 |     @MainActor @preconcurrency public static func generateBox(width: Float, height: Float, depth: Float, cornerRadius: Float = 0, splitFaces: Bool = false) -> MeshResource
11 |     @MainActor @preconcurrency public static func generatePlane(width: Float, height: Float, cornerRadius: Float = 0) -> MeshResource
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:260:21: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
    :
258 |         let buttonInner = self.addModel(part: .button)
259 |         let innerBoxSize = self.innerBoxSize
260 |         buttonInner.model = ModelComponent(
    |                     `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
261 |             mesh: MeshResource.generateBox(
262 |                 size: innerBoxSize,
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:261:32: warning: call to main actor-isolated static method 'generateBox(size:cornerRadius:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
    :
259 |         let innerBoxSize = self.innerBoxSize
260 |         buttonInner.model = ModelComponent(
261 |             mesh: MeshResource.generateBox(
    |                                `- warning: call to main actor-isolated static method 'generateBox(size:cornerRadius:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
262 |                 size: innerBoxSize,
263 |                 cornerRadius: cornerRadius
RealityFoundation.MeshResource:9:51: note: calls to static method 'generateBox(size:cornerRadius:)' from outside of its actor context are implicitly asynchronous
 7 |     @MainActor @preconcurrency public static func __load(named name: String, in bundle: Bundle? = nil) throws -> MeshResource
 8 |     @MainActor @preconcurrency public static func generateBox(size: Float, cornerRadius: Float = 0) -> MeshResource
 9 |     @MainActor @preconcurrency public static func generateBox(size: SIMD3<Float>, cornerRadius: Float = 0) -> MeshResource
   |                                                   `- note: calls to static method 'generateBox(size:cornerRadius:)' from outside of its actor context are implicitly asynchronous
10 |     @MainActor @preconcurrency public static func generateBox(width: Float, height: Float, depth: Float, cornerRadius: Float = 0, splitFaces: Bool = false) -> MeshResource
11 |     @MainActor @preconcurrency public static func generatePlane(width: Float, height: Float, cornerRadius: Float = 0) -> MeshResource
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:266:21: warning: main actor-isolated property 'position' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
    :
264 |             ), materials: []
265 |         )
266 |         buttonInner.position = self.buttonOutPos
    |                     `- warning: main actor-isolated property 'position' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
267 |         self.updateMaterials()
268 |         self.updateCollision()
RealityFoundation.HasTransform:7:43: note: mutation of this property is only permitted within the actor
 5 |     @MainActor @preconcurrency public func scale(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 6 |     @MainActor @preconcurrency public func setScale(_ scale: SIMD3<Float>, relativeTo referenceEntity: Entity?)
 7 |     @MainActor @preconcurrency public var position: SIMD3<Float> { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:275:20: warning: call to main actor-isolated instance method 'stopAllAnimations(recursive:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
268 |         self.updateCollision()
269 |     }
270 |     func compressButton() {
    |          `- note: add '@MainActor' to make instance method 'compressButton()' part of global actor 'MainActor'
271 |         guard let innerModel = self.getModel(part: .button) else {
272 |             return
273 |         }
274 |         self.isCompressed = true
275 |         innerModel.stopAllAnimations()
    |                    `- warning: call to main actor-isolated instance method 'stopAllAnimations(recursive:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
276 |         innerModel.move(
277 |             to: Transform(scale: .one, rotation: .init(angle: 0, axis: [0, 1, 0]), translation: self.buttonInPos),
RealityFoundation.Entity:8:44: note: calls to instance method 'stopAllAnimations(recursive:)' from outside of its actor context are implicitly asynchronous
6 |     @discardableResult
7 |     @MainActor @preconcurrency public func playAnimation(_ animation: AnimationResource, transitionDuration: TimeInterval, startsPaused: Bool) -> AnimationPlaybackController
8 |     @MainActor @preconcurrency public func stopAllAnimations(recursive: Bool = true)
  |                                            `- note: calls to instance method 'stopAllAnimations(recursive:)' from outside of its actor context are implicitly asynchronous
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:276:20: warning: call to main actor-isolated instance method 'move(to:relativeTo:duration:timingFunction:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
268 |         self.updateCollision()
269 |     }
270 |     func compressButton() {
    |          `- note: add '@MainActor' to make instance method 'compressButton()' part of global actor 'MainActor'
271 |         guard let innerModel = self.getModel(part: .button) else {
272 |             return
    :
274 |         self.isCompressed = true
275 |         innerModel.stopAllAnimations()
276 |         innerModel.move(
    |                    `- warning: call to main actor-isolated instance method 'move(to:relativeTo:duration:timingFunction:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
277 |             to: Transform(scale: .one, rotation: .init(angle: 0, axis: [0, 1, 0]), translation: self.buttonInPos),
278 |             relativeTo: self, duration: 0.15
RealityFoundation.HasTransform:29:44: note: calls to instance method 'move(to:relativeTo:duration:timingFunction:)' from outside of its actor context are implicitly asynchronous
27 |     @MainActor @preconcurrency public func move(to transform: float4x4, relativeTo referenceEntity: Entity?)
28 |     @discardableResult
29 |     @MainActor @preconcurrency public func move(to target: Transform, relativeTo referenceEntity: Entity?, duration: TimeInterval, timingFunction: AnimationTimingFunction = .default) -> AnimationPlaybackController
   |                                            `- note: calls to instance method 'move(to:relativeTo:duration:timingFunction:)' from outside of its actor context are implicitly asynchronous
30 |     @discardableResult
31 |     @MainActor @preconcurrency public func move(to target: float4x4, relativeTo referenceEntity: Entity?, duration: TimeInterval, timingFunction: AnimationTimingFunction = .default) -> AnimationPlaybackController
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:286:20: warning: call to main actor-isolated instance method 'stopAllAnimations(recursive:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
279 |         )
280 |     }
281 |     func releaseButton() {
    |          `- note: add '@MainActor' to make instance method 'releaseButton()' part of global actor 'MainActor'
282 |         guard let innerModel = self.getModel(part: .button) else {
283 |             return
284 |         }
285 |         self.isCompressed = false
286 |         innerModel.stopAllAnimations()
    |                    `- warning: call to main actor-isolated instance method 'stopAllAnimations(recursive:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
287 |         innerModel.move(
288 |             to: Transform(scale: .one, rotation: .init(angle: 0, axis: [0, 1, 0]), translation: self.buttonOutPos),
RealityFoundation.Entity:8:44: note: calls to instance method 'stopAllAnimations(recursive:)' from outside of its actor context are implicitly asynchronous
6 |     @discardableResult
7 |     @MainActor @preconcurrency public func playAnimation(_ animation: AnimationResource, transitionDuration: TimeInterval, startsPaused: Bool) -> AnimationPlaybackController
8 |     @MainActor @preconcurrency public func stopAllAnimations(recursive: Bool = true)
  |                                            `- note: calls to instance method 'stopAllAnimations(recursive:)' from outside of its actor context are implicitly asynchronous
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:287:20: warning: call to main actor-isolated instance method 'move(to:relativeTo:duration:timingFunction:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
279 |         )
280 |     }
281 |     func releaseButton() {
    |          `- note: add '@MainActor' to make instance method 'releaseButton()' part of global actor 'MainActor'
282 |         guard let innerModel = self.getModel(part: .button) else {
283 |             return
    :
285 |         self.isCompressed = false
286 |         innerModel.stopAllAnimations()
287 |         innerModel.move(
    |                    `- warning: call to main actor-isolated instance method 'move(to:relativeTo:duration:timingFunction:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 |             to: Transform(scale: .one, rotation: .init(angle: 0, axis: [0, 1, 0]), translation: self.buttonOutPos),
289 |             relativeTo: self, duration: 0.15
RealityFoundation.HasTransform:29:44: note: calls to instance method 'move(to:relativeTo:duration:timingFunction:)' from outside of its actor context are implicitly asynchronous
27 |     @MainActor @preconcurrency public func move(to transform: float4x4, relativeTo referenceEntity: Entity?)
28 |     @discardableResult
29 |     @MainActor @preconcurrency public func move(to target: Transform, relativeTo referenceEntity: Entity?, duration: TimeInterval, timingFunction: AnimationTimingFunction = .default) -> AnimationPlaybackController
   |                                            `- note: calls to instance method 'move(to:relativeTo:duration:timingFunction:)' from outside of its actor context are implicitly asynchronous
30 |     @discardableResult
31 |     @MainActor @preconcurrency public func move(to target: float4x4, relativeTo referenceEntity: Entity?, duration: TimeInterval, timingFunction: AnimationTimingFunction = .default) -> AnimationPlaybackController
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent+DragEvents.swift:29:31: warning: call to main actor-isolated instance method 'convert(position:from:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 23 |     ///   - origin: The original position of the entity.
 24 |     @discardableResult
 25 |     public func dragStarted(
    |                 `- note: add '@MainActor' to make instance method 'dragStarted(_:ray:)' part of global actor 'MainActor'
 26 |         _ entity: Entity, ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)
 27 |     ) -> Bool {
 28 |         let worldPos = ray.origin + ray.direction
 29 |         let localPos = entity.convert(position: worldPos, from: nil)
    |                               `- warning: call to main actor-isolated instance method 'convert(position:from:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 30 |         var dist = simd_length(ray.direction)
 31 |         switch self.type {
RealityFoundation.HasTransform:15:44: note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
13 |     @MainActor @preconcurrency public func transformMatrix(relativeTo referenceEntity: Entity?) -> float4x4
14 |     @MainActor @preconcurrency public func setTransformMatrix(_ transform: float4x4, relativeTo referenceEntity: Entity?)
15 |     @MainActor @preconcurrency public func convert(position: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
   |                                            `- note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
16 |     @MainActor @preconcurrency public func convert(direction: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
17 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent+DragEvents.swift:61:34: warning: call to main actor-isolated instance method 'convert(position:from:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 53 |     ///   - ray: A tuple containing the origin and direction of the ray used in the drag interaction.
 54 |     ///   - hasCollided: A boolean indicating whether there has been a collision.
 55 |     public func dragUpdated(
    |                 `- note: add '@MainActor' to make instance method 'dragUpdated(_:ray:hasCollided:)' part of global actor 'MainActor'
 56 |         _ entity: Entity, ray: (origin: SIMD3<Float>, direction: SIMD3<Float>), hasCollided: Bool
 57 |     ) {
    :
 59 |         var newTouchPos: SIMD3<Float>?
 60 |         if let worldPos {
 61 |             newTouchPos = entity.convert(position: worldPos, from: nil)
    |                                  `- warning: call to main actor-isolated instance method 'convert(position:from:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 62 |         }
 63 |         var outputRay = ray
RealityFoundation.HasTransform:15:44: note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
13 |     @MainActor @preconcurrency public func transformMatrix(relativeTo referenceEntity: Entity?) -> float4x4
14 |     @MainActor @preconcurrency public func setTransformMatrix(_ transform: float4x4, relativeTo referenceEntity: Entity?)
15 |     @MainActor @preconcurrency public func convert(position: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
   |                                            `- note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
16 |     @MainActor @preconcurrency public func convert(direction: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
17 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent+DragEvents.swift:69:24: warning: main actor-isolated property 'position' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 53 |     ///   - ray: A tuple containing the origin and direction of the ray used in the drag interaction.
 54 |     ///   - hasCollided: A boolean indicating whether there has been a collision.
 55 |     public func dragUpdated(
    |                 `- note: add '@MainActor' to make instance method 'dragUpdated(_:ray:hasCollided:)' part of global actor 'MainActor'
 56 |         _ entity: Entity, ray: (origin: SIMD3<Float>, direction: SIMD3<Float>), hasCollided: Bool
 57 |     ) {
    :
 67 |         case .move(let poi, let len):
 68 |             if let newMovePos = RUIDragComponent.handleMoveState(entity, newTouchPos, poi) {
 69 |                 entity.position = newMovePos
    |                        `- warning: main actor-isolated property 'position' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 70 |             }
 71 |             if len != 0 {
RealityFoundation.HasTransform:7:43: note: mutation of this property is only permitted within the actor
 5 |     @MainActor @preconcurrency public func scale(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 6 |     @MainActor @preconcurrency public func setScale(_ scale: SIMD3<Float>, relativeTo referenceEntity: Entity?)
 7 |     @MainActor @preconcurrency public var position: SIMD3<Float> { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
[18/20] Compiling RealityUI RUIDragComponent+DragEvents.swift
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:22:16: warning: main actor-isolated property 'touchUpInside' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 15 |
 16 | /// A  RealityUI Button to be added to a RealityKit scene.
 17 | public class RUIButton: Entity, HasButton, HasModel, HasPhysics {
    |                                 `- note: add '@preconcurrency' to the 'HasButton' conformance to defer isolation checking to run time
 18 |
 19 |     public internal(set) var collisionPlane: float4x4?
 20 |
 21 |     /// Function that will be called when button is successfully tapped.
 22 |     public var touchUpInside: ((HasButton) -> Void)?
    |                `- warning: main actor-isolated property 'touchUpInside' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 23 |
 24 |     /// Creates a RealityUI Button entity with optional ``ButtonComponent``, ``RUIComponent`` and ``touchUpInside``.
    :
154 | public protocol HasButton: HasCollision, HasRUIMaterials {
155 |     /// Button has been clicked callback, similar to UIKit `.touchUpInside`
156 |     var touchUpInside: ((HasButton) -> Void)? { get set }
    |         `- note: 'touchUpInside' declared here
157 | }
158 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:51:17: warning: main actor-isolated instance method 'ruiDrag(_:selectedDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 48 |     }
 49 | }
 50 | extension RUIButton: RUIDragDelegate {
    |                      `- note: add '@preconcurrency' to the 'RUIDragDelegate' conformance to defer isolation checking to run time
 51 |     public func ruiDrag(
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:selectedDidUpdate:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:selectedDidUpdate:)' to make this instance method not isolated to the actor
 52 |         _ entity: Entity,
 53 |         selectedDidUpdate hasCollided: Bool
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:57:10: note: mark the protocol requirement 'ruiDrag(_:selectedDidUpdate:)' 'async' to allow actor-isolated conformances
55 |     ///   - entity: The `Entity` involved in the collision state change.
56 |     ///   - isSelected: A Boolean value indicating the 3D interaction is currently on the entity.
57 |     func ruiDrag(_ entity: Entity, selectedDidUpdate isSelected: Bool)
   |          `- note: mark the protocol requirement 'ruiDrag(_:selectedDidUpdate:)' 'async' to allow actor-isolated conformances
58 |
59 |     /// Called when a touch-up event is completed on entities with a ``RUIDragComponent`` of type ``RUIDragComponent/DragComponentType/click``.
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:57:17: warning: main actor-isolated instance method 'ruiDrag(_:touchUpInsideDidComplete:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 55 |         if hasCollided { compressButton() } else { releaseButton() }
 56 |     }
 57 |     public func ruiDrag(
    |                 |- warning: main actor-isolated instance method 'ruiDrag(_:touchUpInsideDidComplete:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |                 `- note: add 'nonisolated' to 'ruiDrag(_:touchUpInsideDidComplete:)' to make this instance method not isolated to the actor
 58 |         _ entity: Entity,
 59 |         touchUpInsideDidComplete ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragDelegate.swift:67:10: note: mark the protocol requirement 'ruiDrag(_:touchUpInsideDidComplete:)' 'async' to allow actor-isolated conformances
65 |     ///   - entity: The `Entity` on which the touch-up gesture is completed.
66 |     ///   - ray: A ray representing the origin and direction of the touch-up interaction. The direction vector is not normalized.
67 |     func ruiDrag(_ entity: Entity, touchUpInsideDidComplete ray: (origin: SIMD3<Float>, direction: SIMD3<Float>))
   |          `- note: mark the protocol requirement 'ruiDrag(_:touchUpInsideDidComplete:)' 'async' to allow actor-isolated conformances
68 |
69 |     /// Called when a touch-up event fails on entities with a ``RUIDragComponent``
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:162:30: warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
160 |     /// Properties of the button to be rendered
161 |     internal(set) var button: ButtonComponent {
162 |         get { self.components[ButtonComponent.self] ?? ButtonComponent() }
    |                              `- warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
163 |         set { self.components[ButtonComponent.self] = newValue }
164 |     }
RealityFoundation.Entity:4:43: note: subscript declared here
 2 | extension Entity {
 3 |     @MainActor @preconcurrency public struct ComponentSet {
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
   |                                           `- note: subscript declared here
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:162:20: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
160 |     /// Properties of the button to be rendered
161 |     internal(set) var button: ButtonComponent {
162 |         get { self.components[ButtonComponent.self] ?? ButtonComponent() }
    |                    `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
163 |         set { self.components[ButtonComponent.self] = newValue }
164 |     }
RealityFoundation.Entity:4:43: note: property declared here
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: property declared here
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:163:30: warning: main actor-isolated subscript 'subscript(_:)' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
161 |     internal(set) var button: ButtonComponent {
162 |         get { self.components[ButtonComponent.self] ?? ButtonComponent() }
163 |         set { self.components[ButtonComponent.self] = newValue }
    |                              `- warning: main actor-isolated subscript 'subscript(_:)' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
164 |     }
165 |
RealityFoundation.Entity:4:43: note: mutation of this subscript is only permitted within the actor
 2 | extension Entity {
 3 |     @MainActor @preconcurrency public struct ComponentSet {
 4 |         @MainActor @preconcurrency public subscript<T>(componentType: T.Type) -> T? where T : Component { get set }
   |                                           `- note: mutation of this subscript is only permitted within the actor
 5 |         @MainActor @preconcurrency public subscript(componentType: any Component.Type) -> (any Component)? { get set }
 6 |         @MainActor @preconcurrency public func set<T>(_ component: T) where T : Component
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:163:20: warning: main actor-isolated property 'components' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
161 |     internal(set) var button: ButtonComponent {
162 |         get { self.components[ButtonComponent.self] ?? ButtonComponent() }
163 |         set { self.components[ButtonComponent.self] = newValue }
    |                    `- warning: main actor-isolated property 'components' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
164 |     }
165 |
RealityFoundation.Entity:4:43: note: mutation of this property is only permitted within the actor
 2 | @MainActor @preconcurrency open class Entity : HasHierarchy, HasSynchronization, HasTransform, Sendable {
 3 |     @MainActor @preconcurrency public var __coreEntity: __EntityRef { get }
 4 |     @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
 5 |     @MainActor @preconcurrency public var scene: Scene? { get }
 6 |     @MainActor @preconcurrency public var name: String { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:197:37: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
194 |     }
195 |
196 |     func updateMaterials() {
    |          `- note: add '@MainActor' to make instance method 'updateMaterials()' part of global actor 'MainActor'
197 |         self.getModel(part: .base)?.model?.materials = self.getMaterials(for: .base)
    |                                     `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
198 |         self.getModel(part: .button)?.model?.materials = self.getMaterials(for: .button)
199 |     }
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:198:39: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
194 |     }
195 |
196 |     func updateMaterials() {
    |          `- note: add '@MainActor' to make instance method 'updateMaterials()' part of global actor 'MainActor'
197 |         self.getModel(part: .base)?.model?.materials = self.getMaterials(for: .base)
198 |         self.getModel(part: .button)?.model?.materials = self.getMaterials(for: .button)
    |                                       `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:205:76: warning: call to main actor-isolated instance method 'offsetBy(translation:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
201 |     private func updateCollision() {
    |                  `- note: add '@MainActor' to make instance method 'updateCollision()' part of global actor 'MainActor'
202 |         guard let buttonInner = self.getModel(part: .button) else {
203 |             return
204 |         }
205 |         let collShape = ShapeResource.generateBox(size: self.innerBoxSize).offsetBy(translation: buttonInner.position)
    |                                                                            `- warning: call to main actor-isolated instance method 'offsetBy(translation:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
206 |         self.collision = CollisionComponent(shapes: [collShape])
207 |     }
RealityFoundation.ShapeResource:5:44: note: calls to instance method 'offsetBy(translation:)' from outside of its actor context are implicitly asynchronous
 3 |     @MainActor @preconcurrency public static func __makeShapeResource(_ shapes: [ShapeResource]) -> ShapeResource
 4 |     @MainActor @preconcurrency public func offsetBy(rotation: simd_quatf) -> ShapeResource
 5 |     @MainActor @preconcurrency public func offsetBy(translation: SIMD3<Float>) -> ShapeResource
   |                                            `- note: calls to instance method 'offsetBy(translation:)' from outside of its actor context are implicitly asynchronous
 6 |     @MainActor @preconcurrency public func offsetBy(rotation: simd_quatf = simd_quatf(ix: 0, iy: 0, iz: 0, r: 1), translation: SIMD3<Float> = SIMD3<Float>()) -> ShapeResource
 7 |     @MainActor @preconcurrency public static func generateBox(size: SIMD3<Float>) -> ShapeResource
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:205:39: warning: call to main actor-isolated static method 'generateBox(size:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
201 |     private func updateCollision() {
    |                  `- note: add '@MainActor' to make instance method 'updateCollision()' part of global actor 'MainActor'
202 |         guard let buttonInner = self.getModel(part: .button) else {
203 |             return
204 |         }
205 |         let collShape = ShapeResource.generateBox(size: self.innerBoxSize).offsetBy(translation: buttonInner.position)
    |                                       `- warning: call to main actor-isolated static method 'generateBox(size:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
206 |         self.collision = CollisionComponent(shapes: [collShape])
207 |     }
RealityFoundation.ShapeResource:7:51: note: calls to static method 'generateBox(size:)' from outside of its actor context are implicitly asynchronous
 5 |     @MainActor @preconcurrency public func offsetBy(translation: SIMD3<Float>) -> ShapeResource
 6 |     @MainActor @preconcurrency public func offsetBy(rotation: simd_quatf = simd_quatf(ix: 0, iy: 0, iz: 0, r: 1), translation: SIMD3<Float> = SIMD3<Float>()) -> ShapeResource
 7 |     @MainActor @preconcurrency public static func generateBox(size: SIMD3<Float>) -> ShapeResource
   |                                                   `- note: calls to static method 'generateBox(size:)' from outside of its actor context are implicitly asynchronous
 8 |     @MainActor @preconcurrency public static func generateBox(width: Float, height: Float, depth: Float) -> ShapeResource
 9 |     @MainActor @preconcurrency public static func generateCapsule(height: Float, radius: Float) -> ShapeResource
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:205:110: warning: main actor-isolated property 'position' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
201 |     private func updateCollision() {
    |                  `- note: add '@MainActor' to make instance method 'updateCollision()' part of global actor 'MainActor'
202 |         guard let buttonInner = self.getModel(part: .button) else {
203 |             return
204 |         }
205 |         let collShape = ShapeResource.generateBox(size: self.innerBoxSize).offsetBy(translation: buttonInner.position)
    |                                                                                                              `- warning: main actor-isolated property 'position' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
206 |         self.collision = CollisionComponent(shapes: [collShape])
207 |     }
RealityFoundation.HasTransform:7:43: note: property declared here
 5 |     @MainActor @preconcurrency public func scale(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 6 |     @MainActor @preconcurrency public func setScale(_ scale: SIMD3<Float>, relativeTo referenceEntity: Entity?)
 7 |     @MainActor @preconcurrency public var position: SIMD3<Float> { get set }
   |                                           `- note: property declared here
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:206:14: warning: main actor-isolated property 'collision' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
199 |     }
200 |
201 |     private func updateCollision() {
    |                  `- note: add '@MainActor' to make instance method 'updateCollision()' part of global actor 'MainActor'
202 |         guard let buttonInner = self.getModel(part: .button) else {
203 |             return
204 |         }
205 |         let collShape = ShapeResource.generateBox(size: self.innerBoxSize).offsetBy(translation: buttonInner.position)
206 |         self.collision = CollisionComponent(shapes: [collShape])
    |              `- warning: main actor-isolated property 'collision' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
207 |     }
208 |     private func getModel(part: ButtonComponent.UIPart) -> ModelEntity? {
RealityFoundation.HasCollision:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasCollision {
3 |     @MainActor @preconcurrency public var collision: CollisionComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:252:21: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
    |                     `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
253 |             mesh: .generateBox(
254 |                 size: self.size,
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:253:20: warning: call to main actor-isolated static method 'generateBox(size:cornerRadius:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
253 |             mesh: .generateBox(
    |                    `- warning: call to main actor-isolated static method 'generateBox(size:cornerRadius:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
254 |                 size: self.size,
255 |                 cornerRadius: cornerRadius
RealityFoundation.MeshResource:9:51: note: calls to static method 'generateBox(size:cornerRadius:)' from outside of its actor context are implicitly asynchronous
 7 |     @MainActor @preconcurrency public static func __load(named name: String, in bundle: Bundle? = nil) throws -> MeshResource
 8 |     @MainActor @preconcurrency public static func generateBox(size: Float, cornerRadius: Float = 0) -> MeshResource
 9 |     @MainActor @preconcurrency public static func generateBox(size: SIMD3<Float>, cornerRadius: Float = 0) -> MeshResource
   |                                                   `- note: calls to static method 'generateBox(size:cornerRadius:)' from outside of its actor context are implicitly asynchronous
10 |     @MainActor @preconcurrency public static func generateBox(width: Float, height: Float, depth: Float, cornerRadius: Float = 0, splitFaces: Bool = false) -> MeshResource
11 |     @MainActor @preconcurrency public static func generatePlane(width: Float, height: Float, cornerRadius: Float = 0) -> MeshResource
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:260:21: warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
    :
258 |         let buttonInner = self.addModel(part: .button)
259 |         let innerBoxSize = self.innerBoxSize
260 |         buttonInner.model = ModelComponent(
    |                     `- warning: main actor-isolated property 'model' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
261 |             mesh: MeshResource.generateBox(
262 |                 size: innerBoxSize,
RealityFoundation.HasModel:3:43: note: mutation of this property is only permitted within the actor
1 | @available(macOS 10.15, iOS 13.0, *)
2 | extension HasModel {
3 |     @MainActor @preconcurrency public var model: ModelComponent? { get set }
  |                                           `- note: mutation of this property is only permitted within the actor
4 |     @available(macOS 11.0, iOS 14.0, *)
5 |     @MainActor @preconcurrency public var modelDebugOptions: ModelDebugOptionsComponent? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:261:32: warning: call to main actor-isolated static method 'generateBox(size:cornerRadius:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
    :
259 |         let innerBoxSize = self.innerBoxSize
260 |         buttonInner.model = ModelComponent(
261 |             mesh: MeshResource.generateBox(
    |                                `- warning: call to main actor-isolated static method 'generateBox(size:cornerRadius:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
262 |                 size: innerBoxSize,
263 |                 cornerRadius: cornerRadius
RealityFoundation.MeshResource:9:51: note: calls to static method 'generateBox(size:cornerRadius:)' from outside of its actor context are implicitly asynchronous
 7 |     @MainActor @preconcurrency public static func __load(named name: String, in bundle: Bundle? = nil) throws -> MeshResource
 8 |     @MainActor @preconcurrency public static func generateBox(size: Float, cornerRadius: Float = 0) -> MeshResource
 9 |     @MainActor @preconcurrency public static func generateBox(size: SIMD3<Float>, cornerRadius: Float = 0) -> MeshResource
   |                                                   `- note: calls to static method 'generateBox(size:cornerRadius:)' from outside of its actor context are implicitly asynchronous
10 |     @MainActor @preconcurrency public static func generateBox(width: Float, height: Float, depth: Float, cornerRadius: Float = 0, splitFaces: Bool = false) -> MeshResource
11 |     @MainActor @preconcurrency public static func generatePlane(width: Float, height: Float, cornerRadius: Float = 0) -> MeshResource
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:266:21: warning: main actor-isolated property 'position' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
248 |     }
249 |
250 |     func makeModels() {
    |          `- note: add '@MainActor' to make instance method 'makeModels()' part of global actor 'MainActor'
251 |         let buttonOuter = self.addModel(part: .base)
252 |         buttonOuter.model = ModelComponent(
    :
264 |             ), materials: []
265 |         )
266 |         buttonInner.position = self.buttonOutPos
    |                     `- warning: main actor-isolated property 'position' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
267 |         self.updateMaterials()
268 |         self.updateCollision()
RealityFoundation.HasTransform:7:43: note: mutation of this property is only permitted within the actor
 5 |     @MainActor @preconcurrency public func scale(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 6 |     @MainActor @preconcurrency public func setScale(_ scale: SIMD3<Float>, relativeTo referenceEntity: Entity?)
 7 |     @MainActor @preconcurrency public var position: SIMD3<Float> { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:275:20: warning: call to main actor-isolated instance method 'stopAllAnimations(recursive:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
268 |         self.updateCollision()
269 |     }
270 |     func compressButton() {
    |          `- note: add '@MainActor' to make instance method 'compressButton()' part of global actor 'MainActor'
271 |         guard let innerModel = self.getModel(part: .button) else {
272 |             return
273 |         }
274 |         self.isCompressed = true
275 |         innerModel.stopAllAnimations()
    |                    `- warning: call to main actor-isolated instance method 'stopAllAnimations(recursive:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
276 |         innerModel.move(
277 |             to: Transform(scale: .one, rotation: .init(angle: 0, axis: [0, 1, 0]), translation: self.buttonInPos),
RealityFoundation.Entity:8:44: note: calls to instance method 'stopAllAnimations(recursive:)' from outside of its actor context are implicitly asynchronous
6 |     @discardableResult
7 |     @MainActor @preconcurrency public func playAnimation(_ animation: AnimationResource, transitionDuration: TimeInterval, startsPaused: Bool) -> AnimationPlaybackController
8 |     @MainActor @preconcurrency public func stopAllAnimations(recursive: Bool = true)
  |                                            `- note: calls to instance method 'stopAllAnimations(recursive:)' from outside of its actor context are implicitly asynchronous
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:276:20: warning: call to main actor-isolated instance method 'move(to:relativeTo:duration:timingFunction:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
268 |         self.updateCollision()
269 |     }
270 |     func compressButton() {
    |          `- note: add '@MainActor' to make instance method 'compressButton()' part of global actor 'MainActor'
271 |         guard let innerModel = self.getModel(part: .button) else {
272 |             return
    :
274 |         self.isCompressed = true
275 |         innerModel.stopAllAnimations()
276 |         innerModel.move(
    |                    `- warning: call to main actor-isolated instance method 'move(to:relativeTo:duration:timingFunction:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
277 |             to: Transform(scale: .one, rotation: .init(angle: 0, axis: [0, 1, 0]), translation: self.buttonInPos),
278 |             relativeTo: self, duration: 0.15
RealityFoundation.HasTransform:29:44: note: calls to instance method 'move(to:relativeTo:duration:timingFunction:)' from outside of its actor context are implicitly asynchronous
27 |     @MainActor @preconcurrency public func move(to transform: float4x4, relativeTo referenceEntity: Entity?)
28 |     @discardableResult
29 |     @MainActor @preconcurrency public func move(to target: Transform, relativeTo referenceEntity: Entity?, duration: TimeInterval, timingFunction: AnimationTimingFunction = .default) -> AnimationPlaybackController
   |                                            `- note: calls to instance method 'move(to:relativeTo:duration:timingFunction:)' from outside of its actor context are implicitly asynchronous
30 |     @discardableResult
31 |     @MainActor @preconcurrency public func move(to target: float4x4, relativeTo referenceEntity: Entity?, duration: TimeInterval, timingFunction: AnimationTimingFunction = .default) -> AnimationPlaybackController
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:286:20: warning: call to main actor-isolated instance method 'stopAllAnimations(recursive:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
279 |         )
280 |     }
281 |     func releaseButton() {
    |          `- note: add '@MainActor' to make instance method 'releaseButton()' part of global actor 'MainActor'
282 |         guard let innerModel = self.getModel(part: .button) else {
283 |             return
284 |         }
285 |         self.isCompressed = false
286 |         innerModel.stopAllAnimations()
    |                    `- warning: call to main actor-isolated instance method 'stopAllAnimations(recursive:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
287 |         innerModel.move(
288 |             to: Transform(scale: .one, rotation: .init(angle: 0, axis: [0, 1, 0]), translation: self.buttonOutPos),
RealityFoundation.Entity:8:44: note: calls to instance method 'stopAllAnimations(recursive:)' from outside of its actor context are implicitly asynchronous
6 |     @discardableResult
7 |     @MainActor @preconcurrency public func playAnimation(_ animation: AnimationResource, transitionDuration: TimeInterval, startsPaused: Bool) -> AnimationPlaybackController
8 |     @MainActor @preconcurrency public func stopAllAnimations(recursive: Bool = true)
  |                                            `- note: calls to instance method 'stopAllAnimations(recursive:)' from outside of its actor context are implicitly asynchronous
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIButton.swift:287:20: warning: call to main actor-isolated instance method 'move(to:relativeTo:duration:timingFunction:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
279 |         )
280 |     }
281 |     func releaseButton() {
    |          `- note: add '@MainActor' to make instance method 'releaseButton()' part of global actor 'MainActor'
282 |         guard let innerModel = self.getModel(part: .button) else {
283 |             return
    :
285 |         self.isCompressed = false
286 |         innerModel.stopAllAnimations()
287 |         innerModel.move(
    |                    `- warning: call to main actor-isolated instance method 'move(to:relativeTo:duration:timingFunction:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 |             to: Transform(scale: .one, rotation: .init(angle: 0, axis: [0, 1, 0]), translation: self.buttonOutPos),
289 |             relativeTo: self, duration: 0.15
RealityFoundation.HasTransform:29:44: note: calls to instance method 'move(to:relativeTo:duration:timingFunction:)' from outside of its actor context are implicitly asynchronous
27 |     @MainActor @preconcurrency public func move(to transform: float4x4, relativeTo referenceEntity: Entity?)
28 |     @discardableResult
29 |     @MainActor @preconcurrency public func move(to target: Transform, relativeTo referenceEntity: Entity?, duration: TimeInterval, timingFunction: AnimationTimingFunction = .default) -> AnimationPlaybackController
   |                                            `- note: calls to instance method 'move(to:relativeTo:duration:timingFunction:)' from outside of its actor context are implicitly asynchronous
30 |     @discardableResult
31 |     @MainActor @preconcurrency public func move(to target: float4x4, relativeTo referenceEntity: Entity?, duration: TimeInterval, timingFunction: AnimationTimingFunction = .default) -> AnimationPlaybackController
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent+DragEvents.swift:29:31: warning: call to main actor-isolated instance method 'convert(position:from:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 23 |     ///   - origin: The original position of the entity.
 24 |     @discardableResult
 25 |     public func dragStarted(
    |                 `- note: add '@MainActor' to make instance method 'dragStarted(_:ray:)' part of global actor 'MainActor'
 26 |         _ entity: Entity, ray: (origin: SIMD3<Float>, direction: SIMD3<Float>)
 27 |     ) -> Bool {
 28 |         let worldPos = ray.origin + ray.direction
 29 |         let localPos = entity.convert(position: worldPos, from: nil)
    |                               `- warning: call to main actor-isolated instance method 'convert(position:from:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 30 |         var dist = simd_length(ray.direction)
 31 |         switch self.type {
RealityFoundation.HasTransform:15:44: note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
13 |     @MainActor @preconcurrency public func transformMatrix(relativeTo referenceEntity: Entity?) -> float4x4
14 |     @MainActor @preconcurrency public func setTransformMatrix(_ transform: float4x4, relativeTo referenceEntity: Entity?)
15 |     @MainActor @preconcurrency public func convert(position: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
   |                                            `- note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
16 |     @MainActor @preconcurrency public func convert(direction: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
17 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent+DragEvents.swift:61:34: warning: call to main actor-isolated instance method 'convert(position:from:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 53 |     ///   - ray: A tuple containing the origin and direction of the ray used in the drag interaction.
 54 |     ///   - hasCollided: A boolean indicating whether there has been a collision.
 55 |     public func dragUpdated(
    |                 `- note: add '@MainActor' to make instance method 'dragUpdated(_:ray:hasCollided:)' part of global actor 'MainActor'
 56 |         _ entity: Entity, ray: (origin: SIMD3<Float>, direction: SIMD3<Float>), hasCollided: Bool
 57 |     ) {
    :
 59 |         var newTouchPos: SIMD3<Float>?
 60 |         if let worldPos {
 61 |             newTouchPos = entity.convert(position: worldPos, from: nil)
    |                                  `- warning: call to main actor-isolated instance method 'convert(position:from:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 62 |         }
 63 |         var outputRay = ray
RealityFoundation.HasTransform:15:44: note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
13 |     @MainActor @preconcurrency public func transformMatrix(relativeTo referenceEntity: Entity?) -> float4x4
14 |     @MainActor @preconcurrency public func setTransformMatrix(_ transform: float4x4, relativeTo referenceEntity: Entity?)
15 |     @MainActor @preconcurrency public func convert(position: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
   |                                            `- note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
16 |     @MainActor @preconcurrency public func convert(direction: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
17 |     @MainActor @preconcurrency public func convert(normal: SIMD3<Float>, from referenceEntity: Entity?) -> SIMD3<Float>
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragComponent+DragEvents.swift:69:24: warning: main actor-isolated property 'position' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 53 |     ///   - ray: A tuple containing the origin and direction of the ray used in the drag interaction.
 54 |     ///   - hasCollided: A boolean indicating whether there has been a collision.
 55 |     public func dragUpdated(
    |                 `- note: add '@MainActor' to make instance method 'dragUpdated(_:ray:hasCollided:)' part of global actor 'MainActor'
 56 |         _ entity: Entity, ray: (origin: SIMD3<Float>, direction: SIMD3<Float>), hasCollided: Bool
 57 |     ) {
    :
 67 |         case .move(let poi, let len):
 68 |             if let newMovePos = RUIDragComponent.handleMoveState(entity, newTouchPos, poi) {
 69 |                 entity.position = newMovePos
    |                        `- warning: main actor-isolated property 'position' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 70 |             }
 71 |             if len != 0 {
RealityFoundation.HasTransform:7:43: note: mutation of this property is only permitted within the actor
 5 |     @MainActor @preconcurrency public func scale(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 6 |     @MainActor @preconcurrency public func setScale(_ scale: SIMD3<Float>, relativeTo referenceEntity: Entity?)
 7 |     @MainActor @preconcurrency public var position: SIMD3<Float> { get set }
   |                                           `- note: mutation of this property is only permitted within the actor
 8 |     @MainActor @preconcurrency public func position(relativeTo referenceEntity: Entity?) -> SIMD3<Float>
 9 |     @MainActor @preconcurrency public func setPosition(_ position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
[19/20] Compiling RealityUI RUITexture.swift
[20/20] Compiling RealityUI SwiftUI+RUIGestures.swift
Build complete! (23.55s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "RealityUI",
  "name" : "RealityUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "RealityUI",
      "targets" : [
        "RealityUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RealityUITests",
      "module_type" : "SwiftTarget",
      "name" : "RealityUITests",
      "path" : "Tests/RealityUITests",
      "sources" : [
        "RUIAnimationTests.swift",
        "RUIButtonTests.swift",
        "RUIDragButtonTests.swift",
        "RUIDragSliderTests.swift",
        "RUIGeometryTests.swift",
        "RUISliderTests.swift",
        "RUIStepperTests.swift",
        "RUISwitchTests.swift",
        "RUITextTests.swift",
        "RUITextureTests.swift",
        "RUITurnTests.swift",
        "RealityUIGeneralTests.swift",
        "RealityUIUtilityTests.swift"
      ],
      "target_dependencies" : [
        "RealityUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RealityUI",
      "module_type" : "SwiftTarget",
      "name" : "RealityUI",
      "path" : "Sources/RealityUI",
      "product_memberships" : [
        "RealityUI"
      ],
      "sources" : [
        "HasRUI.swift",
        "RUIAnimations.swift",
        "RUIButton.swift",
        "RUIDragComponent+DragEvents.swift",
        "RUIDragComponent.swift",
        "RUIDragDelegate.swift",
        "RUIDragGestureRecognizer+Mouse.swift",
        "RUIDragGestureRecognizer+Touch.swift",
        "RUIDragGestureRecognizer.swift",
        "RUISlider.swift",
        "RUIStepper.swift",
        "RUISwitch.swift",
        "RUITapComponent.swift",
        "RUIText.swift",
        "RUITexture.swift",
        "RealityUI.swift",
        "SwiftUI+RUIGestures.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/maxxfrazer/realityui/main
Repository:               maxxfrazer/RealityUI
Swift version used:       6.0
Target:                   RealityUI
Extracting symbol information for 'RealityUI'...
Finished extracting symbol information for 'RealityUI'. (7.00s)
Building documentation for 'RealityUI'...
warning: Parameter 'worldPos' not found in instance method declaration
  --> ../RUIDragComponent+DragEvents.swift:22:11-22:65
20 |     /// - Parameters:
21 |     ///   - entity: The entity involved in the drag interaction.
22 +     ///   - worldPos: The world position where the drag started.
   |           ╰─suggestion: Remove 'worldPos' parameter documentation
23 |     ///   - origin: The original position of the entity.
24 |     @discardableResult
warning: Parameter 'origin' not found in instance method declaration
  --> ../RUIDragComponent+DragEvents.swift:23:11-23:57
21 |     ///   - entity: The entity involved in the drag interaction.
22 |     ///   - worldPos: The world position where the drag started.
23 +     ///   - origin: The original position of the entity.
   |           ╰─suggestion: Remove 'origin' parameter documentation
24 |     @discardableResult
25 |     public func dragStarted(
warning: Parameter 'ray' is missing documentation
  --> ../RUIDragComponent+DragEvents.swift:23:57-23:57
21 |     ///   - entity: The entity involved in the drag interaction.
22 |     ///   - worldPos: The world position where the drag started.
23 +     ///   - origin: The original position of the entity.
   |                                                         ╰─suggestion: Document 'ray' parameter
24 |     @discardableResult
25 |     public func dragStarted(
warning: Parameter 'sliderUpdated' not found in initializer declaration
  --> ../RUISlider.swift:43:13-43:26
41 |     ///   - slider: Details about the slider to be set when initialized
42 |     ///   - rui: Details about the RealityUI Entity
43 +     ///   - sliderUpdated: callback function to receive updates on slider value changes.
   |             ╰─suggestion: Replace 'sliderUpdated' with 'sliderUpdateCallback'
44 |     required public init(
45 |         slider: SliderComponent? = nil, rui: RUIComponent? = nil,
warning: Parameter 'sliderUpdateCallback' is missing documentation
  --> ../RUISlider.swift:43:89-43:89
41 |     ///   - slider: Details about the slider to be set when initialized
42 |     ///   - rui: Details about the RealityUI Entity
43 +     ///   - sliderUpdated: callback function to receive updates on slider value changes.
   |                                                                                         ╰─suggestion: Document 'sliderUpdateCallback' parameter
44 |     required public init(
45 |         slider: SliderComponent? = nil, rui: RUIComponent? = nil,
warning: Parameter 'separatorTint' is missing documentation
   --> ../RUIStepper.swift:148:110-148:110
146 |     ///   - backgroundTint: Background color of the stepper, default `.windowBackgroundColor`
147 |     ///   - buttonTint: Color of the buttons inside a stepper, default `.systemBlue`.
    |           ╰─suggestion: Document 'separatorTint' parameter
148 +     ///   - secondaryTint: Color of the second button inside a stepper. If nil, then buttonTint will be used.
149 |     public init(
150 |         style: StepperComponent.Style = .minusPlus,
warning: 'init(button:RUI:updateCallback:)' doesn't exist at '/RealityUI/RUIButton'
  --> RUIButton.md:15:5-15:37
13 | - ``init()``
14 | - ``init(button:rui:touchUpInside:)``
15 + - ``init(button:RUI:updateCallback:)``
   |     ╰─suggestion: Replace 'init(button:RUI:updateCallback:)' with 'init(button:rui:touchUpInside:)'
16 |
17 | ### Button Action Callback
warning: 'Setup' is ambiguous at '/RealityUI'
 --> RUIControls.md:7:104-7:109
5 | ## Overview
6 |
7 + Look below to see how to add all the RUIControls to your RealityKit Scene. Make sure to check out <doc:Setup> before adding RUIControls; otherwise the touch gestures may not work.
  |                                                                                                             ├─suggestion: Insert 'anchor' for'Setup'
  |                                                                                                             ╰─suggestion: Insert 'article' for'Setup'
8 |
9 | ## Control Types
warning: 'touchState' doesn't exist at '/RealityUI/RUIDragComponent'
  --> RUIDragComponent.md:28:5-28:15
26 | - ``type``
27 | - ``delegate``
28 + - ``touchState``
29 |
30 | ### Drag Types
warning: 'init(textComponent:rui:)' doesn't exist at '/RealityUI/RUIText'
  --> RUIText.md:12:5-12:29
10 |
11 | - ``init(with:width:height:font:extrusion:color:)``
12 + - ``init(textComponent:rui:)``
   |     ╰─suggestion: Replace 'init(textComponent:rui:)' with 'init(textComponent:rui:tapAction:)'
13 | - ``init()``
14 |
warning: 'Setup' is ambiguous at '/RealityUI'
  --> RealityUI+Extension.md:13:8-13:13
11 | ### Setup
12 |
13 + - <doc:Setup>
   |             ├─suggestion: Insert 'anchor' for'Setup'
   |             ╰─suggestion: Insert 'article' for'Setup'
14 | - ``RealityUI/RealityUI/enableGestures(_:on:)``
15 | - ``RealityUI/RealityUI/registerComponents()``
warning: 'Setup' is ambiguous at '/RealityUI'
  --> RealityUI.md:18:8-18:13
16 | It's important to set up your RealityKit scene to work with RealityUI before moving on.
17 |
18 + - <doc:Setup>
   |             ├─suggestion: Insert 'anchor' for'Setup'
   |             ╰─suggestion: Insert 'article' for'Setup'
19 | - <doc:RealityUI/RealityUI>
20 |Finished building documentation for 'RealityUI' (0.29s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/maxxfrazer/realityui/main
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.41s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (2.54s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3153] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.25s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.64s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling Snippets SnippetParser.swift
[8/57] Compiling Snippets Snippet.swift
[9/57] Emitting module Snippets
[10/57] Compiling SymbolKit SourceRange.swift
[11/57] Compiling SymbolKit Metadata.swift
[12/57] Compiling SymbolKit Module.swift
[13/57] Compiling SymbolKit OperatingSystem.swift
[14/57] Compiling SymbolKit Platform.swift
[15/57] Compiling SymbolKit Names.swift
[16/57] Compiling SymbolKit SPI.swift
[17/57] Compiling SymbolKit Snippet.swift
[18/57] Compiling SymbolKit Extension.swift
[19/57] Compiling SymbolKit DeclarationFragments.swift
[20/57] Compiling SymbolKit Fragment.swift
[21/57] Compiling SymbolKit FragmentKind.swift
[22/57] Compiling SymbolKit FunctionParameter.swift
[23/57] Compiling SymbolKit FunctionSignature.swift
[24/57] Compiling SymbolKit Symbol.swift
[25/57] Compiling SymbolKit SymbolKind.swift
[26/57] Compiling SymbolKit SymbolGraph.swift
[27/57] Compiling SymbolKit GraphCollector.swift
[28/57] Compiling SymbolKit GenericConstraint.swift
[29/57] Compiling SymbolKit GenericParameter.swift
[30/57] Compiling SymbolKit Generics.swift
[31/57] Compiling SymbolKit Namespace.swift
[32/57] Compiling SymbolKit Identifier.swift
[33/57] Compiling SymbolKit KindIdentifier.swift
[34/57] Compiling SymbolKit Location.swift
[35/57] Compiling SymbolKit Mutability.swift
[36/57] Compiling SymbolKit Mixin+Equals.swift
[37/57] Compiling SymbolKit Mixin+Hash.swift
[38/57] Compiling SymbolKit Mixin.swift
[39/57] Compiling SymbolKit LineList.swift
[40/57] Compiling SymbolKit Position.swift
[41/57] Compiling SymbolKit Relationship.swift
[42/57] Compiling SymbolKit RelationshipKind.swift
[43/57] Compiling SymbolKit SourceOrigin.swift
[44/57] Compiling SymbolKit GenericConstraints.swift
[45/57] Compiling SymbolKit Swift.swift
[46/57] Compiling SymbolKit SemanticVersion.swift
[47/57] Compiling SymbolKit AccessControl.swift
[48/57] Compiling SymbolKit Availability.swift
[49/57] Compiling SymbolKit AvailabilityItem.swift
[50/57] Compiling SymbolKit Domain.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.45s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/18] Compiling RealityUI RUITexture.swift
[3/19] Compiling RealityUI RUITapComponent.swift
[4/19] Compiling RealityUI RUIText.swift
[5/19] Compiling RealityUI RealityUI.swift
[6/19] Compiling RealityUI RUIStepper.swift
[7/19] Compiling RealityUI RUISwitch.swift
[8/19] Compiling RealityUI RUIDragGestureRecognizer.swift
[9/19] Compiling RealityUI RUISlider.swift
[10/19] Compiling RealityUI RUIButton.swift
[11/19] Compiling RealityUI RUIDragComponent+DragEvents.swift
[12/19] Compiling RealityUI HasRUI.swift
[13/19] Compiling RealityUI RUIAnimations.swift
[14/19] Compiling RealityUI RUIDragGestureRecognizer+Mouse.swift
[15/19] Compiling RealityUI RUIDragGestureRecognizer+Touch.swift
[16/19] Emitting module RealityUI
[17/19] Compiling RealityUI RUIDragComponent.swift
[18/19] Compiling RealityUI RUIDragDelegate.swift
[19/19] Compiling RealityUI SwiftUI+RUIGestures.swift
Build of target: 'RealityUI' complete! (1.52s)
     802
8	/Users/admin/builder/spi-builder-workspace/.docs/maxxfrazer/realityui/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/maxxfrazer/realityui/main
File count: 802
Doc size:   8.0MB
Preparing doc bundle ...
Uploading prod-maxxfrazer-realityui-main-c52abb09.zip to s3://spi-docs-inbox/prod-maxxfrazer-realityui-main-c52abb09.zip
Copying... [11%]
Copying... [22%]
Copying... [31%]
Copying... [42%]
Copying... [51%]
Copying... [62%]
Copying... [70%]
Copying... [81%]
Copying... [90%]
Copying... [100%]
Done.