The Swift Package Index logo.Swift Package Index

Build Information

Successful build of GfxMath, reference 1.0.0 (af8aff), with Swift 6.3 for Wasm on 23 Apr 2026 07:15:51 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/UnGast/swift-gfx-math.git
Reference: 1.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/UnGast/swift-gfx-math
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at af8affa fix line initializer
Cloned https://github.com/UnGast/swift-gfx-math.git
Revision (git rev-parse @):
af8affa142ac61ff2b95857a145aabcc7dd9a7bc
SUCCESS checkout https://github.com/UnGast/swift-gfx-math.git at 1.0.0
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/UnGast/swift-gfx-math.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/24] Emitting module GfxMath
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:223:16: warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
221 |     }
222 |
223 |     @available(unavailable, message: "need to know size of matrix, use init")
    |                `- warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
224 |     @inlinable public static var zero: Self {
225 |         fatalError("unavailable, need to specify size")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:266:5: warning: 'public' modifier is redundant for initializer declared in a public extension
264 | public extension Matrix4Protocol {
265 |
266 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
267 |         self.init([
268 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:345:16: warning: no calls to throwing functions occur within 'try' expression
343 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
344 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
345 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
346 |             right.x, right.y, right.z, 0,
347 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:404:12: warning: no calls to throwing functions occur within 'try' expression
402 | // TODO: might replace this or remove this / current function of this is to simply remove throws
403 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
404 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
405 | }
406 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:123:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension Line {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
121 | }
122 |
123 | public struct AnyLine<V: VectorProtocol>: Line where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
124 |     public typealias VectorProtocol = V
125 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[#AvailabilityUnrecognizedName]: <https://docs.swift.org/compiler/documentation/diagnostics/availability-unrecognized-name>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[4/26] Compiling GfxMath Accuracy.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[5/26] Compiling GfxMath Color+Conversions.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[6/26] Compiling GfxMath Color+DefaultColors.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[7/26] Compiling GfxMath Color.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[8/26] Compiling GfxMath EColor.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[9/26] Compiling GfxMath RGBColor.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[10/26] Compiling GfxMath VectorProtocol+Operators.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
[11/26] Compiling GfxMath VectorProtocol.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
[12/26] Compiling GfxMath Transform.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
22 |   public func transform(size: DSize2) -> DSize2 {
23 |     switch self {
24 |     case let .translate(translation):
   |                         `- warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
