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 1.5.1 (b359cb), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 03:21:45 UTC.

Swift 6 data race errors: 19

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/maxxfrazer/RealityUI.git
Reference: 1.5.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/maxxfrazer/RealityUI
 * tag               1.5.1      -> FETCH_HEAD
HEAD is now at b359cb4 Merge pull request #26 from maxxfrazer/visionos-readme
Cloned https://github.com/maxxfrazer/RealityUI.git
Revision (git rev-parse @):
b359cb4d0428ea75266929da710efb94a2ee7749
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/maxxfrazer/RealityUI.git at 1.5.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "realityui",
      "name": "RealityUI",
      "url": "https://github.com/maxxfrazer/RealityUI.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/RealityUI",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/maxxfrazer/RealityUI.git
[1/1344] Fetching realityui
Fetched https://github.com/maxxfrazer/RealityUI.git from cache (1.47s)
Creating working copy for https://github.com/maxxfrazer/RealityUI.git
Working copy of https://github.com/maxxfrazer/RealityUI.git resolved at 1.5.1 (b359cb4)
warning: '.resolve-product-dependencies': dependency 'realityui' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/maxxfrazer/RealityUI.git
https://github.com/maxxfrazer/RealityUI.git
{
  "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"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/19] Compiling RealityUI RUIDragGestureRecognizer+Mouse.swift
[4/19] Compiling RealityUI RUIDragGestureRecognizer+Touch.swift
[5/20] Compiling RealityUI RUIDragGestureRecognizer.swift
/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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 |     ///
[6/20] Compiling RealityUI RUISlider.swift
/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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 |     ///
[7/20] Compiling RealityUI HasRUI.swift
[8/20] Compiling RealityUI RUIAnimations.swift
[9/20] Compiling RealityUI SwiftUI+RUIGestures.swift
[10/20] Emitting module RealityUI
/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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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:82:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidStart:)' cannot be used to satisfy nonisolated requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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:82:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidStart:)' cannot be used to satisfy nonisolated requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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: add '@MainActor' to make static property 'longGestureMask' part of global actor 'MainActor'
    |                       `- 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: add '@MainActor' to make static property 'tapGestureMask' part of global actor 'MainActor'
    |                       `- 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: add '@MainActor' to make static property 'anims' part of global actor 'MainActor'
    |                         `- 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: add '@MainActor' to make static property 'tap' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'ruiDrag' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'longTouch' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'RUIComponents' part of global actor 'MainActor'
    |                       `- 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: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |
