The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Satin, reference main (a91c46), with Swift 6.3 for macOS (SPM) on 16 Apr 2026 02:25:22 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[157/234] Compiling Satin Rectangle+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[158/234] Compiling Satin Simd+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[159/234] Compiling Satin String+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[160/234] Compiling Satin UIWindow+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[161/234] Compiling Satin Vertex+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[162/234] Compiling Satin BrdfGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[163/234] Compiling Satin CubemapGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[164/234] Compiling Satin DiffuseIBLGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[165/234] Compiling Satin RandomNoiseGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[166/234] Compiling Satin SpecularIBLGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[167/234] Compiling Satin ArcGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[168/234] Compiling Satin BoxGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[169/234] Compiling Satin CapsuleGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: warning: switch must be exhaustive
 10 | extension MTLPixelFormat {
 11 |     var srgb: Bool {
 12 |         switch self {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.unspecialized'
 13 |             case .invalid:
 14 |                 return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLVertexStepFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLVertexStepFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 9 | import Metal
10 |
11 | extension MTLTriangleFillMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLTriangleFillMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
10 |
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCullMode' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
11 | extension MTLTriangleFillMode: Codable {}
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLPrimitiveType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
12 | extension MTLCullMode: Codable {}
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLWinding' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
15 | extension MTLIndexType: Codable {}
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
13 | extension MTLPrimitiveType: Codable {}
14 | extension MTLWinding: Codable {}
15 | extension MTLIndexType: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLIndexType' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
16 |
17 | extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
15 | extension MTLIndexType: Codable {}
16 |
17 | extension MTLCompareFunction: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLCompareFunction' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
16 |
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendOperation' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
19 | extension MTLBlendFactor: Codable {}
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
17 | extension MTLCompareFunction: Codable {}
18 | extension MTLBlendOperation: Codable {}
19 | extension MTLBlendFactor: Codable {}
   | |- warning: extension declares a conformance of imported type 'MTLBlendFactor' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
38 | }
39 |
40 | extension Ray: Equatable {
   | |- warning: extension declares a conformance of imported type 'Ray' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
41 |     public static func == (lhs: Ray, rhs: Ray) -> Bool {
42 |         return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
 44 | }
 45 |
 46 | extension MTLPackedFloat3: Codable {
    | |- warning: extension declares a conformance of imported type '_MTLPackedFloat3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'Metal' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 47 |     public init(from decoder: Decoder) throws {
 48 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 60 | }
 61 |
 62 | extension simd_quatf: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_quatf' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 63 |     public init(from decoder: Decoder) throws {
 64 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 72 | }
 73 |
 74 | extension simd_float4x4: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float4x4' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 75 |     public init(from decoder: Decoder) throws {
 76 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
 92 | }
 93 |
 94 | extension simd_float3x3: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float3x3' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 95 |     public init(from decoder: Decoder) throws {
 96 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
104 | }
105 |
106 | extension simd_float2x2: Codable {
    | |- warning: extension declares a conformance of imported type 'simd_float2x2' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'simd' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
107 |     public init(from decoder: Decoder) throws {
108 |         let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
10 | #endif
11 |
12 | extension SatinVertex: Codable {
   | |- warning: extension declares a conformance of imported type 'SatinVertex' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'SatinCore' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
13 |     private enum CodingKeys: String, CodingKey {
14 |         case position
[170/234] Compiling Satin CircleGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[171/234] Compiling Satin ConeGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[172/234] Compiling Satin CylinderGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[173/234] Compiling Satin ExtrudedRoundedRectGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[174/234] Compiling Satin ExtrudedTextGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[175/234] Compiling Satin IcoSphereGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[176/234] Compiling Satin LineGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[177/234] Compiling Satin OctaSphereGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[178/234] Compiling Satin ParametricGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[179/234] Compiling Satin PlaneGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[180/234] Compiling Satin PointGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[181/234] Compiling Satin QuadGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[182/234] Compiling Satin RoundedBoxGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[183/234] Compiling Satin RoundedRectGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[184/234] Compiling Satin SatinGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[185/234] Compiling Satin SkyboxGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[186/234] Compiling Satin SphereGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[187/234] Compiling Satin SquircleGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[188/234] Compiling Satin TesselatedTextGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[189/234] Compiling Satin TessellationGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[190/234] Compiling Satin TextGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[191/234] Compiling Satin TorusGeometry.swift
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
 15 | #endif
 16 |
 17 | extension CTTextAlignment: Codable {}
    | |- warning: extension declares a conformance of imported type 'CTTextAlignment' to imported protocols 'Decodable', 'Encodable'; this will not behave correctly if the owners of 'CoreText' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 18 |
 19 | public class TesselatedTextGeometry: SatinGeometry {
[192/234] Compiling Satin TriangleGeometry.swift
[193/234] Compiling Satin TubeGeometry.swift
[194/234] Compiling Satin UVDiskGeometry.swift
[195/234] Compiling Satin AnyBufferAttribute.swift
[196/234] Compiling Satin Attribute.swift
[197/234] Compiling Satin BufferAttribute.swift
[198/234] Compiling Satin ElementBuffer.swift
[199/234] Compiling Satin InterleavedBuffer.swift
[200/234] Compiling Satin InterleavedBufferAttribute.swift
[201/234] Compiling Satin VertexAttribute.swift
[202/234] Compiling Satin DirectionalLight.swift
[203/234] Compiling Satin PointLight.swift
[204/234] Compiling Satin SpotLight.swift
[205/234] Compiling Satin ARBackgroundDepthMaterial.swift
[206/234] Compiling Satin ARBackgroundMaterial.swift
[207/234] Compiling Satin ARCompositorMaterial.swift
[208/234] Compiling Satin ARMatteMaterial.swift
[209/234] Compiling Satin ARPostMaterial.swift
[210/234] Compiling Satin BasicColorMaterial.swift
[211/234] Compiling Satin BasicDiffuseMaterial.swift
[212/234] Compiling Satin BasicPointMaterial.swift
[213/234] Compiling Satin BasicTextureMaterial.swift
[214/234] Compiling Satin LightData.swift
[215/234] Compiling Satin ShadowData.swift
[216/234] Compiling Satin FileWatcher.swift
[217/234] Compiling Satin Helpers.swift
[218/234] Compiling Satin Loader.swift
[219/234] Compiling Satin Locks.swift
[220/234] Compiling Satin MetalFileCompiler.swift
[221/234] Compiling Satin MetalSourceCompiler.swift
[222/234] Compiling Satin Paths.swift
[223/234] Compiling Satin PostProcessor.swift
[224/234] Compiling Satin Textures.swift
[225/234] Compiling Satin ValueCache.swift
[226/234] Compiling Satin VertexDescriptors.swift
[227/234] Compiling Satin MetalLayerRenderer.swift
[228/234] Compiling Satin MetalView.swift
[229/234] Compiling Satin MetalViewController.swift
[230/234] Compiling Satin MetalViewRenderer.swift
[231/234] Compiling Satin MetalViewRendererDelegate.swift
[232/234] Compiling Satin SatinImmersiveSpace.swift
[233/234] Compiling Satin SatinMetalView.swift
[234/234] Compiling Satin resource_bundle_accessor.swift
Build complete! (14.19s)
Build complete.
{
  "cxx_language_standard" : "c++17",
  "dependencies" : [
  ],
  "manifest_display_name" : "Satin",
  "name" : "Satin",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    },
    {
      "name" : "visionos",
      "version" : "2.0"
    }
  ],
  "products" : [
    {
      "name" : "Satin",
      "targets" : [
        "Satin",
        "SatinCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "SatinTests",
      "module_type" : "SwiftTarget",
      "name" : "SatinTests",
      "path" : "Tests/SatinTests",
      "sources" : [
        "MutexTests.swift",
        "ObjectTests.swift",
        "RenderableTests.swift"
      ],
      "target_dependencies" : [
        "Satin"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SatinCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "SatinCoreTests",
      "path" : "Tests/SatinCoreTests",
      "sources" : [
        "BezierTests.swift",
        "BoundsTests.swift",
        "MD5.swift",
        "TriangulatorTests.swift"
      ],
      "target_dependencies" : [
        "SatinCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SatinCore",
      "module_type" : "ClangTarget",
      "name" : "SatinCore",
      "path" : "Sources/SatinCore",
      "product_memberships" : [
        "Satin"
      ],
      "sources" : [
        "Bezier.mm",
        "Bounds.mm",
        "Bvh.mm",
        "Conversions.mm",
        "Generators.mm",
        "Geometry.mm",
        "Hermite.mm",
        "PoissonDiskSampler.mm",
        "Rectangle.mm",
        "SignedDistanceFunctions.mm",
        "Transforms.mm",
        "Triangulator.mm",
        "Types.mm"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Satin",
      "module_type" : "SwiftTarget",
      "name" : "Satin",
      "path" : "Sources/Satin",
      "product_memberships" : [
        "Satin"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Satin/Pipelines",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "AR/ARBackgroundDepthRenderer.swift",
        "AR/ARBackgroundRenderer.swift",
        "AR/ARCompositor.swift",
        "AR/ARDepthMaskGenerator.swift",
        "AR/ARDepthUpscaler.swift",
        "AR/ARFeatheredDepthMaskGenerator.swift",
        "AR/ARLidarMesh.swift",
        "AR/ARMatteRenderer.swift",
        "AR/ARPerspectiveCamera.swift",
        "AR/ARPlaneMesh.swift",
        "AR/ARPostProcessor.swift",
        "AR/ARSessionPublisher.swift",
        "Animation/Easing.swift",
        "Animation/Easings.swift",
        "Animation/Tween.swift",
        "Animation/Tweener.swift",
        "Buffers/InstanceMatrixUniformBuffer.swift",
        "Buffers/StructBuffer.swift",
        "Buffers/UniformBuffer.swift",
        "Buffers/VertexUniformBuffer.swift",
        "CameraControllers/CameraController.swift",
        "CameraControllers/OrbitPerspectiveCameraController.swift",
        "CameraControllers/OrthographicCameraController.swift",
        "CameraControllers/PerspectiveCameraController.swift",
        "Cameras/OrthographicCamera.swift",
        "Cameras/PerspectiveCamera.swift",
        "Codable/AnyMaterial.swift",
        "Compute/BufferComputeSystem.swift",
        "Compute/ComputeProcessor.swift",
        "Compute/ComputeSystem.swift",
        "Compute/TessellationProcessor.swift",
        "Compute/TextureComputeProcessor.swift",
        "Compute/TextureComputeSystem.swift",
        "Compute/Utilities/ComputeConfiguration.swift",
        "Compute/Utilities/ComputeShader.swift",
        "Compute/Utilities/ComputeShaderConfiguration.swift",
        "Compute/Utilities/ComputeShaderLibraryCache.swift",
        "Compute/Utilities/ComputeShaderLibraryConfiguration.swift",
        "Compute/Utilities/ComputeShaderLibrarySourceCache.swift",
        "Compute/Utilities/ComputeShaderPipelineCache.swift",
        "Constants/Blending.swift",
        "Constants/Constants.swift",
        "Constants/Lighting.swift",
        "Constants/Pipelines/ComputeConstants.swift",
        "Constants/Pipelines/FragmentConstants.swift",
        "Constants/Pipelines/MeshConstants.swift",
        "Constants/Pipelines/ObjectConstants.swift",
        "Constants/Pipelines/PBRConstants.swift",
        "Constants/Pipelines/VertexConstants.swift",
        "Constants/Tonemapping.swift",
        "Converters/YCbCrToRGBConverter.swift",
        "Core/Camera.swift",
        "Core/Context.swift",
        "Core/Geometry.swift",
        "Core/Material.swift",
        "Core/Mesh.swift",
        "Core/Object.swift",
        "Core/Renderer.swift",
        "Core/Shader.swift",
        "Extensions/BVH+Extensions.swift",
        "Extensions/Bounds+Extensions.swift",
        "Extensions/Bundle+Extensions.swift",
        "Extensions/CGPoint+Extensions.swift",
        "Extensions/CGSize+Extensions.swift",
        "Extensions/CodingUserInfoKey+Extensions.swift",
        "Extensions/Float+Extensions.swift",
        "Extensions/MTLClearColor+Extensions.swift",
        "Extensions/MTLSamplerDescriptor+Extensions.swift",
        "Extensions/MTLTexture+Extensions.swift",
        "Extensions/MTLVertexFormat+Extension.swift",
        "Extensions/MTLVertexStepFunction+Extensions.swift",
        "Extensions/MTLViewport+Extensions.swift",
        "Extensions/Metal+Extensions.swift",
        "Extensions/NSAppearanceCustomization+Extensions.swift",
        "Extensions/Ray+Extensions.swift",
        "Extensions/Rectangle+Extensions.swift",
        "Extensions/Simd+Extensions.swift",
        "Extensions/String+Extensions.swift",
        "Extensions/UIWindow+Extensions.swift",
        "Extensions/Vertex+Extensions.swift",
        "Generators/BrdfGenerator.swift",
        "Generators/CubemapGenerator.swift",
        "Generators/DiffuseIBLGenerator.swift",
        "Generators/RandomNoiseGenerator.swift",
        "Generators/SpecularIBLGenerator.swift",
        "Geometry/ArcGeometry.swift",
        "Geometry/BoxGeometry.swift",
        "Geometry/CapsuleGeometry.swift",
        "Geometry/CircleGeometry.swift",
        "Geometry/ConeGeometry.swift",
        "Geometry/CylinderGeometry.swift",
        "Geometry/ExtrudedRoundedRectGeometry.swift",
        "Geometry/ExtrudedTextGeometry.swift",
        "Geometry/IcoSphereGeometry.swift",
        "Geometry/LineGeometry.swift",
        "Geometry/OctaSphereGeometry.swift",
        "Geometry/ParametricGeometry.swift",
        "Geometry/PlaneGeometry.swift",
        "Geometry/PointGeometry.swift",
        "Geometry/QuadGeometry.swift",
        "Geometry/RoundedBoxGeometry.swift",
        "Geometry/RoundedRectGeometry.swift",
        "Geometry/SatinGeometry.swift",
        "Geometry/SkyboxGeometry.swift",
        "Geometry/SphereGeometry.swift",
        "Geometry/SquircleGeometry.swift",
        "Geometry/TesselatedTextGeometry.swift",
        "Geometry/TessellationGeometry.swift",
        "Geometry/TextGeometry.swift",
        "Geometry/TorusGeometry.swift",
        "Geometry/TriangleGeometry.swift",
        "Geometry/TubeGeometry.swift",
        "Geometry/UVDiskGeometry.swift",
        "Geometry/Utilities/AnyBufferAttribute.swift",
        "Geometry/Utilities/Attribute.swift",
        "Geometry/Utilities/BufferAttribute.swift",
        "Geometry/Utilities/ElementBuffer.swift",
        "Geometry/Utilities/InterleavedBuffer.swift",
        "Geometry/Utilities/InterleavedBufferAttribute.swift",
        "Geometry/Utilities/VertexAttribute.swift",
        "Lights/DirectionalLight.swift",
        "Lights/PointLight.swift",
        "Lights/SpotLight.swift",
        "Materials/ARBackgroundDepthMaterial.swift",
        "Materials/ARBackgroundMaterial.swift",
        "Materials/ARCompositorMaterial.swift",
        "Materials/ARMatteMaterial.swift",
        "Materials/ARPostMaterial.swift",
        "Materials/BasicColorMaterial.swift",
        "Materials/BasicDiffuseMaterial.swift",
        "Materials/BasicPointMaterial.swift",
        "Materials/BasicTextureMaterial.swift",
        "Materials/DepthMaterial.swift",
        "Materials/MatCapMaterial.swift",
        "Materials/NormalColorMaterial.swift",
        "Materials/PhysicalMaterial.swift",
        "Materials/ShadowMaterial.swift",
        "Materials/SkyboxMaterial.swift",
        "Materials/SourceMaterial.swift",
        "Materials/StandardMaterial.swift",
        "Materials/TextMaterial.swift",
        "Materials/UVColorMaterial.swift",
        "Objects/IBLScene.swift",
        "Objects/InstancedMesh.swift",
        "Objects/Submesh.swift",
        "Objects/TessellationMesh.swift",
        "Parameters/AnyParameter.swift",
        "Parameters/BoolParameter.swift",
        "Parameters/DoubleParameter.swift",
        "Parameters/Float2Parameter.swift",
        "Parameters/Float2x2Parameter.swift",
        "Parameters/Float3Parameter.swift",
        "Parameters/Float3x3Parameter.swift",
        "Parameters/Float4Parameter.swift",
        "Parameters/Float4x4Parameter.swift",
        "Parameters/FloatParameter.swift",
        "Parameters/GenericParameter.swift",
        "Parameters/Int2Parameter.swift",
        "Parameters/Int3Parameter.swift",
        "Parameters/Int4Parameter.swift",
        "Parameters/IntParameter.swift",
        "Parameters/PackedFloat3Parameter.swift",
        "Parameters/Parameter.swift",
        "Parameters/ParameterGroup.swift",
        "Parameters/StringParameter.swift",
        "Parameters/UInt32Parameter.swift",
        "Protocols/IBLEnvironment.swift",
        "Protocols/Light.swift",
        "Protocols/Renderable.swift",
        "Protocols/Shadow.swift",
        "Raycast/Raycast.swift",
        "Raycast/RaycastOptions.swift",
        "Raycast/RaycastResult.swift",
        "Renderer/RenderEncoderState.swift",
        "Renderer/RenderList.swift",
        "Satin.swift",
        "Shaders/PBRShader.swift",
        "Shaders/PhysicalShader.swift",
        "Shaders/SkyboxShader.swift",
        "Shaders/SourceShader.swift",
        "Shaders/StandardShader.swift",
        "Shaders/Utilities/RenderingConfiguration.swift",
        "Shaders/Utilities/ShaderBlending.swift",
        "Shaders/Utilities/ShaderConfiguration.swift",
        "Shaders/Utilities/ShaderDefine.swift",
        "Shaders/Utilities/ShaderLibraryCache.swift",
        "Shaders/Utilities/ShaderLibraryConfiguration.swift",
        "Shaders/Utilities/ShaderLibrarySourceCache.swift",
        "Shaders/Utilities/ShaderPipelineCache.swift",
        "Shaders/Utilities/ShaderSourceCache.swift",
        "Shaders/Utilities/ShaderSourceInjections.swift",
        "Shaders/Utilities/ShaderSourceParsers.swift",
        "Shadows/DirectionalLightShadow.swift",
        "Text/FontAtlas.swift",
        "Text/TextMesh.swift",
        "Types/InstanceMatrixUniforms.swift",
        "Types/LightData.swift",
        "Types/ShadowData.swift",
        "Utilities/FileWatcher.swift",
        "Utilities/Helpers.swift",
        "Utilities/Loader.swift",
        "Utilities/Locks.swift",
        "Utilities/MetalFileCompiler.swift",
        "Utilities/MetalSourceCompiler.swift",
        "Utilities/Paths.swift",
        "Utilities/PostProcessor.swift",
        "Utilities/Textures.swift",
        "Utilities/ValueCache.swift",
        "Utilities/VertexDescriptors.swift",
        "Views/MetalLayerRenderer.swift",
        "Views/MetalView.swift",
        "Views/MetalViewController.swift",
        "Views/MetalViewRenderer.swift",
        "Views/MetalViewRendererDelegate.swift",
        "Views/SatinImmersiveSpace.swift",
        "Views/SatinMetalView.swift"
      ],
      "target_dependencies" : [
        "SatinCore"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.