25 |       return size
26 |     case let .scale(scale, origin):
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:26:28: warning: immutable value 'origin' was never used; consider replacing with '_' or removing it [#no-usage]
24 |     case let .translate(translation):
25 |       return size
26 |     case let .scale(scale, origin):
   |                            `- warning: immutable value 'origin' was never used; consider replacing with '_' or removing it [#no-usage]
27 |       return size * scale.abs()
28 |     }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:123:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension Line {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
121 | }
122 |
123 | public struct AnyLine<V: VectorProtocol>: Line where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
124 |     public typealias VectorProtocol = V
125 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:22:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 20 |     init(origin: VectorProtocol, direction: VectorProtocol) {
 21 |         self.init()
 22 |         self.point = origin
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 23 |         self.direction = direction.normalized()
 24 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:28:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 26 |     init(from point1: VectorProtocol, to point2: VectorProtocol) {
 27 |         self.init()
 28 |         self.point = point1
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 29 |         self.direction = (point1 - point2).normalized()
 30 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:22: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 31 |
 32 |     var debugDescription: String {
 33 |         "Line x = (\(point)) + scale * (\(direction))"
    |                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:56:29: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 54 |             if direction[axis] == 0 {
 55 |                 // TODO: maybe need accuracy here too
 56 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 57 |                     return nil
 58 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:60:49: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 58 |                 }
 59 |             } else {
 60 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 61 |                 if lastScale == nil {
 62 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:99:35: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 97 |         // TODO: which value to use as accuracy?
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
100 |                 return point
101 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:100:24: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
100 |                 return point
    |                        `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
101 |             } else {
102 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:33: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:46: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:108:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
107 |
108 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
109 |     }
110 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:53: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
116 |         }
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
119 |         return pointAtScale(s)
120 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:119:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
119 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
120 |     }
121 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[13/26] Compiling GfxMath Transformation.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
22 |   public func transform(size: DSize2) -> DSize2 {
23 |     switch self {
24 |     case let .translate(translation):
   |                         `- warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
25 |       return size
26 |     case let .scale(scale, origin):
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:26:28: warning: immutable value 'origin' was never used; consider replacing with '_' or removing it [#no-usage]
24 |     case let .translate(translation):
25 |       return size
26 |     case let .scale(scale, origin):
   |                            `- warning: immutable value 'origin' was never used; consider replacing with '_' or removing it [#no-usage]
27 |       return size * scale.abs()
28 |     }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:123:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension Line {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
121 | }
122 |
123 | public struct AnyLine<V: VectorProtocol>: Line where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
124 |     public typealias VectorProtocol = V
125 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:22:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 20 |     init(origin: VectorProtocol, direction: VectorProtocol) {
 21 |         self.init()
 22 |         self.point = origin
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 23 |         self.direction = direction.normalized()
 24 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:28:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 26 |     init(from point1: VectorProtocol, to point2: VectorProtocol) {
 27 |         self.init()
 28 |         self.point = point1
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 29 |         self.direction = (point1 - point2).normalized()
 30 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:22: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 31 |
 32 |     var debugDescription: String {
 33 |         "Line x = (\(point)) + scale * (\(direction))"
    |                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:56:29: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 54 |             if direction[axis] == 0 {
 55 |                 // TODO: maybe need accuracy here too
 56 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 57 |                     return nil
 58 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:60:49: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 58 |                 }
 59 |             } else {
 60 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 61 |                 if lastScale == nil {
 62 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:99:35: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 97 |         // TODO: which value to use as accuracy?
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
100 |                 return point
101 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:100:24: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
100 |                 return point
    |                        `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
101 |             } else {
102 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:33: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:46: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:108:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
107 |
108 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
109 |     }
110 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:53: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
116 |         }
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
119 |         return pointAtScale(s)
120 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:119:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
119 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
120 |     }
121 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[14/26] Compiling GfxMath Line.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
22 |   public func transform(size: DSize2) -> DSize2 {
23 |     switch self {
24 |     case let .translate(translation):
   |                         `- warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
25 |       return size
26 |     case let .scale(scale, origin):
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:26:28: warning: immutable value 'origin' was never used; consider replacing with '_' or removing it [#no-usage]
24 |     case let .translate(translation):
25 |       return size
26 |     case let .scale(scale, origin):
   |                            `- warning: immutable value 'origin' was never used; consider replacing with '_' or removing it [#no-usage]
27 |       return size * scale.abs()
28 |     }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:123:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension Line {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
121 | }
122 |
123 | public struct AnyLine<V: VectorProtocol>: Line where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
124 |     public typealias VectorProtocol = V
125 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:22:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 20 |     init(origin: VectorProtocol, direction: VectorProtocol) {
 21 |         self.init()
 22 |         self.point = origin
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 23 |         self.direction = direction.normalized()
 24 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:28:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 26 |     init(from point1: VectorProtocol, to point2: VectorProtocol) {
 27 |         self.init()
 28 |         self.point = point1
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 29 |         self.direction = (point1 - point2).normalized()
 30 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:22: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 31 |
 32 |     var debugDescription: String {
 33 |         "Line x = (\(point)) + scale * (\(direction))"
    |                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:56:29: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 54 |             if direction[axis] == 0 {
 55 |                 // TODO: maybe need accuracy here too
 56 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 57 |                     return nil
 58 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:60:49: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 58 |                 }
 59 |             } else {
 60 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 61 |                 if lastScale == nil {
 62 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:99:35: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 97 |         // TODO: which value to use as accuracy?
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
100 |                 return point
101 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:100:24: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
100 |                 return point
    |                        `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
101 |             } else {
102 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:33: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:46: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:108:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
107 |
108 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
109 |     }
110 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:53: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
116 |         }
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
119 |         return pointAtScale(s)
120 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:119:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
119 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
120 |     }
121 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[15/26] Compiling GfxMath Point.swift
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
[16/26] Compiling GfxMath Quaternion.swift
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
[17/26] Compiling GfxMath Size.swift
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
[18/26] Compiling GfxMath Vector.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[19/26] Compiling GfxMath VectorLayout.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[20/26] Compiling GfxMath VectorProtocol+Initializers.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[21/26] Compiling GfxMath FloatingPointGenericMath.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:223:16: warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
221 |     }
222 |
223 |     @available(unavailable, message: "need to know size of matrix, use init")
    |                `- warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
224 |     @inlinable public static var zero: Self {
225 |         fatalError("unavailable, need to specify size")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:266:5: warning: 'public' modifier is redundant for initializer declared in a public extension
264 | public extension Matrix4Protocol {
265 |
266 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
267 |         self.init([
268 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:345:16: warning: no calls to throwing functions occur within 'try' expression
343 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
344 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
345 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
346 |             right.x, right.y, right.z, 0,
347 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:404:12: warning: no calls to throwing functions occur within 'try' expression
402 | // TODO: might replace this or remove this / current function of this is to simply remove throws
403 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
404 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
405 | }
406 |
[#AvailabilityUnrecognizedName]: <https://docs.swift.org/compiler/documentation/diagnostics/availability-unrecognized-name>
[22/26] Compiling GfxMath Matrix.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:223:16: warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
221 |     }
222 |
223 |     @available(unavailable, message: "need to know size of matrix, use init")
    |                `- warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
224 |     @inlinable public static var zero: Self {
225 |         fatalError("unavailable, need to specify size")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:266:5: warning: 'public' modifier is redundant for initializer declared in a public extension
264 | public extension Matrix4Protocol {
265 |
266 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
267 |         self.init([
268 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:345:16: warning: no calls to throwing functions occur within 'try' expression
343 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
344 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
345 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
346 |             right.x, right.y, right.z, 0,
347 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:404:12: warning: no calls to throwing functions occur within 'try' expression
402 | // TODO: might replace this or remove this / current function of this is to simply remove throws
403 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
404 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
405 | }
406 |
[#AvailabilityUnrecognizedName]: <https://docs.swift.org/compiler/documentation/diagnostics/availability-unrecognized-name>
[23/26] Compiling GfxMath MatrixDimension.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:223:16: warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
221 |     }
222 |
223 |     @available(unavailable, message: "need to know size of matrix, use init")
    |                `- warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
224 |     @inlinable public static var zero: Self {
225 |         fatalError("unavailable, need to specify size")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:266:5: warning: 'public' modifier is redundant for initializer declared in a public extension
264 | public extension Matrix4Protocol {
265 |
266 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
267 |         self.init([
268 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:345:16: warning: no calls to throwing functions occur within 'try' expression
343 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
344 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
345 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
346 |             right.x, right.y, right.z, 0,
347 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:404:12: warning: no calls to throwing functions occur within 'try' expression
402 | // TODO: might replace this or remove this / current function of this is to simply remove throws
403 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
404 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
405 | }
406 |
[#AvailabilityUnrecognizedName]: <https://docs.swift.org/compiler/documentation/diagnostics/availability-unrecognized-name>
[24/26] Compiling GfxMath LineSegment.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
11 |   }
12 |   public var length: Vector.Element {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:35:9: warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
   |         `- warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
36 |     var scaleMax = line.scaleAt(end)!
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:36:9: warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
   |         `- warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
38 |   }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:135:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
133 |         var maxScale = E.infinity
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
137 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:136:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
137 |             if newMinScale > newMaxScale {
138 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:38: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                      `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:84: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                                                                    `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[25/26] Compiling GfxMath Plane.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
11 |   }
12 |   public var length: Vector.Element {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:35:9: warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
   |         `- warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
36 |     var scaleMax = line.scaleAt(end)!
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:36:9: warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
   |         `- warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
38 |   }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:135:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
133 |         var maxScale = E.infinity
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
137 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:136:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
137 |             if newMinScale > newMaxScale {
138 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:38: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                      `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:84: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                                                                    `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[26/26] Compiling GfxMath Rect.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
11 |   }
12 |   public var length: Vector.Element {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:35:9: warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
   |         `- warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
36 |     var scaleMax = line.scaleAt(end)!
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:36:9: warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
   |         `- warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
38 |   }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:135:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
133 |         var maxScale = E.infinity
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
137 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:136:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
137 |             if newMinScale > newMaxScale {
138 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:38: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                      `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:84: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                                                                    `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete! (10.92s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "GfxMath",
  "name" : "GfxMath",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "GfxMath",
      "targets" : [
        "GfxMath"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "GfxMathTests",
      "module_type" : "SwiftTarget",
      "name" : "GfxMathTests",
      "path" : "Tests/GfxMathTests",
      "sources" : [
        "MatrixTests.swift",
        "QuaternionTests.swift",
        "RectTests.swift",
        "VectorProtocolTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "GfxMath"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GfxMath",
      "module_type" : "SwiftTarget",
      "name" : "GfxMath",
      "path" : "Sources/GfxMath",
      "product_memberships" : [
        "GfxMath"
      ],
      "sources" : [
        "Accuracy.swift",
        "Color/Color+Conversions.swift",
        "Color/Color+DefaultColors.swift",
        "Color/Color.swift",
        "Color/Experimental/EColor.swift",
        "Color/Experimental/RGBColor.swift",
        "FloatingPointGenericMath.swift",
        "Matrix.swift",
        "MatrixDimension.swift",
        "Point.swift",
        "Quaternion.swift",
        "Size.swift",
        "Transform.swift",
        "Transformation.swift",
        "geometry/Line.swift",
        "geometry/LineSegment.swift",
        "geometry/Plane.swift",
        "geometry/Rect.swift",
        "vector/Vector.swift",
        "vector/VectorLayout.swift",
        "vector/VectorProtocol+Initializers.swift",
        "vector/VectorProtocol+Operators.swift",
        "vector/VectorProtocol.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest
Done.