118 |     private override init() {
[11/20] Compiling RealityUI RUIButton.swift
/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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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/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.convert:2:40: note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
1 | protocol HasTransform {
2 | @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
3 |
/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.convert:2:40: note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
1 | protocol HasTransform {
2 | @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
3 |
/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.position:2:39: note: mutation of this property is only permitted within the actor
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var position: SIMD3<Float> { get set }}
  |                                       `- note: mutation of this property is only permitted within the actor
3 |
[12/20] Compiling RealityUI RUIDragComponent+DragEvents.swift
/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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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/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.convert:2:40: note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
1 | protocol HasTransform {
2 | @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
3 |
/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.convert:2:40: note: calls to instance method 'convert(position:from:)' from outside of its actor context are implicitly asynchronous
1 | protocol HasTransform {
2 | @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
3 |
/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.position:2:39: note: mutation of this property is only permitted within the actor
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var position: SIMD3<Float> { get set }}
  |                                       `- note: mutation of this property is only permitted within the actor
3 |
[13/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.convert:2:40: note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
1 | protocol HasTransform {
2 | @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
3 |
/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.parent:2:39: note: property declared here
1 | protocol HasHierarchy {
2 | @MainActor @preconcurrency public var parent: Entity? { get }}
  |                                       `- note: property declared here
3 |
/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.convert:2:40: note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
1 | protocol HasTransform {
2 | @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
3 |
/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.parent:2:39: note: property declared here
1 | protocol HasHierarchy {
2 | @MainActor @preconcurrency public var parent: Entity? { get }}
  |                                       `- note: property declared here
3 |
/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.components:2:39: note: property declared here
1 | class Entity {
2 | @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }}
  |                                       `- note: property declared here
3 |
/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.position:2:39: note: property declared here
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var position: SIMD3<Float> { get set }}
  |                                       `- note: property declared here
3 |
/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.orientation:2:39: note: mutation of this property is only permitted within the actor
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var orientation: simd_quatf { get set }}
  |                                       `- note: mutation of this property is only permitted within the actor
3 |
[14/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.convert:2:40: note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
1 | protocol HasTransform {
2 | @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
3 |
/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.parent:2:39: note: property declared here
1 | protocol HasHierarchy {
2 | @MainActor @preconcurrency public var parent: Entity? { get }}
  |                                       `- note: property declared here
3 |
/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.convert:2:40: note: calls to instance method 'convert(position:to:)' from outside of its actor context are implicitly asynchronous
1 | protocol HasTransform {
2 | @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
3 |
/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.parent:2:39: note: property declared here
1 | protocol HasHierarchy {
2 | @MainActor @preconcurrency public var parent: Entity? { get }}
  |                                       `- note: property declared here
3 |
/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.components:2:39: note: property declared here
1 | class Entity {
2 | @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }}
  |                                       `- note: property declared here
3 |
/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.position:2:39: note: property declared here
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var position: SIMD3<Float> { get set }}
  |                                       `- note: property declared here
3 |
/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.orientation:2:39: note: mutation of this property is only permitted within the actor
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var orientation: simd_quatf { get set }}
  |                                       `- note: mutation of this property is only permitted within the actor
3 |
[15/20] Compiling RealityUI RUITexture.swift
[16/20] Compiling RealityUI RUITapComponent.swift
[17/20] Compiling RealityUI RUIText.swift
[18/20] Compiling RealityUI RUIStepper.swift
/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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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:82:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidStart:)' cannot be used to satisfy nonisolated requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 |     ///
[19/20] Compiling RealityUI RUISwitch.swift
/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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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:82:17: warning: main actor-isolated instance method 'ruiDrag(_:dragDidStart:)' cannot be used to satisfy nonisolated requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 requirement from protocol 'RUIDragDelegate'; 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 |     ///
[20/20] Compiling RealityUI RealityUI.swift
/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: add '@MainActor' to make static property 'longGestureMask' part of global actor 'MainActor'
    |                       `- 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: add '@MainActor' to make static property 'tapGestureMask' part of global actor 'MainActor'
    |                       `- 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: add '@MainActor' to make static property 'anims' part of global actor 'MainActor'
    |                         `- 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: add '@MainActor' to make static property 'tap' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'ruiDrag' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'longTouch' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                           `- 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: add '@MainActor' to make static property 'RUIComponents' part of global actor 'MainActor'
    |                       `- 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: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |
118 |     private override init() {
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:142:31: warning: call to main actor-isolated initializer 'init(target:action:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
136 |         self.enabledGestures[arView]?.formUnion(newGestures)
137 |     }
138 |     private func addTap(to arView: ARView) {
    |                  `- note: add '@MainActor' to make instance method 'addTap(to:)' part of global actor 'MainActor'
139 |         #if os(iOS)
140 |         let addUITapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapReco))
141 |         #elseif os(macOS)
142 |         let addUITapGesture = NSClickGestureRecognizer(target: self, action: #selector(self.clickReco))
    |                               `- warning: call to main actor-isolated initializer 'init(target:action:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
143 |         #endif
144 |         arView.addGestureRecognizer(addUITapGesture)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGestureRecognizer.h:41:1: note: calls to initializer 'init(target:action:)' from outside of its actor context are implicitly asynchronous
 39 |      -(void)handleGesture:(NSGestureRecognizer*)gestureRecognizer;
 40 | */
 41 | - (instancetype)initWithTarget:(nullable id)target action:(nullable SEL)action NS_DESIGNATED_INITIALIZER;
    | |- note: calls to initializer 'init(target:action:)' from outside of its actor context are implicitly asynchronous
    | `- note: main actor isolation inferred from inheritance from class 'NSGestureRecognizer'
 42 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:144:16: warning: call to main actor-isolated instance method 'addGestureRecognizer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
136 |         self.enabledGestures[arView]?.formUnion(newGestures)
137 |     }
138 |     private func addTap(to arView: ARView) {
    |                  `- note: add '@MainActor' to make instance method 'addTap(to:)' part of global actor 'MainActor'
139 |         #if os(iOS)
140 |         let addUITapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapReco))
    :
142 |         let addUITapGesture = NSClickGestureRecognizer(target: self, action: #selector(self.clickReco))
143 |         #endif
144 |         arView.addGestureRecognizer(addUITapGesture)
    |                `- warning: call to main actor-isolated instance method 'addGestureRecognizer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
145 |         self.installedGestures[arView]?.append(addUITapGesture)
146 |     }
AppKit.NSView.addGestureRecognizer:3:24: note: calls to instance method 'addGestureRecognizer' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func addGestureRecognizer(_ gestureRecognizer: NSGestureRecognizer)}
  |                        |- note: calls to instance method 'addGestureRecognizer' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:148:27: warning: call to main actor-isolated initializer 'init(target:action:view:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
