This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 Hamilton with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 8

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pducks32/Hamilton.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pducks32/Hamilton
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 6040c03 Merge pull request #2 from martin-key/master
Cloned https://github.com/pducks32/Hamilton.git
Revision (git rev-parse @):
6040c03390f5b998685e424fb0125ed79869729f
SUCCESS checkout https://github.com/pducks32/Hamilton.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/pducks32/Hamilton.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/15] Compiling Hamilton Vector3.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:12:23: warning: static property 'xAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public struct Vector3 : Vectorable {
    |               `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
 11 |     /// X Axis in 3D space
 12 |     public static let xAxis = Vector3(1, 0, 0)
    |                       |- warning: static property 'xAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'xAxis' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |     /// Y Axis in 3D space
 14 |     public static let yAxis = Vector3(0, 1, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:14:23: warning: static property 'yAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public struct Vector3 : Vectorable {
    |               `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
 11 |     /// X Axis in 3D space
 12 |     public static let xAxis = Vector3(1, 0, 0)
 13 |     /// Y Axis in 3D space
 14 |     public static let yAxis = Vector3(0, 1, 0)
    |                       |- warning: static property 'yAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'yAxis' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |     /// Z Axis in 3D space
 16 |     public static let zAxis = Vector3(0, 0, 1)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:16:23: warning: static property 'zAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public struct Vector3 : Vectorable {
    |               `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
 11 |     /// X Axis in 3D space
 12 |     public static let xAxis = Vector3(1, 0, 0)
    :
 14 |     public static let yAxis = Vector3(0, 1, 0)
 15 |     /// Z Axis in 3D space
 16 |     public static let zAxis = Vector3(0, 0, 1)
    |                       |- warning: static property 'zAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'zAxis' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// 3D origin
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:19:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public struct Vector3 : Vectorable {
    |               `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
 11 |     /// X Axis in 3D space
 12 |     public static let xAxis = Vector3(1, 0, 0)
    :
 17 |
 18 |     /// 3D origin
 19 |     public static let zero = Vector3(x: 0, y: 0, z: 0)
    |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     public typealias Size = ThreeDegreesOfFreedom
[4/15] Compiling Hamilton Vector2.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector2.swift:16:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector2' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public struct Vector2 : Vectorable {
   |               `- note: consider making struct 'Vector2' conform to the 'Sendable' protocol
11 |
12 |     public typealias Size = TwoDegreesOfFreedom
   :
14 |
15 |     /// 2D origin
16 |     public static let zero = Vector2(x: 0, y: 0)
   |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector2' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 |     /// First component of vector
[5/15] Compiling Hamilton Vectorable.swift
[6/15] Compiling Hamilton VectorableFormatter.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/VectorableFormatter.swift:24:23: warning: static property 'defaultNumberFormatter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
22 |     }
23 |
24 |     public static var defaultNumberFormatter : NumberFormatter = {
   |                       |- warning: static property 'defaultNumberFormatter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultNumberFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultNumberFormatter' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         let formatter = NumberFormatter()
26 |         formatter.maximumFractionDigits = 3
[7/16] Compiling Hamilton Vector4.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector4.swift:16:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector4' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 | /// W first 4 vector.
 11 | public struct Vector4 : Vectorable {
    |               `- note: consider making struct 'Vector4' conform to the 'Sendable' protocol
 12 |     public typealias Size = FourDegreesOfFreedom
 13 |     public typealias Component = Double
 14 |
 15 |     /// 4D origin
 16 |     public static let zero = Vector4(w: 0, x: 0, y: 0, z: 0)
    |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector4' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// First component of vector
