The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build Helical, reference main (0fa8de), with Swift 6.1 for macOS (SPM) on 9 Dec 2025 02:32:00 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[292/381] Compiling Cadova SplitInto.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[293/381] Compiling Cadova Stack.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[294/381] Compiling Cadova Geometry+Transformable.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[295/381] Compiling Cadova RotateAround.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[296/381] Compiling Cadova VariableScale.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[297/381] Compiling Cadova Twist.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[298/381] Compiling Cadova Warp.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[299/381] Compiling Cadova WhileMasked.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[300/381] Compiling Cadova WhileTransformed.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[301/381] Compiling Cadova Within.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[302/381] Compiling Cadova Wrap.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[303/381] Compiling Cadova Transformable+Rotation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[304/381] Compiling Cadova Transformable+Scaling.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[305/381] Compiling Cadova Transformable+Shearing.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[306/381] Compiling Cadova Transformable+Translation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[307/381] Compiling Cadova Transformable.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[308/381] Compiling Cadova AxesVisualization.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[309/381] Compiling Cadova BoundingBoxVisualization.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[310/381] Compiling Cadova CurveVisualization.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Split.swift:62:19: error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 60 |         split(along: plane) { a, b in
 61 |             Stack(axis, spacing: spacing, alignment: .center, .minZ) {
 62 |                 a.rotated(from: plane.normal, to: flipped ? .down : .up)
    |                   `- error: referencing instance method 'rotated(from:to:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
 63 |                 b.rotated(from: plane.normal, to: flipped ? .up : .down)
 64 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:36:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
34 |             self
35 |                 .translated(translation)
36 |                 .rotated(angle)
   |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
37 |                 .translated(-translation)
38 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:77:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
75 |             self
76 |                 .translated(translation)
77 |                 .rotated(x: x, y: y, z: z)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
78 |                 .translated(-translation)
79 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Transformations/RotateAround.swift:95:14: error: type of expression is ambiguous without a type annotation
93 |             .translated(-axis.point)
94 |             .transformed(.rotation(angle: angle, around: axis.direction))
95 |             .translated(axis.point)
   |              `- error: type of expression is ambiguous without a type annotation
96 |     }
97 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Wrap.swift:110:18: error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
108 |             let targetCircumference = bounds.maximum.x / fraction
109 |             wrappedAroundCircle(diameter: targetCircumference / .pi)
110 |                 .rotated(-angleRange.lowerBound)
    |                  `- error: referencing instance method 'rotated' on 'Transformable' requires the types 'Self.T' and 'Transform2D' be equivalent
111 |         }
112 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:26: error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                          `- error: trailing closure passed to parameter of type '[Geometry<D>]' that does not accept a closure
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:41:14: note: 'init(children:)' declared here
 39 |     }
 40 |
 41 |     internal init(children: [D.Geometry]) {
    |              `- note: 'init(children:)' declared here
 42 |         self.children = { children }
 43 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/BoundingBoxVisualization.swift:45:20: error: generic parameter 'D' could not be inferred
43 |         let size = box.maximum - box.minimum
44 |
45 |         let half = Union {
   |                    |- error: generic parameter 'D' could not be inferred
   |                    `- note: explicitly specify the generic arguments to fix this issue
46 |             frame([size.x, size.y], borderWidth: borderWidth)
47 |             frame([size.x, size.z], borderWidth: borderWidth)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:34:21: note: 'D' declared as parameter to type 'Union'
 32 | /// Both examples create a union where the cylinder and box are combined into a single geometry.
 33 | ///
 34 | public struct Union<D: Dimensionality>: Geometry {
    |                     `- note: 'D' declared as parameter to type 'Union'
 35 |     let children: @Sendable () async throws -> [D.Geometry]
 36 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Visualization/CurveVisualization.swift:43:21: error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 41 |             .swept(along: curve)
 42 |             .colored(curveColor)
 43 |             .adding {
    |                     `- error: trailing closure passed to parameter of type 'any Geometry<D3>' that does not accept a closure
 44 |                 if let labeledControlPoints = curve.labeledControlPoints, controlPointsEnabled {
 45 |                     for (cp1, cp2) in labeledControlPoints.map(\.0).paired() {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Abstract Layer/Operations/Boolean/Union.swift:124:10: note: 'adding' declared here
122 |     /// - Returns: A new geometry that is the union of the current geometry and the provided geometries.
123 |     ///
124 |     func adding(_ bodies: D.Geometry?...) -> D.Geometry {
    |          `- note: 'adding' declared here
125 |         Union([self] + bodies)
126 |     }
[311/381] Compiling Cadova Dimensionality.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[312/381] Compiling Cadova Extensions.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[313/381] Compiling Cadova Logging.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[314/381] Compiling Cadova EvaluationContext.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[315/381] Compiling Cadova GeometryCache.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[316/381] Compiling Cadova EvaluationResult.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[317/381] Compiling Cadova GeometryNode+Codable.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[318/381] Compiling Cadova GeometryNode+Creation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[319/381] Compiling Cadova GeometryNode+Debug.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[320/381] Compiling Cadova GeometryNode+Hashable.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[321/381] Compiling Cadova GeometryNode+Shapes.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[322/381] Compiling Cadova GeometryNode.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[323/381] Compiling Cadova Operators.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[324/381] Compiling Cadova Platform.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[325/381] Compiling Cadova AxisAlignment.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[326/381] Compiling Cadova GeometryAlignment+Presets.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[327/381] Compiling Cadova GeometryAlignment.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[328/381] Compiling Cadova Angle+Operators.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[329/381] Compiling Cadova Angle+Trigonometry.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[330/381] Compiling Cadova Angle.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[331/381] Compiling Cadova Axes.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[332/381] Compiling Cadova Axis.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[333/381] Compiling Cadova BoundingBox.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[334/381] Compiling Cadova Line.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[335/381] Compiling Cadova LinearDirection.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[336/381] Compiling Cadova Plane+Transformation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[337/381] Compiling Cadova Plane.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[338/381] Compiling Cadova BasicMatrix3x3.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[339/381] Compiling Cadova Transform2D+Creation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[340/381] Compiling Cadova Transform2D.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[341/381] Compiling Cadova BasicMatrix4x4.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[342/381] Compiling Cadova Transform3D+Creation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[343/381] Compiling Cadova Transform3D.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[344/381] Compiling Cadova Matrix.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[345/381] Compiling Cadova Transform.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[346/381] Compiling Cadova Triangle+Internal.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[347/381] Compiling Cadova Triangle+Protocols.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[348/381] Compiling Cadova Triangle+Right.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[349/381] Compiling Cadova Triangle.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[350/381] Compiling Cadova DimensionalValues.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[351/381] Compiling Cadova Vector.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[352/381] Compiling Cadova Vector2D+Operators.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[353/381] Compiling Cadova Vector2D.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[354/381] Compiling Cadova Vector3D+Operators.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[355/381] Compiling Cadova Vector3D.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
[356/381] Compiling Cadova ParametricCurve+DefaultImplementations.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[357/381] Compiling Cadova ParametricCurve+Operations.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[358/381] Compiling Cadova ParametricCurve.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[359/381] Compiling Cadova ParametricCurveFrame.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[360/381] Compiling Cadova SplineCurve+Creation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[361/381] Compiling Cadova SplineCurve.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[362/381] Compiling Cadova Subcurve.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[363/381] Compiling Cadova EdgeProfile+Cutting.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[364/381] Compiling Cadova EdgeProfile+Forming.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[365/381] Compiling Cadova EdgeProfile+Presets.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[366/381] Compiling Cadova EdgeProfile.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[367/381] Compiling Cadova LinearInterpolation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[368/381] Compiling Cadova Material+Presets.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[369/381] Compiling Cadova Material.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[370/381] Compiling Cadova Measurements.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[371/381] Compiling Cadova MeshData.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[372/381] Compiling Cadova OpaqueKey.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[373/381] Compiling Cadova Segmentation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[374/381] Compiling Cadova ShapingFunction+Internal.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[375/381] Compiling Cadova ShapingFunction.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[376/381] Compiling Cadova SimplePolygon.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[377/381] Compiling Cadova SimplePolygonList.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
[378/381] Compiling Cadova Direction.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Dimensionality.swift:4:33: error: cannot find type 'SendableMetatype' in scope
 2 | import Manifold3D
 3 |
 4 | public protocol Dimensionality: SendableMetatype {
   |                                 `- error: cannot find type 'SendableMetatype' in scope
 5 |     typealias Geometry = any Cadova.Geometry<Self>
 6 |     associatedtype Concrete: Manifold3D.Geometry, ConcreteGeometry where Concrete.D == Self
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:46:18: error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
44 |         readingNegativeShape { negativeShape, profileSize in
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
   |                  `- error: referencing instance method 'rotated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
47 |                 .translated(
48 |                     x: 1,
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Cadova/Sources/Cadova/Values/Edge Profiles/EdgeProfile.swift:47:18: error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
45 |             let unitProfile = negativeShape.extruded(height: 1.0)
46 |                 .rotated(x: 90°, z: -90°)
47 |                 .translated(
   |                  `- error: referencing instance method 'translated(x:y:z:)' on 'Transformable' requires the types 'Self.T' and 'Transform3D' be equivalent
48 |                     x: 1,
49 |                     y: type == .subtraction ? -1e-2 : -1e-6,
warning: 'spi-builder-workspace': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/Demo/bolts.stl
    /Users/admin/builder/spi-builder-workspace/Sources/Demo/nutsAndWashers.stl
BUILD FAILURE 6.1 macosSpm