145 |         self.installedGestures[arView]?.append(addUITapGesture)
146 |     }
147 |     private func addDragGesture(to arView: ARView) {
    |                  `- note: add '@MainActor' to make instance method 'addDragGesture(to:)' part of global actor 'MainActor'
148 |         let dragGesture = RUIDragGestureRecognizer(
    |                           `- warning: call to main actor-isolated initializer 'init(target:action:view:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
149 |             target: self, action: #selector(self.arTouchReco),
150 |             view: arView
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RUIDragGestureRecognizer.swift:36:12: note: calls to initializer 'init(target:action:view:)' from outside of its actor context are implicitly asynchronous
34 |     var viewSubscriber: Cancellable?
35 |
36 |     public init(target: Any?, action: Selector?, view: ARView) {
   |            |- note: calls to initializer 'init(target:action:view:)' from outside of its actor context are implicitly asynchronous
   |            `- note: main actor isolation inferred from inheritance from class 'NSGestureRecognizer'
37 |         self.arView = view
38 |         super.init(target: target, action: action)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:152:16: warning: call to main actor-isolated instance method 'addGestureRecognizer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
145 |         self.installedGestures[arView]?.append(addUITapGesture)
146 |     }
147 |     private func addDragGesture(to arView: ARView) {
    |                  `- note: add '@MainActor' to make instance method 'addDragGesture(to:)' part of global actor 'MainActor'
148 |         let dragGesture = RUIDragGestureRecognizer(
149 |             target: self, action: #selector(self.arTouchReco),
150 |             view: arView
151 |         )
152 |         arView.addGestureRecognizer(dragGesture)
    |                `- warning: call to main actor-isolated instance method 'addGestureRecognizer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
153 |         self.installedGestures[arView]?.append(dragGesture)
154 |     }
AppKit.NSView.addGestureRecognizer:3:24: note: calls to instance method 'addGestureRecognizer' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func addGestureRecognizer(_ gestureRecognizer: NSGestureRecognizer)}
  |                        |- note: calls to instance method 'addGestureRecognizer' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:157:31: warning: call to main actor-isolated instance method 'hitTest(_:query:mask:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
154 |     }
155 |
156 |     internal func tapActionChecker(_ arView: ARView, _ tapInView: CGPoint) {
    |                   `- note: add '@MainActor' to make instance method 'tapActionChecker' part of global actor 'MainActor'
157 |         if let ccHit = arView.hitTest(tapInView, mask: RealityUI.tapGestureMask).first,
    |                               `- warning: call to main actor-isolated instance method 'hitTest(_:query:mask:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
158 |            let comp = ccHit.entity.components.get(RUITapComponent.self) {
159 |             // if the element has RUIComponent, and it has `ruiEnabled` set to false
RealityKit.ARView.hitTest:2:40: note: calls to instance method 'hitTest(_:query:mask:)' from outside of its actor context are implicitly asynchronous
1 | class ARView {
2 | @MainActor @preconcurrency public func hitTest(_ point: CGPoint, query: CollisionCastQueryType = .all, mask: CollisionGroup = .all) -> [CollisionCastHit]}
  |                                        `- note: calls to instance method 'hitTest(_:query:mask:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:158:47: warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
154 |     }
155 |
156 |     internal func tapActionChecker(_ arView: ARView, _ tapInView: CGPoint) {
    |                   `- note: add '@MainActor' to make instance method 'tapActionChecker' part of global actor 'MainActor'
157 |         if let ccHit = arView.hitTest(tapInView, mask: RealityUI.tapGestureMask).first,
158 |            let comp = ccHit.entity.components.get(RUITapComponent.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
159 |             // if the element has RUIComponent, and it has `ruiEnabled` set to false
160 |             if let ruiComp = ccHit.entity.components.get(RUIComponent.self), !ruiComp.ruiEnabled {
    :
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/RealityUI.swift:158:36: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
154 |     }
155 |
156 |     internal func tapActionChecker(_ arView: ARView, _ tapInView: CGPoint) {
    |                   `- note: add '@MainActor' to make instance method 'tapActionChecker' part of global actor 'MainActor'
157 |         if let ccHit = arView.hitTest(tapInView, mask: RealityUI.tapGestureMask).first,
158 |            let comp = ccHit.entity.components.get(RUITapComponent.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
159 |             // if the element has RUIComponent, and it has `ruiEnabled` set to false
160 |             if let ruiComp = ccHit.entity.components.get(RUIComponent.self), !ruiComp.ruiEnabled {
RealityFoundation.Entity.components:2:39: note: property declared here
1 | class Entity {
2 | @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:160:54: warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
154 |     }
155 |
156 |     internal func tapActionChecker(_ arView: ARView, _ tapInView: CGPoint) {
    |                   `- note: add '@MainActor' to make instance method 'tapActionChecker' part of global actor 'MainActor'
157 |         if let ccHit = arView.hitTest(tapInView, mask: RealityUI.tapGestureMask).first,
158 |            let comp = ccHit.entity.components.get(RUITapComponent.self) {
159 |             // if the element has RUIComponent, and it has `ruiEnabled` set to false
160 |             if let ruiComp = ccHit.entity.components.get(RUIComponent.self), !ruiComp.ruiEnabled {
    |                                                      `- warning: call to main actor-isolated instance method 'get' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
161 |                 return
162 |             }
    :
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/RealityUI.swift:160:43: warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
154 |     }
155 |
156 |     internal func tapActionChecker(_ arView: ARView, _ tapInView: CGPoint) {
    |                   `- note: add '@MainActor' to make instance method 'tapActionChecker' part of global actor 'MainActor'
157 |         if let ccHit = arView.hitTest(tapInView, mask: RealityUI.tapGestureMask).first,
158 |            let comp = ccHit.entity.components.get(RUITapComponent.self) {
159 |             // if the element has RUIComponent, and it has `ruiEnabled` set to false
160 |             if let ruiComp = ccHit.entity.components.get(RUIComponent.self), !ruiComp.ruiEnabled {
    |                                           `- warning: main actor-isolated property 'components' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
161 |                 return
162 |             }
RealityFoundation.Entity.components:2:39: note: property declared here
1 | class Entity {
2 | @MainActor @preconcurrency public var components: Entity.ComponentSet { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:172:35: warning: main actor-isolated property 'view' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
169 |
170 |     #if os(macOS)
171 |     @objc internal func clickReco(sender: NSGestureRecognizer) {
    |                         `- note: add '@MainActor' to make instance method 'clickReco(sender:)' part of global actor 'MainActor'
172 |         guard let arView = sender.view as? ARView else {
    |                                   `- warning: main actor-isolated property 'view' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
173 |             return
174 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGestureRecognizer.h:59:40: note: property declared here
 57 |    the view the gesture is attached to. set by adding the recognizer to a NSView using the addGestureRecognizer: method
 58 | */
 59 | @property (nullable, readonly) NSView *view;
    |                                        `- note: property declared here
 60 |
 61 | /* The pressure configuration the view should use when this recognizer is eligible for recognition. At any point in time during recognition the view's effective pressure configuration will be the most compatible configuration among the set of active recognizers. This property may be set at any time before or during recognition. If recognition fails, the effective configuration will revert to the view's -pressureConfiguration. */
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:175:32: warning: call to main actor-isolated instance method 'location(in:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
169 |
170 |     #if os(macOS)
171 |     @objc internal func clickReco(sender: NSGestureRecognizer) {
    |                         `- note: add '@MainActor' to make instance method 'clickReco(sender:)' part of global actor 'MainActor'
172 |         guard let arView = sender.view as? ARView else {
173 |             return
174 |         }
175 |         let tapInView = sender.location(in: arView)
    |                                `- warning: call to main actor-isolated instance method 'location(in:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
176 |         tapActionChecker(arView, tapInView)
177 |     }
AppKit.NSGestureRecognizer.location:2:22: note: calls to instance method 'location(in:)' from outside of its actor context are implicitly asynchronous
1 | class NSGestureRecognizer {
2 | @MainActor open func location(in view: NSView?) -> NSPoint}
  |                      `- note: calls to instance method 'location(in:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:142:31: warning: sending value of non-Sendable type 'RealityUI' risks causing data races; this is an error in the Swift 6 language mode
140 |         let addUITapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapReco))
141 |         #elseif os(macOS)
142 |         let addUITapGesture = NSClickGestureRecognizer(target: self, action: #selector(self.clickReco))
    |                               |- warning: sending value of non-Sendable type 'RealityUI' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending task-isolated value of non-Sendable type 'RealityUI' to main actor-isolated initializer 'init(target:action:)' risks causing races in between task-isolated and main actor-isolated uses
143 |         #endif
144 |         arView.addGestureRecognizer(addUITapGesture)
/Users/admin/builder/spi-builder-workspace/Sources/RealityUI/RealityUI.swift:148:27: warning: sending value of non-Sendable type 'RealityUI' risks causing data races; this is an error in the Swift 6 language mode
146 |     }
147 |     private func addDragGesture(to arView: ARView) {
148 |         let dragGesture = RUIDragGestureRecognizer(
    |                           |- warning: sending value of non-Sendable type 'RealityUI' risks causing data races; this is an error in the Swift 6 language mode
    |                           `- note: sending task-isolated value of non-Sendable type 'RealityUI' to main actor-isolated callee risks causing races in between task-isolated and main actor-isolated uses
149 |             target: self, action: #selector(self.arTouchReco),
150 |             view: arView
Build complete! (12.17s)
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/1.5.1
Repository:               maxxfrazer/RealityUI
Swift version used:       6.1
Target:                   RealityUI
Extracting symbol information for 'RealityUI'...
Finished extracting symbol information for 'RealityUI'. (6.33s)
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.32s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/maxxfrazer/realityui/1.5.1
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.46s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (1.14s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.72s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.35s)
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-2F0A5646E1D333AE.txt
[6/53] Compiling Snippets SnippetParser.swift
[7/53] Compiling SymbolKit GenericConstraint.swift
[8/53] Compiling SymbolKit GenericParameter.swift
[9/53] Compiling SymbolKit Generics.swift
[10/53] Compiling SymbolKit Namespace.swift
[11/57] Compiling SymbolKit Symbol.swift
[12/57] Compiling SymbolKit SymbolKind.swift
[13/57] Compiling SymbolKit SymbolGraph.swift
[14/57] Compiling SymbolKit GraphCollector.swift
[15/57] Compiling Snippets Snippet.swift
[16/57] Emitting module Snippets
[17/57] Compiling SymbolKit Mixin+Equals.swift
[18/57] Compiling SymbolKit Mixin+Hash.swift
[19/57] Compiling SymbolKit Mixin.swift
[20/57] Compiling SymbolKit LineList.swift
[21/57] Compiling SymbolKit Position.swift
[22/57] Emitting module SymbolKit
[23/57] Compiling SymbolKit Relationship.swift
[24/57] Compiling SymbolKit RelationshipKind.swift
[25/57] Compiling SymbolKit SourceOrigin.swift
[26/57] Compiling SymbolKit GenericConstraints.swift
[27/57] Compiling SymbolKit Swift.swift
[28/57] Compiling SymbolKit Identifier.swift
[29/57] Compiling SymbolKit KindIdentifier.swift
[30/57] Compiling SymbolKit Location.swift
[31/57] Compiling SymbolKit Mutability.swift
[32/57] Compiling SymbolKit Names.swift
[33/57] Compiling SymbolKit SPI.swift
[34/57] Compiling SymbolKit Snippet.swift
[35/57] Compiling SymbolKit Extension.swift
[36/57] Compiling SymbolKit SemanticVersion.swift
[37/57] Compiling SymbolKit AccessControl.swift
[38/57] Compiling SymbolKit Availability.swift
[39/57] Compiling SymbolKit AvailabilityItem.swift
[40/57] Compiling SymbolKit Domain.swift
[41/57] Compiling SymbolKit SourceRange.swift
[42/57] Compiling SymbolKit Metadata.swift
[43/57] Compiling SymbolKit Module.swift
[44/57] Compiling SymbolKit OperatingSystem.swift
[45/57] Compiling SymbolKit Platform.swift
[46/57] Compiling SymbolKit DeclarationFragments.swift
[47/57] Compiling SymbolKit Fragment.swift
[48/57] Compiling SymbolKit FragmentKind.swift
[49/57] Compiling SymbolKit FunctionParameter.swift
[50/57] Compiling SymbolKit FunctionSignature.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] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.06s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/18] Compiling RealityUI RUITexture.swift
[3/18] Compiling RealityUI RUITapComponent.swift
[4/18] Compiling RealityUI RUIText.swift
[5/18] Compiling RealityUI RealityUI.swift
[6/19] Compiling RealityUI RUIDragGestureRecognizer.swift
[7/19] Compiling RealityUI RUISlider.swift
[8/19] Compiling RealityUI RUIDragGestureRecognizer+Mouse.swift
[9/19] Compiling RealityUI RUIDragGestureRecognizer+Touch.swift
[10/19] Compiling RealityUI RUIDragComponent.swift
[11/19] Compiling RealityUI RUIDragDelegate.swift
[12/19] Compiling RealityUI RUIButton.swift
[13/19] Compiling RealityUI RUIDragComponent+DragEvents.swift
[14/19] Compiling RealityUI HasRUI.swift
[15/19] Compiling RealityUI RUIAnimations.swift
[16/19] Emitting module RealityUI
[17/19] Compiling RealityUI RUIStepper.swift
[18/19] Compiling RealityUI RUISwitch.swift
[19/19] Compiling RealityUI SwiftUI+RUIGestures.swift
Build of target: 'RealityUI' complete! (1.38s)
     802
8	/Users/admin/builder/spi-builder-workspace/.docs/maxxfrazer/realityui/1.5.1
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/maxxfrazer/realityui/1.5.1
File count: 802
Doc size:   8.0MB
Preparing doc bundle ...
Uploading prod-maxxfrazer-realityui-1.5.1-6d459c17.zip to s3://spi-docs-inbox/prod-maxxfrazer-realityui-1.5.1-6d459c17.zip
Copying... [11%]
Copying... [22%]
Copying... [31%]
Copying... [42%]
Copying... [51%]
Copying... [62%]
Copying... [71%]
Copying... [82%]
Copying... [91%]
Copying... [100%]
Done.