[8/16] Compiling Hamilton Vectorable+SceneKit.swift
[9/16] Compiling Hamilton EulerAngles+Operators.swift
[10/16] Compiling Hamilton EulerAngles.swift
[11/16] Compiling Hamilton AngleConvertible.swift
[12/16] Compiling Hamilton EulerAngles+Equatable.swift
[13/16] Emitting module Hamilton
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:12:1: warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
 10 | import SceneKit
 11 |
 12 | extension GLKMatrix4 : CustomDebugStringConvertible {
    | |- warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 13 |     public var debugDescription: String {
 14 |         let topRow = GLKMatrix4GetRow(self, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:33:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
 27 | /// `Vectorable` however it is not a 4 vector and
 28 | /// there are some key differences.
 29 | public struct Quaternion : Vectorable {
    |               `- note: consider making struct 'Quaternion' conform to the 'Sendable' protocol
 30 |     public typealias Size = FourDegreesOfFreedom
 31 |     public typealias Component = Double
 32 |
 33 |     public static let identity = Quaternion(w: 1, x: 0, y: 0, z: 0)
    |                       |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     /// First component of quaternion
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/VectorableFormatter.swift:24:23: warning: static property 'defaultNumberFormatter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
22 |     }
23 |
24 |     public static var defaultNumberFormatter : NumberFormatter = {
   |                       |- warning: static property 'defaultNumberFormatter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultNumberFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultNumberFormatter' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         let formatter = NumberFormatter()
26 |         formatter.maximumFractionDigits = 3
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector2.swift:16:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector2' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | import Foundation
 9 |
10 | public struct Vector2 : Vectorable {
   |               `- note: consider making struct 'Vector2' conform to the 'Sendable' protocol
11 |
12 |     public typealias Size = TwoDegreesOfFreedom
   :
14 |
15 |     /// 2D origin
16 |     public static let zero = Vector2(x: 0, y: 0)
   |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector2' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 |     /// First component of vector
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:12:23: warning: static property 'xAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public struct Vector3 : Vectorable {
    |               `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
 11 |     /// X Axis in 3D space
 12 |     public static let xAxis = Vector3(1, 0, 0)
    |                       |- warning: static property 'xAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'xAxis' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |     /// Y Axis in 3D space
 14 |     public static let yAxis = Vector3(0, 1, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:14:23: warning: static property 'yAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public struct Vector3 : Vectorable {
    |               `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
 11 |     /// X Axis in 3D space
 12 |     public static let xAxis = Vector3(1, 0, 0)
 13 |     /// Y Axis in 3D space
 14 |     public static let yAxis = Vector3(0, 1, 0)
    |                       |- warning: static property 'yAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'yAxis' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |     /// Z Axis in 3D space
 16 |     public static let zAxis = Vector3(0, 0, 1)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:16:23: warning: static property 'zAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public struct Vector3 : Vectorable {
    |               `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
 11 |     /// X Axis in 3D space
 12 |     public static let xAxis = Vector3(1, 0, 0)
    :
 14 |     public static let yAxis = Vector3(0, 1, 0)
 15 |     /// Z Axis in 3D space
 16 |     public static let zAxis = Vector3(0, 0, 1)
    |                       |- warning: static property 'zAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'zAxis' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// 3D origin
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:19:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | import Foundation
  9 |
 10 | public struct Vector3 : Vectorable {
    |               `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
 11 |     /// X Axis in 3D space
 12 |     public static let xAxis = Vector3(1, 0, 0)
    :
 17 |
 18 |     /// 3D origin
 19 |     public static let zero = Vector3(x: 0, y: 0, z: 0)
    |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     public typealias Size = ThreeDegreesOfFreedom
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector4.swift:16:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector4' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 | /// W first 4 vector.
 11 | public struct Vector4 : Vectorable {
    |               `- note: consider making struct 'Vector4' conform to the 'Sendable' protocol
 12 |     public typealias Size = FourDegreesOfFreedom
 13 |     public typealias Component = Double
 14 |
 15 |     /// 4D origin
 16 |     public static let zero = Vector4(w: 0, x: 0, y: 0, z: 0)
    |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector4' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// First component of vector
[14/16] Compiling Hamilton Scalar.swift
[15/16] Compiling Hamilton Quaternion.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:12:1: warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
 10 | import SceneKit
 11 |
 12 | extension GLKMatrix4 : CustomDebugStringConvertible {
    | |- warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 13 |     public var debugDescription: String {
 14 |         let topRow = GLKMatrix4GetRow(self, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:33:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
 27 | /// `Vectorable` however it is not a 4 vector and
 28 | /// there are some key differences.
 29 | public struct Quaternion : Vectorable {
    |               `- note: consider making struct 'Quaternion' conform to the 'Sendable' protocol
 30 |     public typealias Size = FourDegreesOfFreedom
 31 |     public typealias Component = Double
 32 |
 33 |     public static let identity = Quaternion(w: 1, x: 0, y: 0, z: 0)
    |                       |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     /// First component of quaternion
[16/16] Compiling Hamilton Rotateable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:12:1: warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
 10 | import SceneKit
 11 |
 12 | extension GLKMatrix4 : CustomDebugStringConvertible {
    | |- warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 13 |     public var debugDescription: String {
 14 |         let topRow = GLKMatrix4GetRow(self, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:33:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
 27 | /// `Vectorable` however it is not a 4 vector and
 28 | /// there are some key differences.
 29 | public struct Quaternion : Vectorable {
    |               `- note: consider making struct 'Quaternion' conform to the 'Sendable' protocol
 30 |     public typealias Size = FourDegreesOfFreedom
 31 |     public typealias Component = Double
 32 |
 33 |     public static let identity = Quaternion(w: 1, x: 0, y: 0, z: 0)
    |                       |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |
 35 |     /// First component of quaternion
Build complete! (31.73s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Hamilton",
  "name" : "Hamilton",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    }
  ],
  "products" : [
    {
      "name" : "Hamilton",
      "targets" : [
        "Hamilton"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "HamiltonTests",
      "module_type" : "SwiftTarget",
      "name" : "HamiltonTests",
      "path" : "Tests/HamiltonTests",
      "sources" : [
        "Angles.swift",
        "EulerAnglesSystemConversionTests.swift",
        "HamiltonTests.swift",
        "Helpers.swift",
        "MatrixTests.swift",
        "Quaternion+EulerAnglesTests.swift",
        "QuaternionInitializers.swift",
        "QuaternionMultiplication.swift",
        "Vector2Arithmatic.swift",
        "Vector3Arithmatic.swift"
      ],
      "target_dependencies" : [
        "Hamilton"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Hamilton",
      "module_type" : "SwiftTarget",
      "name" : "Hamilton",
      "path" : "Sources/Hamilton",
      "product_memberships" : [
        "Hamilton"
      ],
      "sources" : [
        "AngleConvertible.swift",
        "EulerAngles/EulerAngles+Equatable.swift",
        "EulerAngles/EulerAngles+Operators.swift",
        "EulerAngles/EulerAngles.swift",
        "Quaternion.swift",
        "Rotateable.swift",
        "Scalar.swift",
        "SceneKitExtensions/Vectorable+SceneKit.swift",
        "Vectorable.swift",
        "VectorableFormatter.swift",
        "Vectors/Vector2.swift",
        "Vectors/Vector3.swift",
        "Vectors/Vector4.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.