The Swift Package Index logo.Swift Package Index

Build Information

Failed to build JelloSwift, reference master (ce1dac), with Swift 6.4 for watchOS using Xcode 27.0 on 21 Sep 2026 04:25:34 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

199 |     /// the specified number of points around its circumference
200 |     public static func circle(ofRadius radius: JFloat, pointCount: Int) -> ClosedShape {
    |                                                `- error: cannot find type 'JFloat' in scope
201 |         return .create { shape in
202 |             for i in 0..<pointCount
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:212:46: error: cannot find type 'JFloat' in scope
210 |     /// Creates a closed shape that represents a square, with side of the
211 |     /// specified length
212 |     public static func square(ofSide length: JFloat) -> ClosedShape {
    |                                              `- error: cannot find type 'JFloat' in scope
213 |         return rectangle(ofSides: Vector2(value: length))
214 |     }
/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: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: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: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/ClosedShape.swift:204:36: error: cannot find 'JFloat' in scope
202 |             for i in 0..<pointCount
203 |             {
204 |                 let n = .pi * 2 * (JFloat(i) / JFloat(pointCount))
    |                                    `- error: cannot find 'JFloat' in scope
205 |                 shape.addVertex(Vector2(x: cos(-n) * radius, y: sin(-n) * radius))
206 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:204:48: error: cannot find 'JFloat' in scope
202 |             for i in 0..<pointCount
203 |             {
204 |                 let n = .pi * 2 * (JFloat(i) / JFloat(pointCount))
    |                                                `- error: cannot find 'JFloat' in scope
205 |                 shape.addVertex(Vector2(x: cos(-n) * radius, y: sin(-n) * radius))
206 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:213:50: error: argument passed to call that takes no arguments
211 |     /// specified length
212 |     public static func square(ofSide length: JFloat) -> ClosedShape {
213 |         return rectangle(ofSides: Vector2(value: length))
    |                                                  `- error: argument passed to call that takes no arguments
214 |     }
215 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift:13:70: error: cannot find type 'JFloat' in scope
11 | @_specialize(where T == Array<Vector2>)
12 | @_specialize(where T == ContiguousArray<PointMass>)
13 | public func polygonArea<T: BidirectionalCollection>(of points: T) -> JFloat where T.Iterator.Element: VectorRepresentable {
   |                                                                      `- error: cannot find type 'JFloat' in scope
14 |     guard var v2 = points.last else {
15 |         return 0
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift:35:27: error: cannot find type 'JFloat' in scope
33 |     lineA: (start: Vector2, end: Vector2),
34 |     lineB: (start: Vector2, end: Vector2)
35 | ) -> (hitPt: Vector2, Ua: JFloat, Ub: JFloat)? {
   |                           `- error: cannot find type 'JFloat' in scope
36 |     let denom = ((lineB.end.y - lineB.start.y) * (lineA.end.x - lineA.start.x)) - ((lineB.end.x - lineB.start.x) * (lineA.end.y - lineA.start.y))
37 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift:35:39: error: cannot find type 'JFloat' in scope
33 |     lineA: (start: Vector2, end: Vector2),
34 |     lineB: (start: Vector2, end: Vector2)
35 | ) -> (hitPt: Vector2, Ua: JFloat, Ub: JFloat)? {
   |                                       `- error: cannot find type 'JFloat' in scope
36 |     let denom = ((lineB.end.y - lineB.start.y) * (lineA.end.x - lineA.start.x)) - ((lineB.end.x - lineB.start.x) * (lineA.end.y - lineA.start.y))
37 |
/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/GeomUtils.swift:18:15: error: cannot find type 'JFloat' in scope
16 |     }
17 |
18 |     var area: JFloat = 0
   |               `- error: cannot find type 'JFloat' in scope
19 |
20 |     for p in points {
/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/Vector3.swift:313:53: error: cannot find type 'JFloat' in scope
311 |     }
312 |     @inlinable
313 |     static public func -= (lhs: inout Vector3, rhs: JFloat) {
    |                                                     `- error: cannot find type 'JFloat' in scope
314 |         lhs = lhs - rhs
315 |     }
/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/GeomUtils.swift:39:22: error: reference to member 'leastNonzeroMagnitude' cannot be resolved without a contextual type
37 |
38 |     // if denom == 0, lines are parallel - being a bit generous on this one..
39 |     if abs(denom) < .leastNonzeroMagnitude {
   |                      `- error: reference to member 'leastNonzeroMagnitude' cannot be resolved without a contextual type
40 |         return nil
41 |     }
/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/Matrix3x3.swift:12:25: error: cannot convert value of type '((Int, Int, Int), (Int, Int, Int), (Int, Int, Int))' to expected argument type '(Vector3, Vector3, Vector3)'
 10 |     @inlinable
 11 |     public static var identity: Self {
 12 |         Self.init(rows: (
    |                         `- error: cannot convert value of type '((Int, Int, Int), (Int, Int, Int), (Int, Int, Int))' to expected argument type '(Vector3, Vector3, Vector3)'
 13 |             (1, 0, 0),
 14 |             (0, 1, 0),
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:17:19: error: cannot find type 'JFloat' in scope
 15 |
 16 |     /// The JFloat representation of this vector's x axis
 17 |     public var x: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 18 |
 19 |     /// The JFloat representation of this vector's y axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:20:19: error: cannot find type 'JFloat' in scope
 18 |
 19 |     /// The JFloat representation of this vector's y axis
 20 |     public var y: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 21 |
 22 |     /// The JFloat representation of this vector's z axis
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:23:19: error: cannot find type 'JFloat' in scope
 21 |
 22 |     /// The JFloat representation of this vector's z axis
 23 |     public var z: JFloat
    |                   `- error: cannot find type 'JFloat' in scope
 24 |
 25 |     /// Returns the squared length of this Vector3
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:216:25: error: cannot convert value of type '((_, _, _), (_, _, _), (_, _, _))' to expected argument type '(Vector3, Vector3, Vector3)'
214 |     public init(rows: (Vector3, Vector3, Vector3)) {
215 |
216 |         self.init(rows: (
    |                         `- error: cannot convert value of type '((_, _, _), (_, _, _), (_, _, _))' to expected argument type '(Vector3, Vector3, Vector3)'
217 |             (rows.0.x, rows.0.y, rows.0.z),
218 |             (rows.1.x, rows.1.y, rows.1.z),
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:228:25: error: cannot convert value of type '((_, _, _), (_, _, _), (_, _, _))' to expected argument type '(Vector3, Vector3, Vector3)'
226 |     public init(columns: (Vector3, Vector3, Vector3)) {
227 |
228 |         self.init(rows: (
    |                         `- error: cannot convert value of type '((_, _, _), (_, _, _), (_, _, _))' to expected argument type '(Vector3, Vector3, Vector3)'
229 |             (columns.0.x, columns.1.x, columns.2.x),
230 |             (columns.0.y, columns.1.y, columns.2.y),
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:260:14: error: no exact matches in call to initializer
212 |     /// values for each row.
213 |     @inlinable
214 |     public init(rows: (Vector3, Vector3, Vector3)) {
    |            `- note: incorrect labels for candidate (have: '(diagonal:)', expected: '(rows:)')
215 |
216 |         self.init(rows: (
    :
224 |     /// values for each column.
225 |     @inlinable
226 |     public init(columns: (Vector3, Vector3, Vector3)) {
    |            `- note: incorrect labels for candidate (have: '(diagonal:)', expected: '(columns:)')
227 |
228 |         self.init(rows: (
    :
258 |     @inlinable
259 |     public init(diagonal: Scalar) {
260 |         self.init(diagonal: (diagonal, diagonal, diagonal))
    |              `- error: no exact matches in call to initializer
261 |     }
262 |
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ClosedShape.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GeomUtils.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/JFloat.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile JFloat.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Matrix3x3.swift
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:140:42: error: cannot find type 'JFloat' in scope
138 |     /// Calculates the dot product between this and another provided Vector3
139 |     @inlinable
140 |     public func dot(_ other: Vector3) -> JFloat {
    |                                          `- error: cannot find type 'JFloat' in scope
141 |         return (x * other.x) + (y * other.y) + (z * other.z)
142 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:4:15: error: type 'Vector3' does not conform to protocol 'Decodable'
  2 |
  3 | /// Represents a 2D vector
  4 | public struct Vector3: Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector3' does not conform to protocol 'Decodable'
  5 |
  6 |     /// A zeroed-value Vector3
    :
 15 |
 16 |     /// The JFloat representation of this vector's x axis
 17 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 18 |
 19 |     /// The JFloat representation of this vector's y axis
 20 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 21 |
 22 |     /// The JFloat representation of this vector's z axis
 23 |     public var z: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 24 |
 25 |     /// Returns the squared length of this Vector3
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/Vector3.swift:4:15: error: type 'Vector3' does not conform to protocol 'Decodable'
  2 |
  3 | /// Represents a 2D vector
  4 | public struct Vector3: Equatable, CustomStringConvertible, Codable {
    |               `- error: type 'Vector3' does not conform to protocol 'Decodable'
  5 |
  6 |     /// A zeroed-value Vector3
    :
 15 |
 16 |     /// The JFloat representation of this vector's x axis
 17 |     public var x: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 18 |
 19 |     /// The JFloat representation of this vector's y axis
 20 |     public var y: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 21 |
 22 |     /// The JFloat representation of this vector's z axis
 23 |     public var z: JFloat
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
 24 |
 25 |     /// Returns the squared length of this Vector3
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/Vector3.swift:83:24: error: cannot find type 'JFloat' in scope
 81 |     /// Inits a vector 3 with X, Y, and Z defined as a given float
 82 |     @inlinable
 83 |     public init(value: JFloat) {
    |                        `- error: cannot find type 'JFloat' in scope
 84 |         x = value
 85 |         y = value
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:92:36: error: cannot find type 'JFloat' in scope
 90 |     /// the specified value for the Z component.
 91 |     @inlinable
 92 |     public init(_ vec: Vector2, z: JFloat) {
    |                                    `- error: cannot find type 'JFloat' in scope
 93 |         (self.x, self.y) = (vec.x, vec.y)
 94 |         self.z = z
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:99:27: error: cannot find type 'JFloat' in scope
 97 |     /// Inits a vector 3 with X, Y, and Z defined as a given tuple
 98 |     @inlinable
 99 |     public init(_ value: (JFloat, JFloat, JFloat)) {
    |                           `- error: cannot find type 'JFloat' in scope
100 |         (x, y, z) = value
101 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:99:35: error: cannot find type 'JFloat' in scope
 97 |     /// Inits a vector 3 with X, Y, and Z defined as a given tuple
 98 |     @inlinable
 99 |     public init(_ value: (JFloat, JFloat, JFloat)) {
    |                                   `- error: cannot find type 'JFloat' in scope
100 |         (x, y, z) = value
101 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:99:43: error: cannot find type 'JFloat' in scope
 97 |     /// Inits a vector 3 with X, Y, and Z defined as a given tuple
 98 |     @inlinable
 99 |     public init(_ value: (JFloat, JFloat, JFloat)) {
    |                                           `- error: cannot find type 'JFloat' in scope
100 |         (x, y, z) = value
101 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:310:27: error: missing argument label 'x:' in call
308 |     @inlinable
309 |     public func transformPoint(_ vec: Vector2) -> Vector2 {
310 |         let vec3 = Vector3(vec, z: 1)
    |                           `- error: missing argument label 'x:' in call
311 |
312 |         let result = transformPoint(vec3)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:310:31: error: missing argument for parameter 'y' in call
308 |     @inlinable
309 |     public func transformPoint(_ vec: Vector2) -> Vector2 {
310 |         let vec3 = Vector3(vec, z: 1)
    |                               `- error: missing argument for parameter 'y' in call
311 |
312 |         let result = transformPoint(vec3)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:59:12: note: 'init(x:y:z:)' declared here
 57 |     /// Inits a vector 3 with three integer components
 58 |     @inlinable
 59 |     public init(x: Int, y: Int, z: Int) {
    |            `- note: 'init(x:y:z:)' declared here
 60 |         self.x = JFloat(x)
 61 |         self.y = JFloat(y)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:310:28: error: cannot convert value of type 'Vector2' to expected argument type 'Int'
308 |     @inlinable
309 |     public func transformPoint(_ vec: Vector2) -> Vector2 {
310 |         let vec3 = Vector3(vec, z: 1)
    |                            `- error: cannot convert value of type 'Vector2' to expected argument type 'Int'
311 |
312 |         let result = transformPoint(vec3)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:329:27: error: missing argument label 'x:' in call
327 |     @inlinable
328 |     public func transformVector(_ vec: Vector2) -> Vector2 {
329 |         let vec3 = Vector3(vec, z: 1)
    |                           `- error: missing argument label 'x:' in call
330 |
331 |         let result = transformPoint(vec3)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:329:31: error: missing argument for parameter 'y' in call
327 |     @inlinable
328 |     public func transformVector(_ vec: Vector2) -> Vector2 {
329 |         let vec3 = Vector3(vec, z: 1)
    |                               `- error: missing argument for parameter 'y' in call
330 |
331 |         let result = transformPoint(vec3)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Vector3.swift:59:12: note: 'init(x:y:z:)' declared here
 57 |     /// Inits a vector 3 with three integer components
 58 |     @inlinable
 59 |     public init(x: Int, y: Int, z: Int) {
    |            `- note: 'init(x:y:z:)' declared here
 60 |         self.x = JFloat(x)
 61 |         self.y = JFloat(y)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:329:28: error: cannot convert value of type 'Vector2' to expected argument type 'Int'
327 |     @inlinable
328 |     public func transformVector(_ vec: Vector2) -> Vector2 {
329 |         let vec3 = Vector3(vec, z: 1)
    |                            `- error: cannot convert value of type 'Vector2' to expected argument type 'Int'
330 |
331 |         let result = transformPoint(vec3)
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:387:20: error: cannot convert value of type '((_, Int, Int), (Int, _, Int), (Int, Int, Int))' to expected argument type '(Vector3, Vector3, Vector3)'
385 |     @inlinable
386 |     public static func make2DScale(x: Scalar, y: Scalar) -> Self {
387 |         Self(rows: (
    |                    `- error: cannot convert value of type '((_, Int, Int), (Int, _, Int), (Int, Int, Int))' to expected argument type '(Vector3, Vector3, Vector3)'
388 |             (x, 0, 0),
389 |             (0, y, 0),
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:408:27: error: cannot convert value of type '((_, _, Int), (_, _, Int), (Int, Int, Int))' to expected argument type '(Vector3, Vector3, Vector3)'
406 |         let s = sin(angleInRadians)
407 |
408 |         return Self(rows: (
    |                           `- error: cannot convert value of type '((_, _, Int), (_, _, Int), (Int, Int, Int))' to expected argument type '(Vector3, Vector3, Vector3)'
409 |             (c, -s, 0),
410 |             (s,  c, 0),
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift:419:20: error: cannot convert value of type '((Int, Int, _), (Int, Int, _), (Int, Int, Int))' to expected argument type '(Vector3, Vector3, Vector3)'
417 |     @inlinable
418 |     public static func make2DTranslation(x: Scalar, y: Scalar) -> Self {
419 |         Self(rows: (
    |                    `- error: cannot convert value of type '((Int, Int, _), (Int, Int, _), (Int, Int, Int))' to expected argument type '(Vector3, Vector3, Vector3)'
420 |             (1, 0, x),
421 |             (0, 1, y),
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/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-21 00:25:25.275 xcodebuild[624:3974] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	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')
	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 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')
	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:30.878 xcodebuild[727:4494] [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:32.127 xcodebuild[735:4563] [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
SwiftCompile normal arm64 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')
SwiftCompile normal arm64 /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 /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 /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 /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 Compiling\ ClosedShape.swift,\ GeomUtils.swift,\ JFloat.swift,\ Matrix3x3.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 (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ClosedShape.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GeomUtils.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/JFloat.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile JFloat.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/Matrix3x3.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Matrix3x3.swift
SwiftCompile normal arm64 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 /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 /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 /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 /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 Compiling\ PressureComponent.swift,\ ShapeMatchComponent.swift,\ SpringComponent.swift,\ AABB.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 (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Components/PressureComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PressureComponent.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ShapeMatchComponent.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SpringComponent.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AABB.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\ 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 /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 /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 /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 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')
SwiftCompile normal arm64 /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 /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 /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 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
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
SwiftCompile normal arm64 Compiling\ WeightedShapeJointLink.swift,\ MaterialPair.swift,\ PhysicsUtils.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 (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/WeightedShapeJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile WeightedShapeJointLink.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/MaterialPair.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MaterialPair.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PhysicsUtils.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PhysicsUtils.swift
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 {
/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
/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/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/Components/PressureComponent.swift:20:41: error: cannot find type 'JFloat' in scope
18 |     /// Equal the polygonal area of the body's point masses.
19 |     /// Is clamped to always be be >= 0.5
20 |     fileprivate(set) public var volume: JFloat = 0
   |                                         `- error: cannot find type 'JFloat' in scope
21 |
22 |     /// The gas pressure coefficient for the pressure component.
/Users/admin/builder/spi-builder-workspace/Sources/Components/PressureComponent.swift:24:29: error: cannot find type 'JFloat' in scope
22 |     /// The gas pressure coefficient for the pressure component.
23 |     /// Higher values result in higher expansion and resistance to compression.
24 |     public var gasPressure: JFloat = 0
   |                             `- error: cannot find type 'JFloat' in scope
25 |
26 |     public init() {
/Users/admin/builder/spi-builder-workspace/Sources/Components/PressureComponent.swift:62:29: error: cannot find type 'JFloat' in scope
60 |     /// Higher values result in higher resistance to compression and higher
61 |     /// expansion.
62 |     public var gasPressure: JFloat
   |                             `- error: cannot find type 'JFloat' in scope
63 |
64 |     public init(gasPressure: JFloat = 0) {
/Users/admin/builder/spi-builder-workspace/Sources/Components/PressureComponent.swift:55:15: error: type 'PressureComponentCreator' does not conform to protocol 'Decodable'
53 |
54 | // Creator for the Spring component
55 | public struct PressureComponentCreator: BodyComponentCreator, Codable {
   |               `- error: type 'PressureComponentCreator' does not conform to protocol 'Decodable'
56 |
57 |     public static var bodyComponentClass: BodyComponent.Type = PressureComponent.self
   :
60 |     /// Higher values result in higher resistance to compression and higher
61 |     /// expansion.
62 |     public var gasPressure: JFloat
   |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
63 |
64 |     public init(gasPressure: JFloat = 0) {
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/Components/PressureComponent.swift:64:30: error: cannot find type 'JFloat' in scope
62 |     public var gasPressure: JFloat
63 |
64 |     public init(gasPressure: JFloat = 0) {
   |                              `- error: cannot find type 'JFloat' in scope
65 |         self.gasPressure = gasPressure
66 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Components/PressureComponent.swift:55:15: error: type 'PressureComponentCreator' does not conform to protocol 'Encodable'
53 |
54 | // Creator for the Spring component
55 | public struct PressureComponentCreator: BodyComponentCreator, Codable {
   |               `- error: type 'PressureComponentCreator' does not conform to protocol 'Encodable'
56 |
57 |     public static var bodyComponentClass: BodyComponent.Type = PressureComponent.self
   :
60 |     /// Higher values result in higher resistance to compression and higher
61 |     /// expansion.
62 |     public var gasPressure: JFloat
   |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
63 |
64 |     public init(gasPressure: JFloat = 0) {
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/Components/ShapeMatchComponent.swift:16:35: error: cannot find type 'JFloat' in scope
 14 |     /// The spring constant for the shape matching of the body - ignored if
 15 |     /// shape matching is off
 16 |     fileprivate var shapeSpringK: JFloat = 200
    |                                   `- error: cannot find type 'JFloat' in scope
 17 |     /// The spring damping for the shape matching of the body - ignored if the
 18 |     /// shape matching is off
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:19:38: error: cannot find type 'JFloat' in scope
 17 |     /// The spring damping for the shape matching of the body - ignored if the
 18 |     /// shape matching is off
 19 |     fileprivate var shapeSpringDamp: JFloat = 10
    |                                      `- error: cannot find type 'JFloat' in scope
 20 |
 21 |     public init() {
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:30:54: error: cannot find type 'JFloat' in scope
 28 |
 29 |     /// Sets the shape-matching spring constants
 30 |     public func setShapeMatchingConstants(_ springK: JFloat, _ damping: JFloat) {
    |                                                      `- error: cannot find type 'JFloat' in scope
 31 |         shapeSpringK = springK
 32 |         shapeSpringDamp = damping
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:30:73: error: cannot find type 'JFloat' in scope
 28 |
 29 |     /// Sets the shape-matching spring constants
 30 |     public func setShapeMatchingConstants(_ springK: JFloat, _ damping: JFloat) {
    |                                                                         `- error: cannot find type 'JFloat' in scope
 31 |         shapeSpringK = springK
 32 |         shapeSpringDamp = damping
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:102:109: error: cannot find type 'JFloat' in scope
100 |     }
101 |
102 |     fileprivate func deriveSubsetPositionAngle(on body: Body, indices: [Int]) -> (position: Vector2, angle: JFloat) {
    |                                                                                                             `- error: cannot find type 'JFloat' in scope
103 |         let meanPos = body.isPined ? PointMass.averagePosition(of: body.pointMasses) : body.derivedPos
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:176:30: error: cannot find type 'JFloat' in scope
174 |     /// The spring constant for the shape matching of the body - ignored if
175 |     /// shape matching is off
176 |     public var shapeSpringK: JFloat = 200
    |                              `- error: cannot find type 'JFloat' in scope
177 |     /// The spring damping for the shape matching of the body - ignored if the
178 |     /// shape matching is off
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:179:33: error: cannot find type 'JFloat' in scope
177 |     /// The spring damping for the shape matching of the body - ignored if the
178 |     /// shape matching is off
179 |     public var shapeSpringDamp: JFloat = 10
    |                                 `- error: cannot find type 'JFloat' in scope
180 |
181 |     public init(
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:161:15: error: type 'ShapeMatchComponentCreator' does not conform to protocol 'Decodable'
159 |
160 | /// Creator for the Shape Match component
161 | public struct ShapeMatchComponentCreator: BodyComponentCreator, Codable {
    |               `- error: type 'ShapeMatchComponentCreator' does not conform to protocol 'Decodable'
162 |
163 |     public static var bodyComponentClass: BodyComponent.Type = ShapeMatchComponent.self
    :
174 |     /// The spring constant for the shape matching of the body - ignored if
175 |     /// shape matching is off
176 |     public var shapeSpringK: JFloat = 200
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
177 |     /// The spring damping for the shape matching of the body - ignored if the
178 |     /// shape matching is off
179 |     public var shapeSpringDamp: JFloat = 10
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
180 |
181 |     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/Components/ShapeMatchComponent.swift:184:23: error: cannot find type 'JFloat' in scope
182 |         shapeMatchingOn: Bool = true,
183 |         target: ShapeMatchComponent.Target = .fullShape,
184 |         shapeSpringK: JFloat = 200,
    |                       `- error: cannot find type 'JFloat' in scope
185 |         shapeSpringDamp: JFloat = 10
186 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:185:26: error: cannot find type 'JFloat' in scope
183 |         target: ShapeMatchComponent.Target = .fullShape,
184 |         shapeSpringK: JFloat = 200,
185 |         shapeSpringDamp: JFloat = 10
    |                          `- error: cannot find type 'JFloat' in scope
186 |     ) {
187 |         self.shapeMatchingOn = shapeMatchingOn
/Users/admin/builder/spi-builder-workspace/Sources/Components/ShapeMatchComponent.swift:161:15: error: type 'ShapeMatchComponentCreator' does not conform to protocol 'Encodable'
159 |
160 | /// Creator for the Shape Match component
161 | public struct ShapeMatchComponentCreator: BodyComponentCreator, Codable {
    |               `- error: type 'ShapeMatchComponentCreator' does not conform to protocol 'Encodable'
162 |
163 |     public static var bodyComponentClass: BodyComponent.Type = ShapeMatchComponent.self
    :
174 |     /// The spring constant for the shape matching of the body - ignored if
175 |     /// shape matching is off
176 |     public var shapeSpringK: JFloat = 200
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
177 |     /// The spring damping for the shape matching of the body - ignored if the
178 |     /// shape matching is off
179 |     public var shapeSpringDamp: JFloat = 10
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
180 |
181 |     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/Components/SpringComponent.swift:33:34: error: cannot find type 'JFloat' in scope
 31 |
 32 |     /// The spring constant for the edges of the spring body
 33 |     fileprivate var edgeSpringK: JFloat = 50
    |                                  `- error: cannot find type 'JFloat' in scope
 34 |     /// The spring damping for the edges of the spring body
 35 |     fileprivate var edgeSpringDamp: JFloat = 2
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:35:37: error: cannot find type 'JFloat' in scope
 33 |     fileprivate var edgeSpringK: JFloat = 50
 34 |     /// The spring damping for the edges of the spring body
 35 |     fileprivate var edgeSpringDamp: JFloat = 2
    |                                     `- error: cannot find type 'JFloat' in scope
 36 |
 37 |     /// The spring constant for the shape matching of the body - ignored if
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:39:35: error: cannot find type 'JFloat' in scope
 37 |     /// The spring constant for the shape matching of the body - ignored if
 38 |     /// shape matching is off
 39 |     fileprivate var shapeSpringK: JFloat = 200
    |                                   `- error: cannot find type 'JFloat' in scope
 40 |     /// The spring damping for the shape matching of the body - ignored if the
 41 |     /// shape matching is off
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:42:38: error: cannot find type 'JFloat' in scope
 40 |     /// The spring damping for the shape matching of the body - ignored if the
 41 |     /// shape matching is off
 42 |     fileprivate var shapeSpringDamp: JFloat = 10
    |                                      `- error: cannot find type 'JFloat' in scope
 43 |
 44 |     public init() {
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:58:18: error: cannot find type 'JFloat' in scope
 56 |         pointA: Int,
 57 |         pointB: Int,
 58 |         springK: JFloat,
    |                  `- error: cannot find type 'JFloat' in scope
 59 |         damping: JFloat,
 60 |         plasticity: SpringPlasticity? = nil
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:59:18: error: cannot find type 'JFloat' in scope
 57 |         pointB: Int,
 58 |         springK: JFloat,
 59 |         damping: JFloat,
    |                  `- error: cannot find type 'JFloat' in scope
 60 |         plasticity: SpringPlasticity? = nil
 61 |     ) -> InternalSpring {
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:85:18: error: cannot find type 'JFloat' in scope
 83 |         pointA: Int,
 84 |         pointB: Int,
 85 |         springK: JFloat,
    |                  `- error: cannot find type 'JFloat' in scope
 86 |         damping: JFloat,
 87 |         dist: RestDistance,
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:86:18: error: cannot find type 'JFloat' in scope
 84 |         pointB: Int,
 85 |         springK: JFloat,
 86 |         damping: JFloat,
    |                  `- error: cannot find type 'JFloat' in scope
 87 |         dist: RestDistance,
 88 |         plasticity: SpringPlasticity? = nil
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:121:54: error: cannot find type 'JFloat' in scope
119 |
120 |     /// Sets the shape-matching spring constants
121 |     public func setShapeMatchingConstants(_ springK: JFloat, _ damping: JFloat) {
    |                                                      `- error: cannot find type 'JFloat' in scope
122 |         shapeSpringK = springK
123 |         shapeSpringDamp = damping
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:121:73: error: cannot find type 'JFloat' in scope
119 |
120 |     /// Sets the shape-matching spring constants
121 |     public func setShapeMatchingConstants(_ springK: JFloat, _ damping: JFloat) {
    |                                                                         `- error: cannot find type 'JFloat' in scope
122 |         shapeSpringK = springK
123 |         shapeSpringDamp = damping
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:129:22: error: cannot find type 'JFloat' in scope
127 |     /// (edge springs)
128 |     public func setEdgeSpringConstants(
129 |         edgeSpringK: JFloat,
    |                      `- error: cannot find type 'JFloat' in scope
130 |         _ edgeSpringDamp: JFloat
131 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:130:27: error: cannot find type 'JFloat' in scope
128 |     public func setEdgeSpringConstants(
129 |         edgeSpringK: JFloat,
130 |         _ edgeSpringDamp: JFloat
    |                           `- error: cannot find type 'JFloat' in scope
131 |     ) {
132 |         // we know that the first n springs in the list are the edge springs.
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:144:20: error: cannot find type 'JFloat' in scope
142 |     public func setSpringConstants(
143 |         forSpringIndex springID: Int,
144 |         _ springK: JFloat,
    |                    `- error: cannot find type 'JFloat' in scope
145 |         _ springDamp: JFloat
146 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:145:23: error: cannot find type 'JFloat' in scope
143 |         forSpringIndex springID: Int,
144 |         _ springK: JFloat,
145 |         _ springDamp: JFloat
    |                       `- error: cannot find type 'JFloat' in scope
146 |     ) {
147 |         // index is for all internal springs, AFTER the default edge springs.
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:174:68: error: cannot find type 'JFloat' in scope
172 |     /// This ignores the default edge springs, so the index is always
173 |     /// `+ body.pointMasses.count`
174 |     public func springCoefficient(forSpringIndex springID: Int) -> JFloat {
    |                                                                    `- error: cannot find type 'JFloat' in scope
175 |         return springs[edgeSpringsCount + springID].coefficient
176 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:181:64: error: cannot find type 'JFloat' in scope
179 |     /// This ignores the default edge springs, so the index is always
180 |     /// `+ body.pointMasses.count`
181 |     public func springDamping(forSpringIndex springID: Int) -> JFloat {
    |                                                                `- error: cannot find type 'JFloat' in scope
182 |         return springs[edgeSpringsCount + springID].damping
183 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:281:29: error: cannot find type 'JFloat' in scope
279 |
280 |     /// The spring constant for the edges of the spring body
281 |     public var edgeSpringK: JFloat = 50
    |                             `- error: cannot find type 'JFloat' in scope
282 |     /// The spring damping for the edges of the spring body
283 |     public var edgeSpringDamp: JFloat = 2
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:283:32: error: cannot find type 'JFloat' in scope
281 |     public var edgeSpringK: JFloat = 50
282 |     /// The spring damping for the edges of the spring body
283 |     public var edgeSpringDamp: JFloat = 2
    |                                `- error: cannot find type 'JFloat' in scope
284 |
285 |     /// The spring constant for the shape matching of the body - ignored if
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:287:30: error: cannot find type 'JFloat' in scope
285 |     /// The spring constant for the shape matching of the body - ignored if
286 |     /// shape matching is off
287 |     public var shapeSpringK: JFloat = 200
    |                              `- error: cannot find type 'JFloat' in scope
288 |     /// The spring damping for the shape matching of the body - ignored if the
289 |     /// shape matching is off
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:290:33: error: cannot find type 'JFloat' in scope
288 |     /// The spring damping for the shape matching of the body - ignored if the
289 |     /// shape matching is off
290 |     public var shapeSpringDamp: JFloat = 10
    |                                 `- error: cannot find type 'JFloat' in scope
291 |
292 |     /// An array of inner springs for a body
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:271:15: error: type 'SpringComponentCreator' does not conform to protocol 'Decodable'
269 |
270 | /// Creator for the Spring component
271 | public struct SpringComponentCreator: BodyComponentCreator, Codable {
    |               `- error: type 'SpringComponentCreator' does not conform to protocol 'Decodable'
272 |
273 |     public static var bodyComponentClass: BodyComponent.Type = SpringComponent.self
    :
279 |
280 |     /// The spring constant for the edges of the spring body
281 |     public var edgeSpringK: JFloat = 50
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
282 |     /// The spring damping for the edges of the spring body
283 |     public var edgeSpringDamp: JFloat = 2
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
284 |
285 |     /// The spring constant for the shape matching of the body - ignored if
286 |     /// shape matching is off
287 |     public var shapeSpringK: JFloat = 200
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
288 |     /// The spring damping for the shape matching of the body - ignored if the
289 |     /// shape matching is off
290 |     public var shapeSpringDamp: JFloat = 10
    |                `- note: cannot automatically synthesize 'Decodable' because 'JFloat' does not conform to 'Decodable'
291 |
292 |     /// An array of inner springs for a body
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/Components/SpringComponent.swift:297:22: error: cannot find type 'JFloat' in scope
295 |     public init(
296 |         shapeMatchingOn: Bool = true,
297 |         edgeSpringK: JFloat = 50, edgeSpringDamp: JFloat = 2,
    |                      `- error: cannot find type 'JFloat' in scope
298 |         shapeSpringK: JFloat = 200, shapeSpringDamp: JFloat = 10,
299 |         innerSprings: [InternalSpring] = []
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:297:51: error: cannot find type 'JFloat' in scope
295 |     public init(
296 |         shapeMatchingOn: Bool = true,
297 |         edgeSpringK: JFloat = 50, edgeSpringDamp: JFloat = 2,
    |                                                   `- error: cannot find type 'JFloat' in scope
298 |         shapeSpringK: JFloat = 200, shapeSpringDamp: JFloat = 10,
299 |         innerSprings: [InternalSpring] = []
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:298:23: error: cannot find type 'JFloat' in scope
296 |         shapeMatchingOn: Bool = true,
297 |         edgeSpringK: JFloat = 50, edgeSpringDamp: JFloat = 2,
298 |         shapeSpringK: JFloat = 200, shapeSpringDamp: JFloat = 10,
    |                       `- error: cannot find type 'JFloat' in scope
299 |         innerSprings: [InternalSpring] = []
300 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:298:54: error: cannot find type 'JFloat' in scope
296 |         shapeMatchingOn: Bool = true,
297 |         edgeSpringK: JFloat = 50, edgeSpringDamp: JFloat = 2,
298 |         shapeSpringK: JFloat = 200, shapeSpringDamp: JFloat = 10,
    |                                                      `- error: cannot find type 'JFloat' in scope
299 |         innerSprings: [InternalSpring] = []
300 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Components/SpringComponent.swift:271:15: error: type 'SpringComponentCreator' does not conform to protocol 'Encodable'
269 |
270 | /// Creator for the Spring component
271 | public struct SpringComponentCreator: BodyComponentCreator, Codable {
    |               `- error: type 'SpringComponentCreator' does not conform to protocol 'Encodable'
272 |
273 |     public static var bodyComponentClass: BodyComponent.Type = SpringComponent.self
    :
279 |
280 |     /// The spring constant for the edges of the spring body
281 |     public var edgeSpringK: JFloat = 50
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
282 |     /// The spring damping for the edges of the spring body
283 |     public var edgeSpringDamp: JFloat = 2
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
284 |
285 |     /// The spring constant for the shape matching of the body - ignored if
286 |     /// shape matching is off
287 |     public var shapeSpringK: JFloat = 200
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
288 |     /// The spring damping for the shape matching of the body - ignored if the
289 |     /// shape matching is off
290 |     public var shapeSpringDamp: JFloat = 10
    |                `- note: cannot automatically synthesize 'Encodable' because 'JFloat' does not conform to 'Encodable'
291 |
292 |     /// An array of inner springs for a body
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/AABB.swift:28:19: error: cannot find type 'JFloat' in scope
 26 |     /// Gets the X position of this AABB
 27 |     @inlinable
 28 |     public var x: JFloat {
    |                   `- error: cannot find type 'JFloat' in scope
 29 |         return minimum.x
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift:33:19: error: cannot find type 'JFloat' in scope
 31 |     /// Gets the Y position of this AABB
 32 |     @inlinable
 33 |     public var y: JFloat {
    |                   `- error: cannot find type 'JFloat' in scope
 34 |         return minimum.y
 35 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift:40:23: error: cannot find type 'JFloat' in scope
 38 |     /// This is the same as `maximum.x - minimum.x`
 39 |     @inlinable
 40 |     public var width: JFloat {
    |                       `- error: cannot find type 'JFloat' in scope
 41 |         return maximum.x - minimum.x
 42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift:47:24: error: cannot find type 'JFloat' in scope
 45 |     /// This is the same as `maximum.y - minimum.y`
 46 |     @inlinable
 47 |     public var height: JFloat {
    |                        `- error: cannot find type 'JFloat' in scope
 48 |         return maximum.y - minimum.y
 49 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift:53:22: error: cannot find type 'JFloat' in scope
 51 |     /// Gets the middle X position of this AABB
 52 |     @inlinable
 53 |     public var midX: JFloat {
    |                      `- error: cannot find type 'JFloat' in scope
 54 |         return (minimum.x + maximum.x) / 2
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift:58:22: error: cannot find type 'JFloat' in scope
 56 |     /// Gets the middle Y position of this AABB
 57 |     @inlinable
 58 |     public var midY: JFloat {
    |                      `- error: cannot find type 'JFloat' in scope
 59 |         return (minimum.y + maximum.y) / 2
 60 |     }
/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: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/AABB.swift:54:40: error: no '/' candidates produce the expected contextual result type '_'
 52 |     @inlinable
 53 |     public var midX: JFloat {
 54 |         return (minimum.x + maximum.x) / 2
    |                                        `- error: no '/' candidates produce the expected contextual result type '_'
 55 |     }
 56 |     /// Gets the middle Y position of this AABB
Swift.DurationProtocol./:2:13: note: '/' produces '_', not the expected contextual result type '_'
1 | protocol DurationProtocol {
2 | static func / (lhs: Self, rhs: Int) -> Self}
  |             |- note: '/' produces '_', not the expected contextual result type '_'
  |             `- note: '/' produces 'Self', not the expected contextual result type '_'
3 |
Swift.BinaryInteger./:2:13: note: '/' produces '_', not the expected contextual result type '_'
1 | protocol BinaryInteger {
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 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/AABB.swift:59:40: error: no '/' candidates produce the expected contextual result type '_'
 57 |     @inlinable
 58 |     public var midY: JFloat {
 59 |         return (minimum.y + maximum.y) / 2
    |                                        `- error: no '/' candidates produce the expected contextual result type '_'
 60 |     }
 61 |
Swift.DurationProtocol./:2:13: note: '/' produces '_', not the expected contextual result type '_'
1 | protocol DurationProtocol {
2 | static func / (lhs: Self, rhs: Int) -> Self}
  |             |- note: '/' produces '_', not the expected contextual result type '_'
  |             `- note: '/' produces 'Self', not the expected contextual result type '_'
3 |
Swift.BinaryInteger./:2:13: note: '/' produces '_', not the expected contextual result type '_'
1 | protocol BinaryInteger {
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 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:55:39: error: cannot find type 'JFloat' in scope
 53 |     /// Adds a vertex to this closed shape
 54 |     @inlinable
 55 |     public mutating func addVertex(x: JFloat, y: JFloat) {
    |                                       `- error: cannot find type 'JFloat' in scope
 56 |         addVertex(Vector2(x: x, y: y))
 57 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:55:50: error: cannot find type 'JFloat' in scope
 53 |     /// Adds a vertex to this closed shape
 54 |     @inlinable
 55 |     public mutating func addVertex(x: JFloat, y: JFloat) {
    |                                                  `- error: cannot find type 'JFloat' in scope
 56 |         addVertex(Vector2(x: x, y: y))
 57 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:101:36: error: cannot find type 'JFloat' in scope
 99 |     @inlinable
100 |     public mutating func transformOwnBy(
101 |         rotatingBy angleInRadians: JFloat = 0,
    |                                    `- error: cannot find type 'JFloat' in scope
102 |         scalingBy scale: Vector2 = .unit
103 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:128:36: error: cannot find type 'JFloat' in scope
126 |     public func transformedBy(
127 |         translatingBy worldPos: Vector2 = .zero,
128 |         rotatingBy angleInRadians: JFloat = 0,
    |                                    `- error: cannot find type 'JFloat' in scope
129 |         scalingBy localScale: Vector2 = .unit
130 |     ) -> ClosedShape {
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:150:25: error: cannot find type 'JFloat' in scope
148 |         _ target: inout [Vector2],
149 |         worldPos: Vector2,
150 |         angleInRadians: JFloat,
    |                         `- error: cannot find type 'JFloat' in scope
151 |         localScale: Vector2 = Vector2.unit
152 |     ) {
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:200:48: error: cannot find type 'JFloat' in scope
198 |     /// Creates a closed shape that represents a circle of a given radius, with
199 |     /// the specified number of points around its circumference
200 |     public static func circle(ofRadius radius: JFloat, pointCount: Int) -> ClosedShape {
    |                                                `- error: cannot find type 'JFloat' in scope
201 |         return .create { shape in
202 |             for i in 0..<pointCount
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/ClosedShape.swift:212:46: error: cannot find type 'JFloat' in scope
210 |     /// Creates a closed shape that represents a square, with side of the
211 |     /// specified length
212 |     public static func square(ofSide length: JFloat) -> ClosedShape {
    |                                              `- error: cannot find type 'JFloat' in scope
213 |         return rectangle(ofSides: Vector2(value: length))
214 |     }
/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: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/GeomUtils.swift:13:70: error: cannot find type 'JFloat' in scope
11 | @_specialize(where T == Array<Vector2>)
12 | @_specialize(where T == ContiguousArray<PointMass>)
13 | public func polygonArea<T: BidirectionalCollection>(of points: T) -> JFloat where T.Iterator.Element: VectorRepresentable {
   |                                                                      `- error: cannot find type 'JFloat' in scope
14 |     guard var v2 = points.last else {
15 |         return 0
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift:35:27: error: cannot find type 'JFloat' in scope
33 |     lineA: (start: Vector2, end: Vector2),
34 |     lineB: (start: Vector2, end: Vector2)
35 | ) -> (hitPt: Vector2, Ua: JFloat, Ub: JFloat)? {
   |                           `- error: cannot find type 'JFloat' in scope
36 |     let denom = ((lineB.end.y - lineB.start.y) * (lineA.end.x - lineA.start.x)) - ((lineB.end.x - lineB.start.x) * (lineA.end.y - lineA.start.y))
37 |
/Users/admin/builder/spi-builder-workspace/Sources/Geometry/GeomUtils.swift:35:39: error: cannot find type 'JFloat' in scope
33 |     lineA: (start: Vector2, end: Vector2),
34 |     lineB: (start: Vector2, end: Vector2)
35 | ) -> (hitPt: Vector2, Ua: JFloat, Ub: JFloat)? {
   |                                       `- error: cannot find type 'JFloat' in scope
36 |     let denom = ((lineB.end.y - lineB.start.y) * (lineA.end.x - lineA.start.x)) - ((lineB.end.x - lineB.start.x) * (lineA.end.y - lineA.start.y))
37 |
/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/GeomUtils.swift:39:22: error: reference to member 'leastNonzeroMagnitude' cannot be resolved without a contextual type
37 |
38 |     // if denom == 0, lines are parallel - being a bit generous on this one..
39 |     if abs(denom) < .leastNonzeroMagnitude {
   |                      `- error: reference to member 'leastNonzeroMagnitude' cannot be resolved without a contextual type
40 |         return nil
41 |     }
SwiftCompile normal arm64_32 (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftDriverJobDiscovery normal arm64 Emitting module for JelloSwift (in target 'JelloSwift' from project 'JelloSwift')
SwiftDriver\ Compilation\ Requirements 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-Swift-Compilation-Requirements -- /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
SwiftDriverJobDiscovery normal arm64 Compiling PointMass.swift, RenderingSettings.swift, RestDistance.swift (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64_32 Compiling\ WeightedShapeJointLink.swift,\ MaterialPair.swift,\ PhysicsUtils.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 (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/JointLinks/WeightedShapeJointLink.swift:63:20: error: cannot find type 'JFloat' in scope
 61 |
 62 |     /// Gets the total mass of the subject of this joint link
 63 |     open var mass: JFloat {
    |                    `- error: cannot find type 'JFloat' in scope
 64 |         var sum: JFloat = 0
 65 |
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/WeightedShapeJointLink.swift:123:33: error: cannot find type 'JFloat' in scope
121 |     /// Returns the average angle of the vertices of this ShapeJointLink, based
122 |     /// on the body's original shape's vertices
123 |     fileprivate func angle() -> JFloat {
    |                                 `- error: cannot find type 'JFloat' in scope
124 |         var angle: JFloat = 0
125 |
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/WeightedShapeJointLink.swift:171:28: error: cannot find type 'JFloat' in scope
169 |         /// A weighted value applied to the averaging function when considering
170 |         /// this point mass.
171 |         public var weight: JFloat
    |                            `- error: cannot find type 'JFloat' in scope
172 |
173 |         public init(index: Int, weight: JFloat) {
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/WeightedShapeJointLink.swift:173:41: error: cannot find type 'JFloat' in scope
171 |         public var weight: JFloat
172 |
173 |         public init(index: Int, weight: JFloat) {
    |                                         `- error: cannot find type 'JFloat' in scope
174 |             self.index = index
175 |             self.weight = weight
/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/WeightedShapeJointLink.swift:30:20: error: cannot find type 'JFloat' in scope
 28 |     open var position: Vector2 {
 29 |         var average = Vector2.zero
 30 |         var total: JFloat = .zero
    |                    `- error: cannot find type 'JFloat' in scope
 31 |
 32 |         for entry in _entries {
/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/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: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: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: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/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/JointLinks/WeightedShapeJointLink.swift:52:20: error: cannot find type 'JFloat' in scope
 50 |     open var velocity: Vector2 {
 51 |         var average = Vector2.zero
 52 |         var total: JFloat = .zero
    |                    `- error: cannot find type 'JFloat' in scope
 53 |
 54 |         for entry in _entries {
/Users/admin/builder/spi-builder-workspace/Sources/JointLinks/WeightedShapeJointLink.swift:64:18: error: cannot find type 'JFloat' in scope
 62 |     /// Gets the total mass of the subject of this joint link
 63 |     open var mass: JFloat {
 64 |         var sum: JFloat = 0
    |                  `- error: cannot find type 'JFloat' in scope
 65 |
 66 |         for entry in _entries {
/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: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/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/JointLinks/WeightedShapeJointLink.swift:124:20: error: cannot find type 'JFloat' in scope
122 |     /// on the body's original shape's vertices
123 |     fileprivate func angle() -> JFloat {
124 |         var angle: JFloat = 0
    |                    `- error: cannot find type 'JFloat' in scope
125 |
126 |         var originalSign = 1
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/JointLinks/WeightedShapeJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile WeightedShapeJointLink.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MaterialPair.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MaterialPair.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/PhysicsUtils.swift (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PhysicsUtils.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-12 -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
SwiftDriverJobDiscovery normal arm64 Compiling InternalSpring.swift, JointLink.swift, BodyJointLink.swift (in target 'JelloSwift' from project 'JelloSwift')
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/JelloSwift.swiftmodule/arm64-apple-watchos.swiftmodule /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.swiftmodule (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -rename /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.swiftmodule /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/JelloSwift.swiftmodule/arm64-apple-watchos.swiftmodule
SwiftDriverJobDiscovery normal arm64 Compiling BodyEdge.swift, BodyJoint.swift, CollisionObserver.swift, GravityComponent.swift (in target 'JelloSwift' from project 'JelloSwift')
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/JelloSwift.swiftmodule/arm64-apple-watchos.swiftdoc /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.swiftdoc (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -rename /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.swiftdoc /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/JelloSwift.swiftmodule/arm64-apple-watchos.swiftdoc
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/JelloSwift.swiftmodule/arm64-apple-watchos.abi.json /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.abi.json (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -rename /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.abi.json /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/JelloSwift.swiftmodule/arm64-apple-watchos.abi.json
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/JelloSwift.swiftmodule/Project/arm64-apple-watchos.swiftsourceinfo /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.swiftsourceinfo (in target 'JelloSwift' from project 'JelloSwift')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -rename /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/JelloSwift.build/Debug-watchos/JelloSwift-t.build/Objects-normal/arm64/JelloSwift.swiftsourceinfo /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/JelloSwift.swiftmodule/Project/arm64-apple-watchos.swiftsourceinfo
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 |
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 Compiling\ SpringBodyJoint.swift,\ Utils.swift,\ World.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 (in target 'JelloSwift' from project 'JelloSwift')
SwiftCompile normal arm64 /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 /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 /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
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-21 00:25:33.105 xcodebuild[736:4591] [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')
	Building workspace JelloSwift with scheme JelloSwift
(5 failures)
BUILD FAILURE 6.4 watchOS