The Swift Package Index logo.Swift Package Index

Build Information

Failed to build JelloSwift, reference 0.16.0 (ce1dac), with Swift 6.4 for watchOS using Xcode 27.0 on 21 Sep 2026 04:25:39 UTC.

Build Command

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

Build Log

521 |             // either side intersect with and edges on bodyB.
522 |             var closestAway = JFloat.infinity
    |                               `- error: cannot find 'JFloat' in scope
523 |             var closestSame = JFloat.infinity
524 |
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:523:31: error: cannot find 'JFloat' in scope
521 |             // either side intersect with and edges on bodyB.
522 |             var closestAway = JFloat.infinity
523 |             var closestSame = JFloat.infinity
    |                               `- error: cannot find 'JFloat' in scope
524 |
525 |             var infoAway = BodyCollisionInformation(bodyA: bA, bodyApm: i, bodyB: bB)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:284:45: error: cannot find type 'JFloat' in scope
282 |
283 |     @inlinable
284 |     static public func %(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
285 |         return Vector2(x: lhs.x.truncatingRemainder(dividingBy: rhs),
286 |                        y: lhs.y.truncatingRemainder(dividingBy: rhs))
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:274:46: error: cannot find type 'JFloat' in scope
272 |
273 |     @inlinable
274 |     static public func % (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
275 |         return Vector3(
276 |             x: lhs.x.truncatingRemainder(dividingBy: rhs),
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:108:53: error: cannot find type 'JFloat' in scope
106 |     /// Returns the distance squared between this Vector2 and another Vector2
107 |     @inlinable
108 |     public func distanceSquared(to vec: Vector2) -> JFloat {
    |                                                     `- error: cannot find type 'JFloat' in scope
109 |         let d = self - vec
110 |
/Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift:39:31: error: cannot find type 'JFloat' in scope
37 |
38 |     /// The edge's length, squared
39 |     public var lengthSquared: JFloat = 0
   |                               `- error: cannot find type 'JFloat' in scope
40 |
41 |     public init() {
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:743:54: error: cannot find type 'JFloat' in scope
 741 |         to pt: Vector2,
 742 |         onEdge edgeNum: Int
 743 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                      `- error: cannot find type 'JFloat' in scope
 744 |         assert(pointMasses.count > 0)
 745 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:743:72: error: cannot find type 'JFloat' in scope
 741 |         to pt: Vector2,
 742 |         onEdge edgeNum: Int
 743 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                                        `- error: cannot find type 'JFloat' in scope
 744 |         assert(pointMasses.count > 0)
 745 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:221:59: error: cannot find type 'JFloat' in scope
219 |     /// See `Vector2.dot`
220 |     @inlinable
221 |     static public func •(lhs: Vector2, rhs: Vector2) -> JFloat {
    |                                                         `- error: cannot find type 'JFloat' in scope
222 |         return lhs.dot(rhs)
223 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:208:60: error: cannot find type 'JFloat' in scope
206 |     /// See `Vector3.dot`
207 |     @inlinable
208 |     static public func • (lhs: Vector3, rhs: Vector3) -> JFloat {
    |                                                          `- error: cannot find type 'JFloat' in scope
209 |         return lhs.dot(rhs)
210 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BodyCollisionInformation.swift:29:23: error: cannot find type 'JFloat' in scope
27 |     /// A value from 0 - 1 specifying at which point in the edge
28 |     /// bodyBpmA - bodyBpmB is the penetration occurring.
29 |     public var edgeD: JFloat = 0
   |                       `- error: cannot find type 'JFloat' in scope
30 |     /// Global normal for the collision. Always the penetrated edge's normal.
31 |     public var normal = Vector2.zero
/Users/admin/builder/spi-builder-workspace/Sources/BodyCollisionInformation.swift:34:29: error: cannot find type 'JFloat' in scope
32 |     /// Penetration distance.
33 |     /// Is the distance required to move bodyApm in order to solve the collision
34 |     public var penetration: JFloat = 0
   |                             `- error: cannot find type 'JFloat' in scope
35 |
36 |     /// Inits this collision information with no edge information.
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:609:52: error: binary operator '/' cannot be applied to operands of type 'Vector2' and 'Int'
607 |
608 |             // Velocity changes as a result of collision
609 |             let bVel = (B1.velocity + B2.velocity) / 2
    |                                                    |- error: binary operator '/' cannot be applied to operands of type 'Vector2' and 'Int'
    |                                                    `- note: overloads for '/' exist with these partially matching parameter lists: (Int, Int), (Vector2, Vector2)
610 |
611 |             let relVel = A.velocity - bVel
/Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift:31:110: error: cannot find type 'JFloat' in scope
29 |     }
30 |
31 |     func bodyCollision(_ info: BodyCollisionInformation, didExceedPenetrationThreshold penetrationThreshold: JFloat) {
   |                                                                                                              `- error: cannot find type 'JFloat' in scope
32 |
33 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:16:22: error: cannot find type 'JFloat' in scope
14 |     /// Values `< 0.2` usually cause inconsistency and instability in the
15 |     /// simulation
16 |     public var mass: JFloat = 1
   |                      `- error: cannot find type 'JFloat' in scope
17 |
18 |     /// The global position of the point, in world coordinates
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:635:24: error: cannot find type 'JFloat' in scope
633 |
634 |             // Amount to move each party of the collision
635 |             let Amove: JFloat
    |                        `- error: cannot find type 'JFloat' in scope
636 |             let Bmove: JFloat
637 |
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:636:24: error: cannot find type 'JFloat' in scope
634 |             // Amount to move each party of the collision
635 |             let Amove: JFloat
636 |             let Bmove: JFloat
    |                        `- error: cannot find type 'JFloat' in scope
637 |
638 |             // Static detection - when one of the parties is static, the other
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:663:31: error: cannot find type 'JFloat' in scope
661 |
662 |             if relDot <= 0.0001 && (A.mass.isFinite || b2MassSum.isFinite) {
663 |                 let AinvMass: JFloat = A.mass.isInfinite ? 0 : 1.0 / A.mass
    |                               `- error: cannot find type 'JFloat' in scope
664 |                 let BinvMass: JFloat = b2MassSum.isInfinite ? 0 : 1.0 / b2MassSum
665 |
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:664:31: error: cannot find type 'JFloat' in scope
662 |             if relDot <= 0.0001 && (A.mass.isFinite || b2MassSum.isFinite) {
663 |                 let AinvMass: JFloat = A.mass.isInfinite ? 0 : 1.0 / A.mass
664 |                 let BinvMass: JFloat = b2MassSum.isInfinite ? 0 : 1.0 / b2MassSum
    |                               `- error: cannot find type 'JFloat' in scope
665 |
666 |                 let jDenom: JFloat = AinvMass + BinvMass
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:666:29: error: cannot find type 'JFloat' in scope
664 |                 let BinvMass: JFloat = b2MassSum.isInfinite ? 0 : 1.0 / b2MassSum
665 |
666 |                 let jDenom: JFloat = AinvMass + BinvMass
    |                             `- error: cannot find type 'JFloat' in scope
667 |                 let elas: JFloat = 1 + material.elasticity
668 |
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:667:27: error: cannot find type 'JFloat' in scope
665 |
666 |                 let jDenom: JFloat = AinvMass + BinvMass
667 |                 let elas: JFloat = 1 + material.elasticity
    |                           `- error: cannot find type 'JFloat' in scope
668 |
669 |                 let j: JFloat = -((relVel * elas) • info.normal) / jDenom
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:667:38: error: no '+' candidates produce the expected contextual result type '_'
665 |
666 |                 let jDenom: JFloat = AinvMass + BinvMass
667 |                 let elas: JFloat = 1 + material.elasticity
    |                                      `- error: no '+' candidates produce the expected contextual result type '_'
668 |
669 |                 let j: JFloat = -((relVel * elas) • info.normal) / jDenom
Swift.AdditiveArithmetic.+:2:13: note: '+' produces '_', not the expected contextual result type '_'
1 | protocol AdditiveArithmetic {
2 | static func + (lhs: Self, rhs: Self) -> Self}
  |             |- note: '+' produces '_', not the expected contextual result type '_'
  |             |- note: '+' produces 'Self', not the expected contextual result type '_'
  |             `- note: '+' produces 'Int', not the expected contextual result type '_'
3 |
Swift.BinaryInteger.+:2:22: note: '+' produces '_', not the expected contextual result type '_'
1 | protocol BinaryInteger {
2 | override static func + (lhs: Self, rhs: Self) -> Self}
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      `- note: '+' produces 'Int', not the expected contextual result type '_'
3 |
Swift.Strideable.+:2:20: note: '+' produces '_', not the expected contextual result type '_'
1 | protocol Strideable {
2 | public static func + (lhs: Self.Stride, rhs: Self) -> Self}
  |                    |- note: '+' produces '_', not the expected contextual result type '_'
  |                    `- note: '+' produces 'Self', not the expected contextual result type '_'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:669:24: error: cannot find type 'JFloat' in scope
667 |                 let elas: JFloat = 1 + material.elasticity
668 |
669 |                 let j: JFloat = -((relVel * elas) • info.normal) / jDenom
    |                        `- error: cannot find type 'JFloat' in scope
670 |
671 |                 let tangent: Vector2 = info.normal.perpendicular()
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:673:31: error: cannot find type 'JFloat' in scope
671 |                 let tangent: Vector2 = info.normal.perpendicular()
672 |
673 |                 let friction: JFloat = material.friction
    |                               `- error: cannot find type 'JFloat' in scope
674 |                 let f: JFloat = (relVel • tangent) * friction / jDenom
675 |
/Users/admin/builder/spi-builder-workspace/Sources/World.swift:674:24: error: cannot find type 'JFloat' in scope
672 |
673 |                 let friction: JFloat = material.friction
674 |                 let f: JFloat = (relVel • tangent) * friction / jDenom
    |                        `- error: cannot find type 'JFloat' in scope
675 |
676 |                 if A.mass.isFinite {
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SpringBodyJoint.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SpringBodyJoint.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Utils.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Utils.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/World.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile World.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ JelloSwift (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64 (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-21 00:25:30.068 xcodebuild[656:4215] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64_32 Compiling\ InternalSpring.swift,\ JointLink.swift,\ BodyJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 Compiling\ PointMass.swift,\ RenderingSettings.swift,\ RestDistance.swift /Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift /Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift (in target 'JelloSwift' from project 'JelloSwift')
	Building workspace JelloSwift with scheme JelloSwift
(9 failures)
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
  JelloSwift: /Users/admin/builder/spi-builder-workspace
resolved source packages: JelloSwift
2026-09-21 00:25:36.030 xcodebuild[733:4543] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "JelloSwift",
  "name" : "JelloSwift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "JelloSwift",
      "targets" : [
        "JelloSwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "JelloSwiftTests",
      "module_type" : "SwiftTarget",
      "name" : "JelloSwiftTests",
      "path" : "Tests/JelloSwiftTests",
      "sources" : [
        "BodyTests.swift",
        "Geometry/AABBTests.swift",
        "Geometry/ClosedShapeTests.swift",
        "Geometry/GeomUtilsTests.swift",
        "Geometry/Vector2Tests.swift",
        "JelloSwiftTests.swift",
        "PhysicsMathTest.swift",
        "PointMassTests.swift",
        "WorldTests.swift"
      ],
      "target_dependencies" : [
        "JelloSwift"
      ],
      "type" : "test"
    },
    {
      "c99name" : "JelloSwift",
      "module_type" : "SwiftTarget",
      "name" : "JelloSwift",
      "path" : "Sources",
      "product_memberships" : [
        "JelloSwift"
      ],
      "sources" : [
        "Bitmask.swift",
        "Body.swift",
        "BodyCollisionInformation.swift",
        "BodyComponent.swift",
        "BodyEdge.swift",
        "BodyJoint.swift",
        "CollisionObserver.swift",
        "Components/GravityComponent.swift",
        "Components/PressureComponent.swift",
        "Components/ShapeMatchComponent.swift",
        "Components/SpringComponent.swift",
        "Geometry/AABB.swift",
        "Geometry/ClosedShape.swift",
        "Geometry/GeomUtils.swift",
        "Geometry/JFloat.swift",
        "Geometry/Matrix3x3.swift",
        "Geometry/Vector2.swift",
        "Geometry/Vector3.swift",
        "Geometry/VectorRepresentable.swift",
        "InternalSpring.swift",
        "JointLink.swift",
        "JointLinks/BodyJointLink.swift",
        "JointLinks/EdgeJointLink.swift",
        "JointLinks/PointJointLink.swift",
        "JointLinks/ShapeJointLink.swift",
        "JointLinks/WeightedShapeJointLink.swift",
        "MaterialPair.swift",
        "PhysicsUtils.swift",
        "PointMass.swift",
        "RenderingSettings.swift",
        "RestDistance.swift",
        "SpringBodyJoint.swift",
        "Utils.swift",
        "World.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
{
  "workspace" : {
    "name" : "JelloSwift",
    "schemes" : [
      "JelloSwift"
    ]
  }
}
2026-09-21 00:25:37.269 xcodebuild[741:4611] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme JelloSwift -destination generic/platform=watchOS
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme JelloSwift -destination generic/platform=watchOS
Resolve Package Graph
Resolved source packages:
  JelloSwift: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
    Target 'JelloSwift-product' in project 'JelloSwift'
        ➜ Explicit dependency on target 'JelloSwift' in project 'JelloSwift'
    Target 'JelloSwift' in project 'JelloSwift' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
SwiftDriver JelloSwift normal arm64_32 com.apple.xcode.tools.swift.compiler (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name JelloSwift -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64_32-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftDriver JelloSwift normal arm64 com.apple.xcode.tools.swift.compiler (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name JelloSwift -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ JelloSwift (in target 'JelloSwift' from project 'JelloSwift')
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:269:45: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func -(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
270 |         return Vector2(x: lhs.x - rhs, y: lhs.y - rhs)
271 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:259:46: error: cannot find type 'JFloat' in scope
257 |
258 |     @inlinable
259 |     static public func - (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
260 |         return Vector3(x: lhs.x - rhs, y: lhs.y - rhs, z: lhs.z - rhs)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:5:31: error: cannot find type 'JFloat' in scope
  3 | /// Plain 3-row 3-column Matrix with real components.
  4 | public struct Matrix3x3: CustomStringConvertible {
  5 |     public typealias Scalar = JFloat
    |                               `- error: cannot find type 'JFloat' in scope
  6 |
  7 |     /// Returns a 3x3 [identity matrix].
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:28:19: error: cannot find type 'JFloat' in scope
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:31:19: error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 32 |
 33 |     /// Returns the angle in radians of this Vector2
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:93:24: error: cannot find type 'JFloat' in scope
 91 |     /// Inits a vector 2 with X and Y defined as a given float
 92 |     @inlinable
 93 |     public init(value: JFloat) {
    |                        `- error: cannot find type 'JFloat' in scope
 94 |         x = value
 95 |         y = value
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:50:28: error: cannot find type 'JFloat' in scope
  48 |     /// 1 never decelerates. Values outside the range [0, 1] inclusive may
  49 |     /// introduce instability
  50 |     public var velDamping: JFloat = 0.999
     |                            `- error: cannot find type 'JFloat' in scope
  51 |
  52 |     /// The array of body components for this body object
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:63:47: error: cannot find type 'JFloat' in scope
  61 |
  62 |     /// The derived rotation of the body, in radians
  63 |     public fileprivate(set) var derivedAngle: JFloat = 0
     |                                               `- error: cannot find type 'JFloat' in scope
  64 |
  65 |     /// Omega (ω) is the relative angular speed of the body, in radians/s
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:66:47: error: cannot find type 'JFloat' in scope
  64 |
  65 |     /// Omega (ω) is the relative angular speed of the body, in radians/s
  66 |     public fileprivate(set) var derivedOmega: JFloat = 0
     |                                               `- error: cannot find type 'JFloat' in scope
  67 |
  68 |     // Utilize to calculate the omega for the body
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:69:32: error: cannot find type 'JFloat' in scope
  67 |
  68 |     // Utilize to calculate the omega for the body
  69 |     fileprivate var lastAngle: JFloat = 0
     |                                `- error: cannot find type 'JFloat' in scope
  70 |
  71 |     /// Gets a list of vertices that represents the current position of each
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:143:23: error: cannot find type 'JFloat' in scope
 141 |         world: World? = nil,
 142 |         shape: ClosedShape,
 143 |         pointMasses: [JFloat] = [1],
     |                       `- error: cannot find type 'JFloat' in scope
 144 |         position: Vector2 = Vector2.zero,
 145 |         angle: JFloat = 0,
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:145:16: error: cannot find type 'JFloat' in scope
 143 |         pointMasses: [JFloat] = [1],
 144 |         position: Vector2 = Vector2.zero,
 145 |         angle: JFloat = 0,
     |                `- error: cannot find type 'JFloat' in scope
 146 |         scale: Vector2 = Vector2.unit,
 147 |         kinematic: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:305:39: error: cannot find type 'JFloat' in scope
 303 |     /// - parameter forceUpdate:
 304 |     ///     Whether to force the update of the body, even if it's a static body.
 305 |     public func updateAABB(_ elapsed: JFloat, forceUpdate: Bool) {
     |                                       `- error: cannot find type 'JFloat' in scope
 306 |         guard !isStatic || forceUpdate else {
 307 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:361:36: error: cannot find type 'JFloat' in scope
 359 |
 360 |     /// Sets the mass for all the PointMass objects in this body.
 361 |     public func setMassAll(_ mass: JFloat) {
     |                                    `- error: cannot find type 'JFloat' in scope
 362 |         for i in 0..<pointMasses.count {
 363 |             pointMasses[i].mass = mass
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:370:63: error: cannot find type 'JFloat' in scope
 368 |
 369 |     /// Sets the mass for a single PointMass individually.
 370 |     public func setMassForPointMass(atIndex index: Int, mass: JFloat) {
     |                                                               `- error: cannot find type 'JFloat' in scope
 371 |         pointMasses[index].mass = mass
 372 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:381:43: error: cannot find type 'JFloat' in scope
 379 |     /// sets up to the count of masses in the array, if larger, it sets the
 380 |     /// matching masses for all point masses, and ignores the rest of the array.
 381 |     public func setMass(fromList masses: [JFloat]) {
     |                                           `- error: cannot find type 'JFloat' in scope
 382 |         for (mass, i) in zip(masses, 0..<pointMasses.count) {
 383 |             pointMasses[i].mass = mass
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:394:57: error: cannot find type 'JFloat' in scope
 392 |     /// Setting the position and angle resets the current shape to the original
 393 |     /// base shape of the object.
 394 |     public func setPositionAngle(_ pos: Vector2, angle: JFloat, scale: Vector2) {
     |                                                         `- error: cannot find type 'JFloat' in scope
 395 |         let matrix = Vector2.matrix(scalingBy: scale, rotatingBy: angle, translatingBy: pos)
 396 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:424:51: error: cannot find type 'JFloat' in scope
 422 |     /// call this. Instead you can just access the `derivedPosition`, `DerivedAngle`,
 423 |     /// `derivedVelocity`, and `derivedOmega` properties.
 424 |     public func derivePositionAndAngle(_ elapsed: JFloat) {
     |                                                   `- error: cannot find type 'JFloat' in scope
 425 |         // No need if this is a static body, or kinematically controlled.
 426 |         if isStatic || isKinematic {
SwiftCompile normal arm64_32 (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:522:38: error: cannot find type 'JFloat' in scope
 520 |     /// Integrates the point masses for this Body.
 521 |     /// Ignored, if body is static.
 522 |     public func integrate(_ elapsed: JFloat) {
     |                                      `- error: cannot find type 'JFloat' in scope
 523 |         if isStatic {
 524 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:536:43: error: cannot find type 'JFloat' in scope
 534 |     /// Applies the velocity damping to the point masses.
 535 |     /// Ignored, if body is static.
 536 |     public func dampenVelocity(_ elapsed: JFloat) {
     |                                           `- error: cannot find type 'JFloat' in scope
 537 |         if isStatic {
 538 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:550:39: error: cannot find type 'JFloat' in scope
 548 |     /// Applies a rotational clockwise torque of a given force on this body.
 549 |     /// Ignored, if body is static.
 550 |     public func applyTorque(of force: JFloat) {
     |                                       `- error: cannot find type 'JFloat' in scope
 551 |         if isStatic {
 552 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:569:43: error: cannot find type 'JFloat' in scope
 567 |     /// The method keeps the average velocity of the point masses the same during
 568 |     /// the procedure.
 569 |     public func setAngularVelocity(_ vel: JFloat) {
     |                                           `- error: cannot find type 'JFloat' in scope
 570 |         if isStatic {
 571 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:583:43: error: cannot find type 'JFloat' in scope
 581 |
 582 |     /// Accumulates the angular velocity for this body
 583 |     public func addAngularVelocity(_ vel: JFloat) {
     |                                           `- error: cannot find type 'JFloat' in scope
 584 |         if isStatic {
 585 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:743:54: error: cannot find type 'JFloat' in scope
 741 |         to pt: Vector2,
 742 |         onEdge edgeNum: Int
 743 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                      `- error: cannot find type 'JFloat' in scope
 744 |         assert(pointMasses.count > 0)
 745 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:743:72: error: cannot find type 'JFloat' in scope
 741 |         to pt: Vector2,
 742 |         onEdge edgeNum: Int
 743 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                                        `- error: cannot find type 'JFloat' in scope
 744 |         assert(pointMasses.count > 0)
 745 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:810:54: error: cannot find type 'JFloat' in scope
 808 |         to pt: Vector2,
 809 |         onEdge edgeNum: Int
 810 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                      `- error: cannot find type 'JFloat' in scope
 811 |         let result = closestPointSquared(to: pt, onEdge: edgeNum)
 812 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:810:72: error: cannot find type 'JFloat' in scope
 808 |         to pt: Vector2,
 809 |         onEdge edgeNum: Int
 810 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                                        `- error: cannot find type 'JFloat' in scope
 811 |         let result = closestPointSquared(to: pt, onEdge: edgeNum)
 812 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:835:80: error: cannot find type 'JFloat' in scope
 833 |     public func closestPoint(
 834 |         to pt: Vector2
 835 |     ) -> (hitPoint: Vector2, normal: Vector2, pointA: Int, pointB: Int, edgeD: JFloat, distance: JFloat) {
     |                                                                                `- error: cannot find type 'JFloat' in scope
 836 |         assert(pointMasses.count > 0)
 837 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:835:98: error: cannot find type 'JFloat' in scope
 833 |     public func closestPoint(
 834 |         to pt: Vector2
 835 |     ) -> (hitPoint: Vector2, normal: Vector2, pointA: Int, pointB: Int, edgeD: JFloat, distance: JFloat) {
     |                                                                                                  `- error: cannot find type 'JFloat' in scope
 836 |         assert(pointMasses.count > 0)
 837 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:891:45: error: cannot find type 'JFloat' in scope
 889 |         to pt: Vector2,
 890 |         withTolerance tolerance: JFloat = JFloat.infinity
 891 |     ) -> (edgePosition: Vector2, edgeRatio: JFloat, edgePoint1: Int, edgePoint2: Int)? {
     |                                             `- error: cannot find type 'JFloat' in scope
 892 |         if edges.count == 0 || pointMasses.count == 0 {
 893 |             return nil
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:890:34: error: cannot find type 'JFloat' in scope
 888 |     public func closestEdge(
 889 |         to pt: Vector2,
 890 |         withTolerance tolerance: JFloat = JFloat.infinity
     |                                  `- error: cannot find type 'JFloat' in scope
 891 |     ) -> (edgePosition: Vector2, edgeRatio: JFloat, edgePoint1: Int, edgePoint2: Int)? {
 892 |         if edges.count == 0 || pointMasses.count == 0 {
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:936:77: error: cannot find type 'JFloat' in scope
 934 |     /// Find the closest PointMass index in this body, given a global point
 935 |     /// - precondition: There is at least one point mass in this body
 936 |     public func closestPointMass(to pos: Vector2) -> (point: Int, distance: JFloat) {
     |                                                                             `- error: cannot find type 'JFloat' in scope
 937 |         assert(pointMasses.count > 0)
 938 |
/Users/admin/builder/spi-builder-workspace/Sources/BodyCollisionInformation.swift:29:23: error: cannot find type 'JFloat' in scope
27 |     /// A value from 0 - 1 specifying at which point in the edge
28 |     /// bodyBpmA - bodyBpmB is the penetration occurring.
29 |     public var edgeD: JFloat = 0
   |                       `- error: cannot find type 'JFloat' in scope
30 |     /// Global normal for the collision. Always the penetrated edge's normal.
31 |     public var normal = Vector2.zero
/Users/admin/builder/spi-builder-workspace/Sources/BodyCollisionInformation.swift:34:29: error: cannot find type 'JFloat' in scope
32 |     /// Penetration distance.
33 |     /// Is the distance required to move bodyApm in order to solve the collision
34 |     public var penetration: JFloat = 0
   |                             `- error: cannot find type 'JFloat' in scope
35 |
36 |     /// Inits this collision information with no edge information.
/Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift:36:24: error: cannot find type 'JFloat' in scope
34 |
35 |     /// The edge's length
36 |     public var length: JFloat = 0
   |                        `- error: cannot find type 'JFloat' in scope
37 |
38 |     /// The edge's length, squared
SwiftCompile normal arm64_32 Compiling\ Vector2.swift,\ Vector3.swift,\ VectorRepresentable.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/VectorRepresentable.swift (in target 'JelloSwift' from project 'JelloSwift')
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:28:19: error: cannot find type 'JFloat' in scope
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:31:19: error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 32 |
 33 |     /// Returns the angle in radians of this Vector2
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:93:24: error: cannot find type 'JFloat' in scope
 91 |     /// Inits a vector 2 with X and Y defined as a given float
 92 |     @inlinable
 93 |     public init(value: JFloat) {
    |                        `- error: cannot find type 'JFloat' in scope
 94 |         x = value
 95 |         y = value
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:35:23: error: cannot find type 'JFloat' in scope
 33 |     /// Returns the angle in radians of this Vector2
 34 |     @inlinable
 35 |     public var angle: JFloat {
    |                       `- error: cannot find type 'JFloat' in scope
 36 |         return atan2(y, x)
 37 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:41:24: error: cannot find type 'JFloat' in scope
 39 |     /// Returns the squared length of this Vector2
 40 |     @inlinable
 41 |     public var length: JFloat {
    |                        `- error: cannot find type 'JFloat' in scope
 42 |         return x * x + y * y
 43 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:48:27: error: cannot find type 'JFloat' in scope
 46 |     /// Vector2
 47 |     @inlinable
 48 |     public var magnitude: JFloat {
    |                           `- error: cannot find type 'JFloat' in scope
 49 |         return sqrt(length)
 50 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:100:46: error: cannot find type 'JFloat' in scope
 98 |     /// Returns the distance between this Vector2 and another Vector2
 99 |     @inlinable
100 |     public func distance(to vec: Vector2) -> JFloat {
    |                                              `- error: cannot find type 'JFloat' in scope
101 |         let d = self - vec
102 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:108:53: error: cannot find type 'JFloat' in scope
106 |     /// Returns the distance squared between this Vector2 and another Vector2
107 |     @inlinable
108 |     public func distanceSquared(to vec: Vector2) -> JFloat {
    |                                                     `- error: cannot find type 'JFloat' in scope
109 |         let d = self - vec
110 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:5:31: error: cannot find type 'JFloat' in scope
  3 | /// Plain 3-row 3-column Matrix with real components.
  4 | public struct Matrix3x3: CustomStringConvertible {
  5 |     public typealias Scalar = JFloat
    |                               `- error: cannot find type 'JFloat' in scope
  6 |
  7 |     /// Returns a 3x3 [identity matrix].
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Encodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Encodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Encodable.encode:2:6: note: protocol requires function 'encode(to:)' with type 'Encodable'
1 | protocol Encodable {
2 | func encode(to encoder: any Encoder) throws}
  |      `- note: protocol requires function 'encode(to:)' with type 'Encodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:154:42: error: cannot find type 'JFloat' in scope
152 |     /// Calculates the dot product between this and another provided Vector2
153 |     @inlinable
154 |     public func dot(_ other: Vector2) -> JFloat {
    |                                          `- error: cannot find type 'JFloat' in scope
155 |         return (x * other.x) + (y * other.y)
156 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:163:44: error: cannot find type 'JFloat' in scope
161 |     /// the 'z' coordinate being 0.
162 |     @inlinable
163 |     public func cross(_ other: Vector2) -> JFloat {
    |                                            `- error: cannot find type 'JFloat' in scope
164 |         return (x * other.y) - (other.x * y)
165 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:221:59: error: cannot find type 'JFloat' in scope
219 |     /// See `Vector2.dot`
220 |     @inlinable
221 |     static public func •(lhs: Vector2, rhs: Vector2) -> JFloat {
    |                                                         `- error: cannot find type 'JFloat' in scope
222 |         return lhs.dot(rhs)
223 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:229:58: error: cannot find type 'JFloat' in scope
227 |     /// See `Vector2.cross`
228 |     @inlinable
229 |     static public func =/(lhs: Vector2, rhs: Vector2) -> JFloat {
    |                                                          `- error: cannot find type 'JFloat' in scope
230 |         return lhs.cross(rhs)
231 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:264:45: error: cannot find type 'JFloat' in scope
262 |     // JFloat interaction
263 |     @inlinable
264 |     static public func +(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
265 |         return Vector2(x: lhs.x + rhs, y: lhs.y + rhs)
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:269:45: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func -(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
270 |         return Vector2(x: lhs.x - rhs, y: lhs.y - rhs)
271 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:274:45: error: cannot find type 'JFloat' in scope
272 |
273 |     @inlinable
274 |     static public func *(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
275 |         return Vector2(x: lhs.x * rhs, y: lhs.y * rhs)
276 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:279:45: error: cannot find type 'JFloat' in scope
277 |
278 |     @inlinable
279 |     static public func /(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
280 |         return Vector2(x: lhs.x / rhs, y: lhs.y / rhs)
281 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:284:45: error: cannot find type 'JFloat' in scope
282 |
283 |     @inlinable
284 |     static public func %(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
285 |         return Vector2(x: lhs.x.truncatingRemainder(dividingBy: rhs),
286 |                        y: lhs.y.truncatingRemainder(dividingBy: rhs))
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:290:31: error: cannot find type 'JFloat' in scope
288 |
289 |     @inlinable
290 |     static public func /(lhs: JFloat, rhs: Vector2) -> Vector2 {
    |                               `- error: cannot find type 'JFloat' in scope
291 |         return Vector2(x: lhs / rhs.x, y: lhs / rhs.y)
292 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:316:52: error: cannot find type 'JFloat' in scope
314 |     // JFloat interaction
315 |     @inlinable
316 |     static public func +=(lhs: inout Vector2, rhs: JFloat) {
    |                                                    `- error: cannot find type 'JFloat' in scope
317 |         lhs = lhs + rhs
318 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:320:52: error: cannot find type 'JFloat' in scope
318 |     }
319 |     @inlinable
320 |     static public func -=(lhs: inout Vector2, rhs: JFloat) {
    |                                                    `- error: cannot find type 'JFloat' in scope
321 |         lhs = lhs - rhs
322 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:324:52: error: cannot find type 'JFloat' in scope
322 |     }
323 |     @inlinable
324 |     static public func *=(lhs: inout Vector2, rhs: JFloat) {
    |                                                    `- error: cannot find type 'JFloat' in scope
325 |         lhs = lhs * rhs
326 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:328:52: error: cannot find type 'JFloat' in scope
326 |     }
327 |     @inlinable
328 |     static public func /=(lhs: inout Vector2, rhs: JFloat) {
    |                                                    `- error: cannot find type 'JFloat' in scope
329 |         lhs = lhs / rhs
330 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:334:43: error: argument passed to call that takes no arguments
332 |
333 | @usableFromInline
334 | let _identityMatrix = Matrix3x3(diagonal: 1)
    |                                           `- error: argument passed to call that takes no arguments
335 |
336 | // MARK: Matrix-transformation
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:349:27: error: cannot find type 'JFloat' in scope
347 |     static public func matrix(
348 |         scalingBy scale: Vector2 = Vector2.unit,
349 |         rotatingBy angle: JFloat = 0,
    |                           `- error: cannot find type 'JFloat' in scope
350 |         translatingBy translate: Vector2 = Vector2.zero
351 |     ) -> Matrix3x3 {
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:405:44: error: cannot find type 'JFloat' in scope
403 |     /// angle in radians
404 |     @inlinable
405 |     public func rotated(by angleInRadians: JFloat) -> Vector2 {
    |                                            `- error: cannot find type 'JFloat' in scope
406 |         return Vector2.rotate(self, by: angleInRadians)
407 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:411:52: error: cannot find type 'JFloat' in scope
409 |     /// Rotates this vector around by a given angle in radians
410 |     @inlinable
411 |     public mutating func rotate(by angleInRadians: JFloat) -> Vector2 {
    |                                                    `- error: cannot find type 'JFloat' in scope
412 |         self = rotated(by: angleInRadians)
413 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:418:66: error: cannot find type 'JFloat' in scope
416 |     /// Rotates a given vector by an angle in radians
417 |     @inlinable
418 |     public static func rotate(_ vec: Vector2, by angleInRadians: JFloat) -> Vector2 {
    |                                                                  `- error: cannot find type 'JFloat' in scope
419 |         // Check if we have a 0º or 180º rotation - these we can figure out
420 |         // using conditionals to speedup common paths.
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:458:32: error: cannot find type 'JFloat' in scope
456 |     /// - Returns: A vector that lies within the line created by the two vectors.
457 |     @inlinable
458 |     public func ratio(_ ratio: JFloat, to other: Vector2) -> Vector2 {
    |                                `- error: cannot find type 'JFloat' in scope
459 |         return self + (other - self) * ratio
460 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:264:46: error: cannot find type 'JFloat' in scope
262 |
263 |     @inlinable
264 |     static public func * (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
265 |         return Vector3(x: lhs.x * rhs, y: lhs.y * rhs, z: lhs.z * rhs)
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:254:46: error: cannot find type 'JFloat' in scope
252 |     // JFloat interaction
253 |     @inlinable
254 |     static public func + (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
255 |         return Vector3(x: lhs.x + rhs, y: lhs.y + rhs, z: lhs.z + rhs)
256 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:73:18: error: cannot find 'JFloat' in scope
 71 |     @inlinable
 72 |     public init(x: Int, y: Int) {
 73 |         self.x = JFloat(x)
    |                  `- error: cannot find 'JFloat' in scope
 74 |         self.y = JFloat(y)
 75 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:74:18: error: cannot find 'JFloat' in scope
 72 |     public init(x: Int, y: Int) {
 73 |         self.x = JFloat(x)
 74 |         self.y = JFloat(y)
    |                  `- error: cannot find 'JFloat' in scope
 75 |     }
 76 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:80:18: error: cannot find 'JFloat' in scope
 78 |     @inlinable
 79 |     public init(x: Float, y: Float) {
 80 |         self.x = JFloat(x)
    |                  `- error: cannot find 'JFloat' in scope
 81 |         self.y = JFloat(y)
 82 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:81:18: error: cannot find 'JFloat' in scope
 79 |     public init(x: Float, y: Float) {
 80 |         self.x = JFloat(x)
 81 |         self.y = JFloat(y)
    |                  `- error: cannot find 'JFloat' in scope
 82 |     }
 83 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:87:18: error: cannot find 'JFloat' in scope
 85 |     @inlinable
 86 |     public init(x: Double, y: Double) {
 87 |         self.x = JFloat(x)
    |                  `- error: cannot find 'JFloat' in scope
 88 |         self.y = JFloat(y)
 89 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:88:18: error: cannot find 'JFloat' in scope
 86 |     public init(x: Double, y: Double) {
 87 |         self.x = JFloat(x)
 88 |         self.y = JFloat(y)
    |                  `- error: cannot find 'JFloat' in scope
 89 |     }
 90 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:259:46: error: cannot find type 'JFloat' in scope
257 |
258 |     @inlinable
259 |     static public func - (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
260 |         return Vector3(x: lhs.x - rhs, y: lhs.y - rhs, z: lhs.z - rhs)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:269:46: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func / (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
270 |         return Vector3(x: lhs.x / rhs, y: lhs.y / rhs, z: lhs.z / rhs)
271 |     }
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Vector2.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Vector3.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/VectorRepresentable.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile VectorRepresentable.swift
SwiftCompile normal arm64_32 Compiling\ InternalSpring.swift,\ JointLink.swift,\ BodyJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:44:26: error: cannot find type 'JFloat' in scope
 42 |     /// Rest distance of the spring, or the distance the spring tries to
 43 |     /// maintain
 44 |     public var distance: JFloat {
    |                          `- error: cannot find type 'JFloat' in scope
 45 |         get {
 46 |             return restDistance.maximumDistance
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:65:29: error: cannot find type 'JFloat' in scope
 63 |
 64 |     /// The spring coefficient
 65 |     public var coefficient: JFloat = 0
    |                             `- error: cannot find type 'JFloat' in scope
 66 |
 67 |     /// The spring damping
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:68:25: error: cannot find type 'JFloat' in scope
 66 |
 67 |     /// The spring damping
 68 |     public var damping: JFloat = 0
    |                         `- error: cannot find type 'JFloat' in scope
 69 |
 70 |     public init(
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:74:20: error: cannot find type 'JFloat' in scope
 72 |         _ pmB: Int,
 73 |         _ distance: RestDistance = 0,
 74 |         _ springK: JFloat,
    |                    `- error: cannot find type 'JFloat' in scope
 75 |         _ springD: JFloat,
 76 |         _ plasticity: SpringPlasticity? = nil
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:75:20: error: cannot find type 'JFloat' in scope
 73 |         _ distance: RestDistance = 0,
 74 |         _ springK: JFloat,
 75 |         _ springD: JFloat,
    |                    `- error: cannot find type 'JFloat' in scope
 76 |         _ plasticity: SpringPlasticity? = nil
 77 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:107:53: error: cannot find type 'JFloat' in scope
105 |     /// - Parameters:
106 |     ///   - distance: The current distance between the points
107 |     public mutating func updatePlasticity(distance: JFloat) {
    |                                                     `- error: cannot find type 'JFloat' in scope
108 |         guard let plasticity = plasticity else {
109 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:5:31: error: cannot find type 'JFloat' in scope
  3 | /// Plain 3-row 3-column Matrix with real components.
  4 | public struct Matrix3x3: CustomStringConvertible {
  5 |     public typealias Scalar = JFloat
    |                               `- error: cannot find type 'JFloat' in scope
  6 |
  7 |     /// Returns a 3x3 [identity matrix].
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:137:28: error: cannot find type 'JFloat' in scope
135 |     /// Ratio (of resting distance vs actual length) before plasticity starts
136 |     /// to change the resting length of the spring, deforming it permanently.
137 |     public var yieldRatio: JFloat = 0.3
    |                            `- error: cannot find type 'JFloat' in scope
138 |
139 |     /// Plasticity rate for the spring.
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:153:22: error: cannot find type 'JFloat' in scope
151 |     /// the resulting `R` would be `R = 10 + (0.5 * (15 - 10 - (0.3 * 10)))` ->
152 |     /// `R = 10 + 1` -> `R = 11`.
153 |     public var rate: JFloat = 0.5
    |                      `- error: cannot find type 'JFloat' in scope
154 |
155 |     /// A factor limit at which the plasticity stops affecting the rest length
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:161:23: error: cannot find type 'JFloat' in scope
159 |     /// the initial length), or `R < IL / limit`, the plasticity does not
160 |     /// take effect.
161 |     public var limit: JFloat = 2
    |                       `- error: cannot find type 'JFloat' in scope
162 |
163 |     public init(yieldRatio: JFloat = 0.3, rate: JFloat = 0.5, limit: JFloat = 2) {
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:15:16: error: cannot find type 'JFloat' in scope
 13 |
 14 |     /// Fixed distance
 15 |     case fixed(JFloat)
    |                `- error: cannot find type 'JFloat' in scope
 16 |
 17 |     /// Distance is ranged between a minimum and maximum value
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:18:22: error: cannot find type 'JFloat' in scope
 16 |
 17 |     /// Distance is ranged between a minimum and maximum value
 18 |     case ranged(min: JFloat, max: JFloat)
    |                      `- error: cannot find type 'JFloat' in scope
 19 |
 20 |     /// Returns the minimum distance for this rest distance.
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:18:35: error: cannot find type 'JFloat' in scope
 16 |
 17 |     /// Distance is ranged between a minimum and maximum value
 18 |     case ranged(min: JFloat, max: JFloat)
    |                                   `- error: cannot find type 'JFloat' in scope
 19 |
 20 |     /// Returns the minimum distance for this rest distance.
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:11:15: error: type 'InternalSpring' does not conform to protocol 'Encodable'
  9 | /// Represents an internal spring inside a soft body object, and keeps points
 10 | /// close together
 11 | public struct InternalSpring: Codable {
    |               `- error: type 'InternalSpring' does not conform to protocol 'Encodable'
 12 |
 13 |     /// First point-mass of the spring.
    :
 63 |
 64 |     /// The spring coefficient
 65 |     public var coefficient: JFloat = 0
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
 66 |
 67 |     /// The spring damping
 68 |     public var damping: JFloat = 0
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
 69 |
 70 |     public init(
Swift.Encodable.encode:2:6: note: protocol requires function 'encode(to:)' with type 'Encodable'
1 | protocol Encodable {
2 | func encode(to encoder: any Encoder) throws}
  |      `- note: protocol requires function 'encode(to:)' with type 'Encodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:134:15: error: type 'SpringPlasticity' does not conform to protocol 'Decodable'
132 | /// Plasticity permanently affects a spring's rest length by modifying it
133 | /// when its length is stretched beyond a certain limit.
134 | public struct SpringPlasticity: Codable {
    |               `- error: type 'SpringPlasticity' does not conform to protocol 'Decodable'
135 |     /// Ratio (of resting distance vs actual length) before plasticity starts
136 |     /// to change the resting length of the spring, deforming it permanently.
137 |     public var yieldRatio: JFloat = 0.3
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
138 |
139 |     /// Plasticity rate for the spring.
    :
151 |     /// the resulting `R` would be `R = 10 + (0.5 * (15 - 10 - (0.3 * 10)))` ->
152 |     /// `R = 10 + 1` -> `R = 11`.
153 |     public var rate: JFloat = 0.5
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
154 |
155 |     /// A factor limit at which the plasticity stops affecting the rest length
    :
159 |     /// the initial length), or `R < IL / limit`, the plasticity does not
160 |     /// take effect.
161 |     public var limit: JFloat = 2
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
162 |
163 |     public init(yieldRatio: JFloat = 0.3, rate: JFloat = 0.5, limit: JFloat = 2) {
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:163:29: error: cannot find type 'JFloat' in scope
161 |     public var limit: JFloat = 2
162 |
163 |     public init(yieldRatio: JFloat = 0.3, rate: JFloat = 0.5, limit: JFloat = 2) {
    |                             `- error: cannot find type 'JFloat' in scope
164 |         self.yieldRatio = yieldRatio
165 |         self.rate = rate
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:163:49: error: cannot find type 'JFloat' in scope
161 |     public var limit: JFloat = 2
162 |
163 |     public init(yieldRatio: JFloat = 0.3, rate: JFloat = 0.5, limit: JFloat = 2) {
    |                                                 `- error: cannot find type 'JFloat' in scope
164 |         self.yieldRatio = yieldRatio
165 |         self.rate = rate
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:163:70: error: cannot find type 'JFloat' in scope
161 |     public var limit: JFloat = 2
162 |
163 |     public init(yieldRatio: JFloat = 0.3, rate: JFloat = 0.5, limit: JFloat = 2) {
    |                                                                      `- error: cannot find type 'JFloat' in scope
164 |         self.yieldRatio = yieldRatio
165 |         self.rate = rate
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:134:15: error: type 'SpringPlasticity' does not conform to protocol 'Encodable'
132 | /// Plasticity permanently affects a spring's rest length by modifying it
133 | /// when its length is stretched beyond a certain limit.
134 | public struct SpringPlasticity: Codable {
    |               `- error: type 'SpringPlasticity' does not conform to protocol 'Encodable'
135 |     /// Ratio (of resting distance vs actual length) before plasticity starts
136 |     /// to change the resting length of the spring, deforming it permanently.
137 |     public var yieldRatio: JFloat = 0.3
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
138 |
139 |     /// Plasticity rate for the spring.
    :
151 |     /// the resulting `R` would be `R = 10 + (0.5 * (15 - 10 - (0.3 * 10)))` ->
152 |     /// `R = 10 + 1` -> `R = 11`.
153 |     public var rate: JFloat = 0.5
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
154 |
155 |     /// A factor limit at which the plasticity stops affecting the rest length
    :
159 |     /// the initial length), or `R < IL / limit`, the plasticity does not
160 |     /// take effect.
161 |     public var limit: JFloat = 2
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
162 |
163 |     public init(yieldRatio: JFloat = 0.3, rate: JFloat = 0.5, limit: JFloat = 2) {
Swift.Encodable.encode:2:6: note: protocol requires function 'encode(to:)' with type 'Encodable'
1 | protocol Encodable {
2 | func encode(to encoder: any Encoder) throws}
  |      `- note: protocol requires function 'encode(to:)' with type 'Encodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:50:33: error: cannot find type 'JFloat' in scope
 48 |     /// Setting this value updates the `.fixed` value, or in case of `.ranged`
 49 |     /// it updates the maximum distance value.
 50 |     public var maximumDistance: JFloat {
    |                                 `- error: cannot find type 'JFloat' in scope
 51 |         get {
 52 |             switch(self) {
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:95:44: error: cannot find 'JFloat' in scope
 93 |         try restDistance = container.decode(RestDistance.self, forKey: .restDistance)
 94 |         try initialRestDistance = container.decode(RestDistance.self, forKey: .initialRestDistance)
 95 |         try coefficient = container.decode(JFloat.self, forKey: .coefficient)
    |                                            `- error: cannot find 'JFloat' in scope
 96 |         try damping = container.decode(JFloat.self, forKey: .damping)
 97 |
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:96:40: error: cannot find 'JFloat' in scope
 94 |         try initialRestDistance = container.decode(RestDistance.self, forKey: .initialRestDistance)
 95 |         try coefficient = container.decode(JFloat.self, forKey: .coefficient)
 96 |         try damping = container.decode(JFloat.self, forKey: .damping)
    |                                        `- error: cannot find 'JFloat' in scope
 97 |
 98 |         restDistanceSquared = restDistance.squared()
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:95:9: warning: no calls to throwing functions occur within 'try' expression [#UnnecessaryEffectMarker]
 93 |         try restDistance = container.decode(RestDistance.self, forKey: .restDistance)
 94 |         try initialRestDistance = container.decode(RestDistance.self, forKey: .initialRestDistance)
 95 |         try coefficient = container.decode(JFloat.self, forKey: .coefficient)
    |         `- warning: no calls to throwing functions occur within 'try' expression [#UnnecessaryEffectMarker]
 96 |         try damping = container.decode(JFloat.self, forKey: .damping)
 97 |
/Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift:96:9: warning: no calls to throwing functions occur within 'try' expression [#UnnecessaryEffectMarker]
 94 |         try initialRestDistance = container.decode(RestDistance.self, forKey: .initialRestDistance)
 95 |         try coefficient = container.decode(JFloat.self, forKey: .coefficient)
 96 |         try damping = container.decode(JFloat.self, forKey: .damping)
    |         `- warning: no calls to throwing functions occur within 'try' expression [#UnnecessaryEffectMarker]
 97 |
 98 |         restDistanceSquared = restDistance.squared()
/Users/admin/builder/spi-builder-workspace/Sources/PhysicsUtils.swift:47:15: error: cannot find type 'JFloat' in scope
45 | @inlinable
46 | public func calculatePlasticity(
47 |     distance: JFloat,
   |               `- error: cannot find type 'JFloat' in scope
48 |     restDistance: RestDistance,
49 |     initialRestDistance: RestDistance,
/Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift:20:15: error: cannot find type 'JFloat' in scope
18 |
19 |     /// Gets the total mass of the subject of this joint link
20 |     var mass: JFloat { get }
   |               `- error: cannot find type 'JFloat' in scope
21 |
22 |     /// Gets a value specifying whether the object referenced by this
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift:32:20: error: cannot find type 'JFloat' in scope
30 |
31 |     /// Gets the total mass of the subject of this joint link
32 |     open var mass: JFloat {
   |                    `- error: cannot find type 'JFloat' in scope
33 |         return body.pointMasses.reduce(0) { $0 + $1.mass }
34 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:28:19: error: cannot find type 'JFloat' in scope
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:31:19: error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 32 |
 33 |     /// Returns the angle in radians of this Vector2
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:93:24: error: cannot find type 'JFloat' in scope
 91 |     /// Inits a vector 2 with X and Y defined as a given float
 92 |     @inlinable
 93 |     public init(value: JFloat) {
    |                        `- error: cannot find type 'JFloat' in scope
 94 |         x = value
 95 |         y = value
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:264:45: error: cannot find type 'JFloat' in scope
262 |     // JFloat interaction
263 |     @inlinable
264 |     static public func +(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
265 |         return Vector2(x: lhs.x + rhs, y: lhs.y + rhs)
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:254:46: error: cannot find type 'JFloat' in scope
252 |     // JFloat interaction
253 |     @inlinable
254 |     static public func + (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
255 |         return Vector3(x: lhs.x + rhs, y: lhs.y + rhs, z: lhs.z + rhs)
256 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:16:22: error: cannot find type 'JFloat' in scope
14 |     /// Values `< 0.2` usually cause inconsistency and instability in the
15 |     /// simulation
16 |     public var mass: JFloat = 1
   |                      `- error: cannot find type 'JFloat' in scope
17 |
18 |     /// The global position of the point, in world coordinates
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift:33:39: error: missing argument label 'into:' in call
31 |     /// Gets the total mass of the subject of this joint link
32 |     open var mass: JFloat {
33 |         return body.pointMasses.reduce(0) { $0 + $1.mass }
   |                                       `- error: missing argument label 'into:' in call
34 |     }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift:33:33: error: no 'reduce' candidates produce the expected contextual result type '_'
31 |     /// Gets the total mass of the subject of this joint link
32 |     open var mass: JFloat {
33 |         return body.pointMasses.reduce(0) { $0 + $1.mass }
   |                                 `- error: no 'reduce' candidates produce the expected contextual result type '_'
34 |     }
35 |
Swift.Sequence.reduce:2:24: note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
1 | protocol Sequence {
2 | @inlinable public func reduce<Result>(into initialResult: __owned Result, _ updateAccumulatingResult: (_ partialResult: inout Result, Self.Element) throws -> ()) rethrows -> Result}
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Self, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Self, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Self, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Self, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Self, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Self, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Self, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Other, _) -> Self', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(Other, _) -> _', not the expected contextual result type '_'
  |                        |- note: 'reduce(into:_:)' produces '(_, _) -> Self', not the expected contextual result type '_'
  |                        `- note: 'reduce(into:_:)' produces '(Self, _) -> _', not the expected contextual result type '_'
3 |
[#UnnecessaryEffectMarker]: <https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker>
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c /Users/admin/builder/spi-builder-workspace/Sources/Bitmask.swift /Users/admin/builder/spi-builder-workspace/Sources/Body.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyCollisionInformation.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyJoint.swift /Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/GravityComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/PressureComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/JFloat.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/VectorRepresentable.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/PointJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/ShapeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/WeightedShapeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/MaterialPair.swift /Users/admin/builder/spi-builder-workspace/Sources/PhysicsUtils.swift /Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift /Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift /Users/admin/builder/spi-builder-workspace/Sources/SpringBodyJoint.swift /Users/admin/builder/spi-builder-workspace/Sources/Utils.swift /Users/admin/builder/spi-builder-workspace/Sources/World.swift -supplementary-output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/supplementaryOutputs-11 -target arm64_32-apple-watchos9.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift-dependencies-1.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name JelloSwift -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift_const_extract_protocols.json -disable-clang-spi -clang-target arm64_32-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/InternalSpring.o -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JointLink.o -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/BodyJointLink.o -debug-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift.swiftmodule -index-unit-output-path /JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/InternalSpring.o -index-unit-output-path /JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JointLink.o -index-unit-output-path /JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/BodyJointLink.o -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -index-system-modules
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile InternalSpring.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile JointLink.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile BodyJointLink.swift
SwiftCompile normal arm64_32 Compiling\ Bitmask.swift,\ Body.swift,\ BodyCollisionInformation.swift,\ BodyComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Bitmask.swift /Users/admin/builder/spi-builder-workspace/Sources/Body.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyCollisionInformation.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:269:45: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func -(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
270 |         return Vector2(x: lhs.x - rhs, y: lhs.y - rhs)
271 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:259:46: error: cannot find type 'JFloat' in scope
257 |
258 |     @inlinable
259 |     static public func - (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
260 |         return Vector3(x: lhs.x - rhs, y: lhs.y - rhs, z: lhs.z - rhs)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:5:31: error: cannot find type 'JFloat' in scope
  3 | /// Plain 3-row 3-column Matrix with real components.
  4 | public struct Matrix3x3: CustomStringConvertible {
  5 |     public typealias Scalar = JFloat
    |                               `- error: cannot find type 'JFloat' in scope
  6 |
  7 |     /// Returns a 3x3 [identity matrix].
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:28:19: error: cannot find type 'JFloat' in scope
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:31:19: error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 32 |
 33 |     /// Returns the angle in radians of this Vector2
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:93:24: error: cannot find type 'JFloat' in scope
 91 |     /// Inits a vector 2 with X and Y defined as a given float
 92 |     @inlinable
 93 |     public init(value: JFloat) {
    |                        `- error: cannot find type 'JFloat' in scope
 94 |         x = value
 95 |         y = value
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:50:28: error: cannot find type 'JFloat' in scope
  48 |     /// 1 never decelerates. Values outside the range [0, 1] inclusive may
  49 |     /// introduce instability
  50 |     public var velDamping: JFloat = 0.999
     |                            `- error: cannot find type 'JFloat' in scope
  51 |
  52 |     /// The array of body components for this body object
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:63:47: error: cannot find type 'JFloat' in scope
  61 |
  62 |     /// The derived rotation of the body, in radians
  63 |     public fileprivate(set) var derivedAngle: JFloat = 0
     |                                               `- error: cannot find type 'JFloat' in scope
  64 |
  65 |     /// Omega (ω) is the relative angular speed of the body, in radians/s
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:66:47: error: cannot find type 'JFloat' in scope
  64 |
  65 |     /// Omega (ω) is the relative angular speed of the body, in radians/s
  66 |     public fileprivate(set) var derivedOmega: JFloat = 0
     |                                               `- error: cannot find type 'JFloat' in scope
  67 |
  68 |     // Utilize to calculate the omega for the body
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:69:32: error: cannot find type 'JFloat' in scope
  67 |
  68 |     // Utilize to calculate the omega for the body
  69 |     fileprivate var lastAngle: JFloat = 0
     |                                `- error: cannot find type 'JFloat' in scope
  70 |
  71 |     /// Gets a list of vertices that represents the current position of each
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:143:23: error: cannot find type 'JFloat' in scope
 141 |         world: World? = nil,
 142 |         shape: ClosedShape,
 143 |         pointMasses: [JFloat] = [1],
     |                       `- error: cannot find type 'JFloat' in scope
 144 |         position: Vector2 = Vector2.zero,
 145 |         angle: JFloat = 0,
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:145:16: error: cannot find type 'JFloat' in scope
 143 |         pointMasses: [JFloat] = [1],
 144 |         position: Vector2 = Vector2.zero,
 145 |         angle: JFloat = 0,
     |                `- error: cannot find type 'JFloat' in scope
 146 |         scale: Vector2 = Vector2.unit,
 147 |         kinematic: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:305:39: error: cannot find type 'JFloat' in scope
 303 |     /// - parameter forceUpdate:
 304 |     ///     Whether to force the update of the body, even if it's a static body.
 305 |     public func updateAABB(_ elapsed: JFloat, forceUpdate: Bool) {
     |                                       `- error: cannot find type 'JFloat' in scope
 306 |         guard !isStatic || forceUpdate else {
 307 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:361:36: error: cannot find type 'JFloat' in scope
 359 |
 360 |     /// Sets the mass for all the PointMass objects in this body.
 361 |     public func setMassAll(_ mass: JFloat) {
     |                                    `- error: cannot find type 'JFloat' in scope
 362 |         for i in 0..<pointMasses.count {
 363 |             pointMasses[i].mass = mass
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:370:63: error: cannot find type 'JFloat' in scope
 368 |
 369 |     /// Sets the mass for a single PointMass individually.
 370 |     public func setMassForPointMass(atIndex index: Int, mass: JFloat) {
     |                                                               `- error: cannot find type 'JFloat' in scope
 371 |         pointMasses[index].mass = mass
 372 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:381:43: error: cannot find type 'JFloat' in scope
 379 |     /// sets up to the count of masses in the array, if larger, it sets the
 380 |     /// matching masses for all point masses, and ignores the rest of the array.
 381 |     public func setMass(fromList masses: [JFloat]) {
     |                                           `- error: cannot find type 'JFloat' in scope
 382 |         for (mass, i) in zip(masses, 0..<pointMasses.count) {
 383 |             pointMasses[i].mass = mass
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:394:57: error: cannot find type 'JFloat' in scope
 392 |     /// Setting the position and angle resets the current shape to the original
 393 |     /// base shape of the object.
 394 |     public func setPositionAngle(_ pos: Vector2, angle: JFloat, scale: Vector2) {
     |                                                         `- error: cannot find type 'JFloat' in scope
 395 |         let matrix = Vector2.matrix(scalingBy: scale, rotatingBy: angle, translatingBy: pos)
 396 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:424:51: error: cannot find type 'JFloat' in scope
 422 |     /// call this. Instead you can just access the `derivedPosition`, `DerivedAngle`,
 423 |     /// `derivedVelocity`, and `derivedOmega` properties.
 424 |     public func derivePositionAndAngle(_ elapsed: JFloat) {
     |                                                   `- error: cannot find type 'JFloat' in scope
 425 |         // No need if this is a static body, or kinematically controlled.
 426 |         if isStatic || isKinematic {
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:522:38: error: cannot find type 'JFloat' in scope
 520 |     /// Integrates the point masses for this Body.
 521 |     /// Ignored, if body is static.
 522 |     public func integrate(_ elapsed: JFloat) {
     |                                      `- error: cannot find type 'JFloat' in scope
 523 |         if isStatic {
 524 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:536:43: error: cannot find type 'JFloat' in scope
 534 |     /// Applies the velocity damping to the point masses.
 535 |     /// Ignored, if body is static.
 536 |     public func dampenVelocity(_ elapsed: JFloat) {
     |                                           `- error: cannot find type 'JFloat' in scope
 537 |         if isStatic {
 538 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:550:39: error: cannot find type 'JFloat' in scope
 548 |     /// Applies a rotational clockwise torque of a given force on this body.
 549 |     /// Ignored, if body is static.
 550 |     public func applyTorque(of force: JFloat) {
     |                                       `- error: cannot find type 'JFloat' in scope
 551 |         if isStatic {
 552 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:569:43: error: cannot find type 'JFloat' in scope
 567 |     /// The method keeps the average velocity of the point masses the same during
 568 |     /// the procedure.
 569 |     public func setAngularVelocity(_ vel: JFloat) {
     |                                           `- error: cannot find type 'JFloat' in scope
 570 |         if isStatic {
 571 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:583:43: error: cannot find type 'JFloat' in scope
 581 |
 582 |     /// Accumulates the angular velocity for this body
 583 |     public func addAngularVelocity(_ vel: JFloat) {
     |                                           `- error: cannot find type 'JFloat' in scope
 584 |         if isStatic {
 585 |             return
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:743:54: error: cannot find type 'JFloat' in scope
 741 |         to pt: Vector2,
 742 |         onEdge edgeNum: Int
 743 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                      `- error: cannot find type 'JFloat' in scope
 744 |         assert(pointMasses.count > 0)
 745 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:743:72: error: cannot find type 'JFloat' in scope
 741 |         to pt: Vector2,
 742 |         onEdge edgeNum: Int
 743 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                                        `- error: cannot find type 'JFloat' in scope
 744 |         assert(pointMasses.count > 0)
 745 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:810:54: error: cannot find type 'JFloat' in scope
 808 |         to pt: Vector2,
 809 |         onEdge edgeNum: Int
 810 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                      `- error: cannot find type 'JFloat' in scope
 811 |         let result = closestPointSquared(to: pt, onEdge: edgeNum)
 812 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:810:72: error: cannot find type 'JFloat' in scope
 808 |         to pt: Vector2,
 809 |         onEdge edgeNum: Int
 810 |     ) -> (hitPoint: Vector2, normal: Vector2, edgeD: JFloat, distance: JFloat) {
     |                                                                        `- error: cannot find type 'JFloat' in scope
 811 |         let result = closestPointSquared(to: pt, onEdge: edgeNum)
 812 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:835:80: error: cannot find type 'JFloat' in scope
 833 |     public func closestPoint(
 834 |         to pt: Vector2
 835 |     ) -> (hitPoint: Vector2, normal: Vector2, pointA: Int, pointB: Int, edgeD: JFloat, distance: JFloat) {
     |                                                                                `- error: cannot find type 'JFloat' in scope
 836 |         assert(pointMasses.count > 0)
 837 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:835:98: error: cannot find type 'JFloat' in scope
 833 |     public func closestPoint(
 834 |         to pt: Vector2
 835 |     ) -> (hitPoint: Vector2, normal: Vector2, pointA: Int, pointB: Int, edgeD: JFloat, distance: JFloat) {
     |                                                                                                  `- error: cannot find type 'JFloat' in scope
 836 |         assert(pointMasses.count > 0)
 837 |
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:891:45: error: cannot find type 'JFloat' in scope
 889 |         to pt: Vector2,
 890 |         withTolerance tolerance: JFloat = JFloat.infinity
 891 |     ) -> (edgePosition: Vector2, edgeRatio: JFloat, edgePoint1: Int, edgePoint2: Int)? {
     |                                             `- error: cannot find type 'JFloat' in scope
 892 |         if edges.count == 0 || pointMasses.count == 0 {
 893 |             return nil
/Users/admin/builder/spi-builder-workspace/Sources/Body.swift:890:34: error: cannot find type 'JFloat' in scope
 888 |     public func closestEdge(
 889 |         to pt: Vector2,
 890 |         withTolerance tolerance: JFloat = JFloat.infinity
     |                                  `- error: cannot find type 'JFloat' in scope
 891 |     ) -> (edgePosition: Vector2, edgeRatio: JFloat, edgePoint1: Int, edgePoint2: Int)? {
 892 |         if edges.count == 0 || pointMasses.count == 0 {
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Bitmask.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Bitmask.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Body.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Body.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/BodyCollisionInformation.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile BodyCollisionInformation.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/BodyComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile BodyComponent.swift
SwiftCompile normal arm64_32 Compiling\ BodyEdge.swift,\ BodyJoint.swift,\ CollisionObserver.swift,\ GravityComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyJoint.swift /Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/GravityComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:5:31: error: cannot find type 'JFloat' in scope
  3 | /// Plain 3-row 3-column Matrix with real components.
  4 | public struct Matrix3x3: CustomStringConvertible {
  5 |     public typealias Scalar = JFloat
    |                               `- error: cannot find type 'JFloat' in scope
  6 |
  7 |     /// Returns a 3x3 [identity matrix].
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:28:19: error: cannot find type 'JFloat' in scope
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:31:19: error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 32 |
 33 |     /// Returns the angle in radians of this Vector2
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:93:24: error: cannot find type 'JFloat' in scope
 91 |     /// Inits a vector 2 with X and Y defined as a given float
 92 |     @inlinable
 93 |     public init(value: JFloat) {
    |                        `- error: cannot find type 'JFloat' in scope
 94 |         x = value
 95 |         y = value
/Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift:36:24: error: cannot find type 'JFloat' in scope
34 |
35 |     /// The edge's length
36 |     public var length: JFloat = 0
   |                        `- error: cannot find type 'JFloat' in scope
37 |
38 |     /// The edge's length, squared
/Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift:39:31: error: cannot find type 'JFloat' in scope
37 |
38 |     /// The edge's length, squared
39 |     public var lengthSquared: JFloat = 0
   |                               `- error: cannot find type 'JFloat' in scope
40 |
41 |     public init() {
/Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift:10:15: error: type 'BodyEdge' does not conform to protocol 'Decodable'
 8 |
 9 | /// Contains information about the edge of a body
10 | public struct BodyEdge: Codable {
   |               `- error: type 'BodyEdge' does not conform to protocol 'Decodable'
11 |
12 |     /// The index of the edge on the body
   :
34 |
35 |     /// The edge's length
36 |     public var length: JFloat = 0
   |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
37 |
38 |     /// The edge's length, squared
39 |     public var lengthSquared: JFloat = 0
   |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
40 |
41 |     public init() {
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift:10:15: error: type 'BodyEdge' does not conform to protocol 'Encodable'
 8 |
 9 | /// Contains information about the edge of a body
10 | public struct BodyEdge: Codable {
   |               `- error: type 'BodyEdge' does not conform to protocol 'Encodable'
11 |
12 |     /// The index of the edge on the body
   :
34 |
35 |     /// The edge's length
36 |     public var length: JFloat = 0
   |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
37 |
38 |     /// The edge's length, squared
39 |     public var lengthSquared: JFloat = 0
   |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
40 |
41 |     public init() {
Swift.Encodable.encode:2:6: note: protocol requires function 'encode(to:)' with type 'Encodable'
1 | protocol Encodable {
2 | func encode(to encoder: any Encoder) throws}
  |      `- note: protocol requires function 'encode(to:)' with type 'Encodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:269:45: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func -(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
270 |         return Vector2(x: lhs.x - rhs, y: lhs.y - rhs)
271 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:259:46: error: cannot find type 'JFloat' in scope
257 |
258 |     @inlinable
259 |     static public func - (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
260 |         return Vector3(x: lhs.x - rhs, y: lhs.y - rhs, z: lhs.z - rhs)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:100:46: error: cannot find type 'JFloat' in scope
 98 |     /// Returns the distance between this Vector2 and another Vector2
 99 |     @inlinable
100 |     public func distance(to vec: Vector2) -> JFloat {
    |                                              `- error: cannot find type 'JFloat' in scope
101 |         let d = self - vec
102 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:274:45: error: cannot find type 'JFloat' in scope
272 |
273 |     @inlinable
274 |     static public func *(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
275 |         return Vector2(x: lhs.x * rhs, y: lhs.y * rhs)
276 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:264:46: error: cannot find type 'JFloat' in scope
262 |
263 |     @inlinable
264 |     static public func * (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
265 |         return Vector3(x: lhs.x * rhs, y: lhs.y * rhs, z: lhs.z * rhs)
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift:20:15: error: cannot find type 'JFloat' in scope
18 |
19 |     /// Gets the total mass of the subject of this joint link
20 |     var mass: JFloat { get }
   |               `- error: cannot find type 'JFloat' in scope
21 |
22 |     /// Gets a value specifying whether the object referenced by this
/Users/admin/builder/spi-builder-workspace/Sources/BodyJoint.swift:40:29: error: cannot find type 'JFloat' in scope
38 |     ///
39 |     /// - Parameter dt: The delta time to update the resolve on
40 |     open func resolve(_ dt: JFloat) {
   |                             `- error: cannot find type 'JFloat' in scope
41 |
42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift:22:110: error: cannot find type 'JFloat' in scope
20 |     /// When this happens, the collision is ignored and dropped from the resolve
21 |     /// list, and this delegate notifier is called.
22 |     func bodyCollision(_ info: BodyCollisionInformation, didExceedPenetrationThreshold penetrationThreshold: JFloat)
   |                                                                                                              `- error: cannot find type 'JFloat' in scope
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift:31:110: error: cannot find type 'JFloat' in scope
29 |     }
30 |
31 |     func bodyCollision(_ info: BodyCollisionInformation, didExceedPenetrationThreshold penetrationThreshold: JFloat) {
   |                                                                                                              `- error: cannot find type 'JFloat' in scope
32 |
33 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:16:22: error: cannot find type 'JFloat' in scope
14 |     /// Values `< 0.2` usually cause inconsistency and instability in the
15 |     /// simulation
16 |     public var mass: JFloat = 1
   |                      `- error: cannot find type 'JFloat' in scope
17 |
18 |     /// The global position of the point, in world coordinates
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c /Users/admin/builder/spi-builder-workspace/Sources/Bitmask.swift /Users/admin/builder/spi-builder-workspace/Sources/Body.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyCollisionInformation.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyComponent.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/BodyJoint.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/Components/GravityComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/PressureComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/JFloat.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift /Users/admin/builder/spi-builder-workspace/Sources/Geometry/VectorRepresentable.swift /Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/PointJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/ShapeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/WeightedShapeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/MaterialPair.swift /Users/admin/builder/spi-builder-workspace/Sources/PhysicsUtils.swift /Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift /Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift /Users/admin/builder/spi-builder-workspace/Sources/SpringBodyJoint.swift /Users/admin/builder/spi-builder-workspace/Sources/Utils.swift /Users/admin/builder/spi-builder-workspace/Sources/World.swift -supplementary-output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/supplementaryOutputs-3 -target arm64_32-apple-watchos9.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift-dependencies-1.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name JelloSwift -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift_const_extract_protocols.json -disable-clang-spi -clang-target arm64_32-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/BodyEdge.o -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/BodyJoint.o -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/CollisionObserver.o -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/GravityComponent.o -debug-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/JelloSwift.swiftmodule -index-unit-output-path /JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/BodyEdge.o -index-unit-output-path /JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/BodyJoint.o -index-unit-output-path /JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/CollisionObserver.o -index-unit-output-path /JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64_32/GravityComponent.o -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -index-system-modules
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile BodyEdge.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/BodyJoint.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile BodyJoint.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CollisionObserver.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Components/GravityComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GravityComponent.swift
SwiftCompile normal arm64_32 Compiling\ PointMass.swift,\ RenderingSettings.swift,\ RestDistance.swift /Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift /Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift (in target 'JelloSwift' from project 'JelloSwift')
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:5:31: error: cannot find type 'JFloat' in scope
  3 | /// Plain 3-row 3-column Matrix with real components.
  4 | public struct Matrix3x3: CustomStringConvertible {
  5 |     public typealias Scalar = JFloat
    |                               `- error: cannot find type 'JFloat' in scope
  6 |
  7 |     /// Returns a 3x3 [identity matrix].
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:16:22: error: cannot find type 'JFloat' in scope
14 |     /// Values `< 0.2` usually cause inconsistency and instability in the
15 |     /// simulation
16 |     public var mass: JFloat = 1
   |                      `- error: cannot find type 'JFloat' in scope
17 |
18 |     /// The global position of the point, in world coordinates
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:28:19: error: cannot find type 'JFloat' in scope
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:31:19: error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 32 |
 33 |     /// Returns the angle in radians of this Vector2
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:93:24: error: cannot find type 'JFloat' in scope
 91 |     /// Inits a vector 2 with X and Y defined as a given float
 92 |     @inlinable
 93 |     public init(value: JFloat) {
    |                        `- error: cannot find type 'JFloat' in scope
 94 |         x = value
 95 |         y = value
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:10:15: error: type 'PointMass' does not conform to protocol 'Decodable'
 8 |
 9 | /// Specifies a point mass that composes a body
10 | public struct PointMass: Codable, VectorRepresentable {
   |               `- error: type 'PointMass' does not conform to protocol 'Decodable'
11 |     /// The mass of this point mass.
12 |     /// Leave this value always `> 0` to maintain consistency on the simulation,
   :
14 |     /// Values `< 0.2` usually cause inconsistency and instability in the
15 |     /// simulation
16 |     public var mass: JFloat = 1
   |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
17 |
18 |     /// The global position of the point, in world coordinates
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:35:23: error: cannot find type 'JFloat' in scope
33 |     }
34 |
35 |     public init(mass: JFloat = 0, position: Vector2 = Vector2.zero) {
   |                       `- error: cannot find type 'JFloat' in scope
36 |         self.mass = mass
37 |         self.position = position
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:45:47: error: cannot find type 'JFloat' in scope
43 |     /// seconds
44 |     @inlinable
45 |     public mutating func integrate(_ elapsed: JFloat) {
   |                                               `- error: cannot find type 'JFloat' in scope
46 |         if mass.isFinite {
47 |             let elapsedMass = elapsed / mass
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:10:15: error: type 'PointMass' does not conform to protocol 'Encodable'
 8 |
 9 | /// Specifies a point mass that composes a body
10 | public struct PointMass: Codable, VectorRepresentable {
   |               `- error: type 'PointMass' does not conform to protocol 'Encodable'
11 |     /// The mass of this point mass.
12 |     /// Leave this value always `> 0` to maintain consistency on the simulation,
   :
14 |     /// Values `< 0.2` usually cause inconsistency and instability in the
15 |     /// simulation
16 |     public var mass: JFloat = 1
   |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
17 |
18 |     /// The global position of the point, in world coordinates
Swift.Encodable.encode:2:6: note: protocol requires function 'encode(to:)' with type 'Encodable'
1 | protocol Encodable {
2 | func encode(to encoder: any Encoder) throws}
  |      `- note: protocol requires function 'encode(to:)' with type 'Encodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:279:45: error: cannot find type 'JFloat' in scope
277 |
278 |     @inlinable
279 |     static public func /(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
280 |         return Vector2(x: lhs.x / rhs, y: lhs.y / rhs)
281 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:290:31: error: cannot find type 'JFloat' in scope
288 |
289 |     @inlinable
290 |     static public func /(lhs: JFloat, rhs: Vector2) -> Vector2 {
    |                               `- error: cannot find type 'JFloat' in scope
291 |         return Vector2(x: lhs / rhs.x, y: lhs / rhs.y)
292 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:269:46: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func / (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
270 |         return Vector3(x: lhs.x / rhs, y: lhs.y / rhs, z: lhs.z / rhs)
271 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:283:32: error: cannot find type 'JFloat' in scope
281 |
282 |     @inlinable
283 |     static public func / (lhs: JFloat, rhs: Vector3) -> Vector3 {
    |                                `- error: cannot find type 'JFloat' in scope
284 |         return Vector3(x: lhs / rhs.x, y: lhs / rhs.y, z: lhs / rhs.z)
285 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:316:52: error: cannot find type 'JFloat' in scope
314 |     // JFloat interaction
315 |     @inlinable
316 |     static public func +=(lhs: inout Vector2, rhs: JFloat) {
    |                                                    `- error: cannot find type 'JFloat' in scope
317 |         lhs = lhs + rhs
318 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:309:53: error: cannot find type 'JFloat' in scope
307 |     // JFloat interaction
308 |     @inlinable
309 |     static public func += (lhs: inout Vector3, rhs: JFloat) {
    |                                                     `- error: cannot find type 'JFloat' in scope
310 |         lhs = lhs + rhs
311 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:274:45: error: cannot find type 'JFloat' in scope
272 |
273 |     @inlinable
274 |     static public func *(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
275 |         return Vector2(x: lhs.x * rhs, y: lhs.y * rhs)
276 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:264:46: error: cannot find type 'JFloat' in scope
262 |
263 |     @inlinable
264 |     static public func * (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
265 |         return Vector3(x: lhs.x * rhs, y: lhs.y * rhs, z: lhs.z * rhs)
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:264:45: error: cannot find type 'JFloat' in scope
262 |     // JFloat interaction
263 |     @inlinable
264 |     static public func +(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
265 |         return Vector2(x: lhs.x + rhs, y: lhs.y + rhs)
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:254:46: error: cannot find type 'JFloat' in scope
252 |     // JFloat interaction
253 |     @inlinable
254 |     static public func + (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
255 |         return Vector3(x: lhs.x + rhs, y: lhs.y + rhs, z: lhs.z + rhs)
256 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:75:72: error: cannot find 'JFloat' in scope
73 |         of pointMasses: T
74 |     ) -> Vector2 where T.Iterator.Element == PointMass {
75 |         return pointMasses.reduce(Vector2.zero) { $0 + $1.velocity } / JFloat(pointMasses.count)
   |                                                                        `- error: cannot find 'JFloat' in scope
76 |     }
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift:51:16: error: cannot find type 'JFloat' in scope
49 | /// Sets the camera position and scale from scalar values
50 | public func setCamera(
51 |     positionX: JFloat,
   |                `- error: cannot find type 'JFloat' in scope
52 |     positionY: JFloat,
53 |     scaleX: JFloat,
/Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift:52:16: error: cannot find type 'JFloat' in scope
50 | public func setCamera(
51 |     positionX: JFloat,
52 |     positionY: JFloat,
   |                `- error: cannot find type 'JFloat' in scope
53 |     scaleX: JFloat,
54 |     scaleY: JFloat
/Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift:53:13: error: cannot find type 'JFloat' in scope
51 |     positionX: JFloat,
52 |     positionY: JFloat,
53 |     scaleX: JFloat,
   |             `- error: cannot find type 'JFloat' in scope
54 |     scaleY: JFloat
55 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift:54:13: error: cannot find type 'JFloat' in scope
52 |     positionY: JFloat,
53 |     scaleX: JFloat,
54 |     scaleY: JFloat
   |             `- error: cannot find type 'JFloat' in scope
55 | ) {
56 |     renderingOffset.x = positionX
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:269:45: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func -(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
270 |         return Vector2(x: lhs.x - rhs, y: lhs.y - rhs)
271 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:259:46: error: cannot find type 'JFloat' in scope
257 |
258 |     @inlinable
259 |     static public func - (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
260 |         return Vector3(x: lhs.x - rhs, y: lhs.y - rhs, z: lhs.z - rhs)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:15:16: error: cannot find type 'JFloat' in scope
 13 |
 14 |     /// Fixed distance
 15 |     case fixed(JFloat)
    |                `- error: cannot find type 'JFloat' in scope
 16 |
 17 |     /// Distance is ranged between a minimum and maximum value
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:18:22: error: cannot find type 'JFloat' in scope
 16 |
 17 |     /// Distance is ranged between a minimum and maximum value
 18 |     case ranged(min: JFloat, max: JFloat)
    |                      `- error: cannot find type 'JFloat' in scope
 19 |
 20 |     /// Returns the minimum distance for this rest distance.
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:18:35: error: cannot find type 'JFloat' in scope
 16 |
 17 |     /// Distance is ranged between a minimum and maximum value
 18 |     case ranged(min: JFloat, max: JFloat)
    |                                   `- error: cannot find type 'JFloat' in scope
 19 |
 20 |     /// Returns the minimum distance for this rest distance.
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:26:33: error: cannot find type 'JFloat' in scope
 24 |     /// Setting this value updates the `.fixed` value, or in case of `.ranged`
 25 |     /// it updates the minimum distance value.
 26 |     public var minimumDistance: JFloat {
    |                                 `- error: cannot find type 'JFloat' in scope
 27 |         get {
 28 |             switch(self) {
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:50:33: error: cannot find type 'JFloat' in scope
 48 |     /// Setting this value updates the `.fixed` value, or in case of `.ranged`
 49 |     /// it updates the maximum distance value.
 50 |     public var maximumDistance: JFloat {
    |                                 `- error: cannot find type 'JFloat' in scope
 51 |         get {
 52 |             switch(self) {
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:79:32: error: cannot find type 'JFloat' in scope
 77 |     /// If the current value is .fixed, this does an exact equality
 78 |     /// operation, if .ranged, it performs `value >= min && value <= max`
 79 |     public func inRange(value: JFloat) -> Bool {
    |                                `- error: cannot find type 'JFloat' in scope
 80 |         switch(self) {
 81 |         case .fixed(let d):
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:92:41: error: cannot find type 'JFloat' in scope
 90 |     /// distance it represents, if .ranged, it performs
 91 |     /// `max(minValue, min(maxValue, value))`
 92 |     public func clamp(value: JFloat) -> JFloat {
    |                                         `- error: cannot find type 'JFloat' in scope
 93 |         switch(self) {
 94 |         case .fixed(let d):
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:92:30: error: cannot find type 'JFloat' in scope
 90 |     /// distance it represents, if .ranged, it performs
 91 |     /// `max(minValue, min(maxValue, value))`
 92 |     public func clamp(value: JFloat) -> JFloat {
    |                              `- error: cannot find type 'JFloat' in scope
 93 |         switch(self) {
 94 |         case .fixed(let d):
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:143:23: error: cannot find type 'JFloat' in scope
141 |
142 | /// Helper operator for creating a rest distance
143 | public func <-> (lhs: JFloat, rhs: JFloat) -> RestDistance {
    |                       `- error: cannot find type 'JFloat' in scope
144 |     return .ranged(min: lhs, max: rhs)
145 | }
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:143:36: error: cannot find type 'JFloat' in scope
141 |
142 | /// Helper operator for creating a rest distance
143 | public func <-> (lhs: JFloat, rhs: JFloat) -> RestDistance {
    |                                    `- error: cannot find type 'JFloat' in scope
144 |     return .ranged(min: lhs, max: rhs)
145 | }
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:69:23: error: cannot find 'JFloat' in scope
 67 |
 68 |     public init(integerLiteral value: Int) {
 69 |         self = .fixed(JFloat(value))
    |                       `- error: cannot find 'JFloat' in scope
 70 |     }
 71 |
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:73:23: error: cannot find 'JFloat' in scope
 71 |
 72 |     public init(floatLiteral value: Double) {
 73 |         self = .fixed(JFloat(value))
    |                       `- error: cannot find 'JFloat' in scope
 74 |     }
 75 |
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:117:42: error: cannot find 'JFloat' in scope
115 |         var container = try decoder.unkeyedContainer()
116 |
117 |         let first = try container.decode(JFloat.self)
    |                                          `- error: cannot find 'JFloat' in scope
118 |
119 |         if container.isAtEnd {
/Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift:122:66: error: cannot find 'JFloat' in scope
120 |             self = .fixed(first)
121 |         } else {
122 |             self = try .ranged(min: first, max: container.decode(JFloat.self))
    |                                                                  `- error: cannot find 'JFloat' in scope
123 |         }
124 |     }
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PointMass.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RenderingSettings.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RestDistance.swift
SwiftCompile normal arm64_32 Compiling\ EdgeJointLink.swift,\ PointJointLink.swift,\ ShapeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/PointJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/ShapeJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift:21:25: error: cannot find type 'JFloat' in scope
19 |     /// Specifying either 0 or 1 makes this edge joint link behave essentially
20 |     /// like a `PointJointLink`
21 |     open var edgeRatio: JFloat
   |                         `- error: cannot find type 'JFloat' in scope
22 |
23 |     /// Gets the body that this joint link is linked to
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift:55:20: error: cannot find type 'JFloat' in scope
53 |
54 |     /// Gets the total mass of the subject of this joint link
55 |     open var mass: JFloat {
   |                    `- error: cannot find type 'JFloat' in scope
56 |         let pm1 = body.pointMasses[_pointMass1]
57 |         let pm2 = body.pointMasses[_pointMass2]
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift:72:56: error: cannot find type 'JFloat' in scope
70 |
71 |     /// Inits a new edge joint link with the specified parameters
72 |     public init(body: Body, edgeIndex: Int, edgeRatio: JFloat = 0.5) {
   |                                                        `- error: cannot find type 'JFloat' in scope
73 |         self.body = body
74 |         _pointMass1 = edgeIndex % body.pointMasses.count
/Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift:20:15: error: cannot find type 'JFloat' in scope
18 |
19 |     /// Gets the total mass of the subject of this joint link
20 |     var mass: JFloat { get }
   |               `- error: cannot find type 'JFloat' in scope
21 |
22 |     /// Gets a value specifying whether the object referenced by this
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift:62:73: error: cannot find type 'JFloat' in scope
60 | /// given ratio specified
61 | @inlinable
62 | public func calculateVectorRatio(_ vec1: Vector2, vec2: Vector2, ratio: JFloat) -> Vector2 {
   |                                                                         `- error: cannot find type 'JFloat' in scope
63 |     return vec1 + (vec2 - vec1) * ratio
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:28:19: error: cannot find type 'JFloat' in scope
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:31:19: error: cannot find type 'JFloat' in scope
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 32 |
 33 |     /// Returns the angle in radians of this Vector2
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:12:15: error: type 'Vector2' does not conform to protocol 'Decodable'
 10 |
 11 | /// Represents a 2D vector
 12 | public struct Vector2: VectorRepresentable, Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector2' does not conform to protocol 'Decodable'
 13 |
 14 |     /// A zeroed-value Vector2
    :
 26 |
 27 |     /// The JFloat representation of this vector's x axis
 28 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 29 |
 30 |     /// The JFloat representation of this vector's y axis
 31 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 32 |
 33 |     /// Returns the angle in radians of this Vector2
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:93:24: error: cannot find type 'JFloat' in scope
 91 |     /// Inits a vector 2 with X and Y defined as a given float
 92 |     @inlinable
 93 |     public init(value: JFloat) {
    |                        `- error: cannot find type 'JFloat' in scope
 94 |         x = value
 95 |         y = value
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:5:31: error: cannot find type 'JFloat' in scope
  3 | /// Plain 3-row 3-column Matrix with real components.
  4 | public struct Matrix3x3: CustomStringConvertible {
  5 |     public typealias Scalar = JFloat
    |                               `- error: cannot find type 'JFloat' in scope
  6 |
  7 |     /// Returns a 3x3 [identity matrix].
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:274:45: error: cannot find type 'JFloat' in scope
272 |
273 |     @inlinable
274 |     static public func *(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
275 |         return Vector2(x: lhs.x * rhs, y: lhs.y * rhs)
276 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:264:46: error: cannot find type 'JFloat' in scope
262 |
263 |     @inlinable
264 |     static public func * (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
265 |         return Vector3(x: lhs.x * rhs, y: lhs.y * rhs, z: lhs.z * rhs)
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:264:45: error: cannot find type 'JFloat' in scope
262 |     // JFloat interaction
263 |     @inlinable
264 |     static public func +(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
265 |         return Vector2(x: lhs.x + rhs, y: lhs.y + rhs)
266 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:254:46: error: cannot find type 'JFloat' in scope
252 |     // JFloat interaction
253 |     @inlinable
254 |     static public func + (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
255 |         return Vector3(x: lhs.x + rhs, y: lhs.y + rhs, z: lhs.z + rhs)
256 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:269:45: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func -(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
270 |         return Vector2(x: lhs.x - rhs, y: lhs.y - rhs)
271 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:259:46: error: cannot find type 'JFloat' in scope
257 |
258 |     @inlinable
259 |     static public func - (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
260 |         return Vector3(x: lhs.x - rhs, y: lhs.y - rhs, z: lhs.z - rhs)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift:16:22: error: cannot find type 'JFloat' in scope
14 |     /// Values `< 0.2` usually cause inconsistency and instability in the
15 |     /// simulation
16 |     public var mass: JFloat = 1
   |                      `- error: cannot find type 'JFloat' in scope
17 |
18 |     /// The global position of the point, in world coordinates
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift:59:43: error: no '+' candidates produce the expected contextual result type '_'
57 |         let pm2 = body.pointMasses[_pointMass2]
58 |
59 |         return pm1.mass * (1 - edgeRatio) + pm2.mass * (edgeRatio)
   |                                           `- error: no '+' candidates produce the expected contextual result type '_'
60 |     }
61 |
Swift.FloatingPoint.+:2:22: note: '+' produces '_', not the expected contextual result type '_'
1 | protocol FloatingPoint {
2 | override static func + (lhs: Self, rhs: Self) -> Self}
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Double', not the expected contextual result type '_'
  |                      `- note: '+' produces 'Double', not the expected contextual result type '_'
3 |
Swift.BinaryInteger.+:2:22: note: '+' produces '_', not the expected contextual result type '_'
1 | protocol BinaryInteger {
2 | override static func + (lhs: Self, rhs: Self) -> Self}
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces '_', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Self', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      |- note: '+' produces 'Int', not the expected contextual result type '_'
  |                      `- note: '+' produces 'Int', not the expected contextual result type '_'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift:68:54: error: cannot convert value of type '_' to expected argument type 'Bool'
66 |         let pm2 = body.pointMasses[_pointMass2]
67 |
68 |         return body.isStatic || (pm1.mass.isInfinite && pm2.mass.isInfinite)
   |                                                      `- error: cannot convert value of type '_' to expected argument type 'Bool'
69 |     }
70 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:284:45: error: cannot find type 'JFloat' in scope
282 |
283 |     @inlinable
284 |     static public func %(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
285 |         return Vector2(x: lhs.x.truncatingRemainder(dividingBy: rhs),
286 |                        y: lhs.y.truncatingRemainder(dividingBy: rhs))
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:274:46: error: cannot find type 'JFloat' in scope
272 |
273 |     @inlinable
274 |     static public func % (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
275 |         return Vector3(
276 |             x: lhs.x.truncatingRemainder(dividingBy: rhs),
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/PointJointLink.swift:35:20: error: cannot find type 'JFloat' in scope
33 |
34 |     /// Gets the total mass of the subject of this joint link
35 |     open var mass: JFloat {
   |                    `- error: cannot find type 'JFloat' in scope
36 |         return body.pointMasses[_pointMass].mass
37 |     }
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/ShapeJointLink.swift:59:20: error: cannot find type 'JFloat' in scope
 57 |
 58 |     /// Gets the total mass of the subject of this joint link
 59 |     open var mass: JFloat {
    |                    `- error: cannot find type 'JFloat' in scope
 60 |         var sum: JFloat = 0
 61 |
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/ShapeJointLink.swift:116:33: error: cannot find type 'JFloat' in scope
114 |     /// Returns the average angle of the vertices of this ShapeJointLink, based
115 |     /// on the body's original shape's vertices
116 |     fileprivate func angle() -> JFloat {
    |                                 `- error: cannot find type 'JFloat' in scope
117 |         var angle: JFloat = 0
118 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:316:52: error: cannot find type 'JFloat' in scope
314 |     // JFloat interaction
315 |     @inlinable
316 |     static public func +=(lhs: inout Vector2, rhs: JFloat) {
    |                                                    `- error: cannot find type 'JFloat' in scope
317 |         lhs = lhs + rhs
318 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:309:53: error: cannot find type 'JFloat' in scope
307 |     // JFloat interaction
308 |     @inlinable
309 |     static public func += (lhs: inout Vector3, rhs: JFloat) {
    |                                                     `- error: cannot find type 'JFloat' in scope
310 |         lhs = lhs + rhs
311 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:279:45: error: cannot find type 'JFloat' in scope
277 |
278 |     @inlinable
279 |     static public func /(lhs: Vector2, rhs: JFloat) -> Vector2 {
    |                                             `- error: cannot find type 'JFloat' in scope
280 |         return Vector2(x: lhs.x / rhs, y: lhs.y / rhs)
281 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector2.swift:290:31: error: cannot find type 'JFloat' in scope
288 |
289 |     @inlinable
290 |     static public func /(lhs: JFloat, rhs: Vector2) -> Vector2 {
    |                               `- error: cannot find type 'JFloat' in scope
291 |         return Vector2(x: lhs / rhs.x, y: lhs / rhs.y)
292 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:269:46: error: cannot find type 'JFloat' in scope
267 |
268 |     @inlinable
269 |     static public func / (lhs: Vector3, rhs: JFloat) -> Vector3 {
    |                                              `- error: cannot find type 'JFloat' in scope
270 |         return Vector3(x: lhs.x / rhs, y: lhs.y / rhs, z: lhs.z / rhs)
271 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:283:32: error: cannot find type 'JFloat' in scope
281 |
282 |     @inlinable
283 |     static public func / (lhs: JFloat, rhs: Vector3) -> Vector3 {
    |                                `- error: cannot find type 'JFloat' in scope
284 |         return Vector3(x: lhs / rhs.x, y: lhs / rhs.y, z: lhs / rhs.z)
285 |     }
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile EdgeJointLink.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/PointJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PointJointLink.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/ShapeJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ShapeJointLink.swift
SwiftCompile normal arm64 Compiling\ EdgeJointLink.swift,\ PointJointLink.swift,\ ShapeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/PointJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/ShapeJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/EdgeJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile EdgeJointLink.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/PointJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PointJointLink.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/ShapeJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ShapeJointLink.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ JelloSwift (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64 (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ PointMass.swift,\ RenderingSettings.swift,\ RestDistance.swift /Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift /Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PointMass.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PointMass.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/RenderingSettings.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RenderingSettings.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/RestDistance.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RestDistance.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-21 00:25:38.186 xcodebuild[742:4639] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64_32 Compiling\ InternalSpring.swift,\ JointLink.swift,\ BodyJointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/InternalSpring.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/BodyJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 Compiling\ BodyEdge.swift,\ BodyJoint.swift,\ CollisionObserver.swift,\ GravityComponent.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift /Users/admin/builder/spi-builder-workspace/Sources/BodyJoint.swift /Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/Components/GravityComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/BodyEdge.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/BodyJoint.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/CollisionObserver.swift (in target 'JelloSwift' from project 'JelloSwift')
	SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Components/GravityComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
	Building workspace JelloSwift with scheme JelloSwift
(10 failures)
BUILD FAILURE 6.4 watchOS