Build Information
Successful build of Satin, reference main (a91c46), with Swift 6.4 for macOS (SPM) on 19 Sep 2026 13:24:43 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Hi-Rez/Satin.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Hi-Rez/Satin
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at a91c469 updated README.md credits typo
Cloned https://github.com/Hi-Rez/Satin.git
Revision (git rev-parse @):
a91c469f517cef1946d5ed4dd9771df4843a30ef
SUCCESS checkout https://github.com/Hi-Rez/Satin.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/Hi-Rez/Satin.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 125]
[Planning deferred tasks]
[33 / 59] Satin_Satin
[36 / 59]
[47 / 60] SatinCore
[50 / 60] SatinCore
[50 / 60] Satin
[61 / 142] SatinCore
[64 / 142]
[72 / 142]
[74 / 142]
[75 / 142]
[80 / 142]
[83 / 142]
[85 / 142]
[88 / 142]
[93 / 142]
[96 / 142]
[98 / 142]
[99 / 142]
[110 / 142]
[112 / 142]
[114 / 142]
[118 / 142]
[120 / 142]
[133 / 142] Satin
[134 / 142] Satin
[139 / 142] Satin
[142 / 142] Satin-product
Build complete! (12.56 sec)
[1m/Users/admin/builder/spi-builder-workspace/Sources/SatinCore/Triangulator.mm:918:23: [0m[0;1;35mwarning: [0m[1mvariable length arrays in C++ are a Clang extension [-Wvla-cxx-extension][0m
918 | tsVertex vertices[length];[0m
| [0;1;32m ^~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/SatinCore/Triangulator.mm:918:23: [0m[0;1;36mnote: [0mfunction parameter 'length' with unknown value cannot be used in a constant expression[0m
[1m/Users/admin/builder/spi-builder-workspace/Sources/SatinCore/Triangulator.mm:917:46: [0m[0;1;36mnote: [0mdeclared here[0m
917 | [0;34mint[0m triangulatePath(simd_float2 *points, [0;34mint[0m length, TriangleData *triData) {[0m
| [0;1;32m ^
[0m1 warning generated.
[1m/Users/admin/builder/spi-builder-workspace/Sources/SatinCore/Generators.mm:1121:44: [0m[0;1;35mwarning: [0m[1mISO C++ requires field designators to be specified in declaration order; field 'uv' will be initialized after field 'normal' [-Wreorder-init-list][0m
1121 | .normal = simd_make_float3([0;32m0.0[0m, [0;32m1.0[0m, [0;32m0.0[0m) };[0m
| [0;1;32m ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[0m[1m/Users/admin/builder/spi-builder-workspace/Sources/SatinCore/Generators.mm:1118:40: [0m[0;1;36mnote: [0mprevious initialization for field 'uv' is here[0m
1118 | .uv = simd_make_float2([0m
| [0;1;32m ^~~~~~~~~~~~~~~~~
[0m 1119 | abs(x) < [0;32m0.00001[0m ? [0;32m0.0[0m : x / innerRadius,[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[0m 1120 | abs(y) < [0;32m0.00001[0m ? [0;32m0.0[0m : y / innerRadius),[0m
| [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[0m1 warning generated.
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m9 |[0;0m import Metal
[0;36m10 |[0;0m
[0;36m11 |[0;0m extension MTLVertexStepFunction: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m12 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m9 |[0;0m import Metal
[0;36m10 |[0;0m
[0;36m11 |[0;0m extension MTLTriangleFillMode: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m12 |[0;0m extension MTLCullMode: Codable {}
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m10 |[0;0m
[0;36m11 |[0;0m extension MTLTriangleFillMode: Codable {}
[0;36m12 |[0;0m extension MTLCullMode: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
[0;36m14 |[0;0m extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m11 |[0;0m extension MTLTriangleFillMode: Codable {}
[0;36m12 |[0;0m extension MTLCullMode: Codable {}
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m14 |[0;0m extension MTLWinding: Codable {}
[0;36m15 |[0;0m extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m12 |[0;0m extension MTLCullMode: Codable {}
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
[0;36m14 |[0;0m extension MTLWinding: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m15 |[0;0m extension MTLIndexType: Codable {}
[0;36m16 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
[0;36m14 |[0;0m extension MTLWinding: Codable {}
[0;36m15 |[0;0m extension MTLIndexType: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m15 |[0;0m extension MTLIndexType: Codable {}
[0;36m16 |[0;0m
[0;36m17 |[0;0m extension MTLCompareFunction: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m18 |[0;0m extension MTLBlendOperation: Codable {}
[0;36m19 |[0;0m extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m extension MTLCompareFunction: Codable {}
[0;36m18 |[0;0m extension MTLBlendOperation: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m19 |[0;0m extension MTLBlendFactor: Codable {}
[0;36m20 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m17 |[0;0m extension MTLCompareFunction: Codable {}
[0;36m18 |[0;0m extension MTLBlendOperation: Codable {}
[0;36m19 |[0;0m extension MTLBlendFactor: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m20 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m38 |[0;0m }
[0;36m39 |[0;0m
[0;36m40 |[0;0m extension Ray: Equatable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m41 |[0;0m public static func == (lhs: Ray, rhs: Ray) -> Bool {
[0;36m42 |[0;0m return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m44 |[0;0m }
[0;36m45 |[0;0m
[0;36m46 |[0;0m extension MTLPackedFloat3: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m47 |[0;0m public init(from decoder: Decoder) throws {
[0;36m48 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m60 |[0;0m }
[0;36m61 |[0;0m
[0;36m62 |[0;0m extension simd_quatf: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m63 |[0;0m public init(from decoder: Decoder) throws {
[0;36m64 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m72 |[0;0m }
[0;36m73 |[0;0m
[0;36m74 |[0;0m extension simd_float4x4: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m75 |[0;0m public init(from decoder: Decoder) throws {
[0;36m76 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m92 |[0;0m }
[0;36m93 |[0;0m
[0;36m94 |[0;0m extension simd_float3x3: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m95 |[0;0m public init(from decoder: Decoder) throws {
[0;36m96 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m104 |[0;0m }
[0;36m105 |[0;0m
[0;36m106 |[0;0m extension simd_float2x2: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m107 |[0;0m public init(from decoder: Decoder) throws {
[0;36m108 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m10 |[0;0m #endif
[0;36m11 |[0;0m
[0;36m12 |[0;0m extension SatinVertex: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m13 |[0;0m private enum CodingKeys: String, CodingKey {
[0;36m14 |[0;0m case position
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m15 |[0;0m #endif
[0;36m16 |[0;0m
[0;36m17 |[0;0m extension CTTextAlignment: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m18 |[0;0m
[0;36m19 |[0;0m public class TesselatedTextGeometry: SatinGeometry {
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Geometry/TesselatedTextGeometry.swift:17:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m15 |[0;0m #endif
[0;36m16 |[0;0m
[0;36m17 |[0;0m extension CTTextAlignment: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m18 |[0;0m
[0;36m19 |[0;0m public class TesselatedTextGeometry: SatinGeometry {
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLTexture+Extensions.swift:12:9: [1;33mwarning: [1;39mswitch must be exhaustive[0;0m
[0;36m10 |[0;0m extension MTLPixelFormat {
[0;36m11 |[0;0m var srgb: Bool {
[0;36m12 |[0;0m switch self {
[0;36m|[0;0m |- [1;33mwarning: [1;39mswitch must be exhaustive[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb8Unorm'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb8Snorm'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb8Uint'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb8Sint'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb16Unorm'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb16Snorm'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb16Uint'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb16Sint'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb16Float'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb32Uint'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb32Sint'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.rgb32Float'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.unspecialized'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd missing cases[0;0m
[0;36m13 |[0;0m case .invalid:
[0;36m14 |[0;0m return false
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/MTLVertexStepFunction+Extensions.swift:11:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m9 |[0;0m import Metal
[0;36m10 |[0;0m
[0;36m11 |[0;0m extension MTLVertexStepFunction: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m12 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:11:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m9 |[0;0m import Metal
[0;36m10 |[0;0m
[0;36m11 |[0;0m extension MTLTriangleFillMode: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m12 |[0;0m extension MTLCullMode: Codable {}
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:12:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m10 |[0;0m
[0;36m11 |[0;0m extension MTLTriangleFillMode: Codable {}
[0;36m12 |[0;0m extension MTLCullMode: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
[0;36m14 |[0;0m extension MTLWinding: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:13:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m11 |[0;0m extension MTLTriangleFillMode: Codable {}
[0;36m12 |[0;0m extension MTLCullMode: Codable {}
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m14 |[0;0m extension MTLWinding: Codable {}
[0;36m15 |[0;0m extension MTLIndexType: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:14:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m12 |[0;0m extension MTLCullMode: Codable {}
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
[0;36m14 |[0;0m extension MTLWinding: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m15 |[0;0m extension MTLIndexType: Codable {}
[0;36m16 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:15:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m13 |[0;0m extension MTLPrimitiveType: Codable {}
[0;36m14 |[0;0m extension MTLWinding: Codable {}
[0;36m15 |[0;0m extension MTLIndexType: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m extension MTLCompareFunction: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:17:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m15 |[0;0m extension MTLIndexType: Codable {}
[0;36m16 |[0;0m
[0;36m17 |[0;0m extension MTLCompareFunction: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m18 |[0;0m extension MTLBlendOperation: Codable {}
[0;36m19 |[0;0m extension MTLBlendFactor: Codable {}
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:18:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m extension MTLCompareFunction: Codable {}
[0;36m18 |[0;0m extension MTLBlendOperation: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m19 |[0;0m extension MTLBlendFactor: Codable {}
[0;36m20 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Metal+Extensions.swift:19:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m17 |[0;0m extension MTLCompareFunction: Codable {}
[0;36m18 |[0;0m extension MTLBlendOperation: Codable {}
[0;36m19 |[0;0m extension MTLBlendFactor: Codable {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m20 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Ray+Extensions.swift:40:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m38 |[0;0m }
[0;36m39 |[0;0m
[0;36m40 |[0;0m extension Ray: Equatable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m41 |[0;0m public static func == (lhs: Ray, rhs: Ray) -> Bool {
[0;36m42 |[0;0m return lhs.origin == rhs.origin && lhs.direction == rhs.direction
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:46:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m44 |[0;0m }
[0;36m45 |[0;0m
[0;36m46 |[0;0m extension MTLPackedFloat3: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m47 |[0;0m public init(from decoder: Decoder) throws {
[0;36m48 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:62:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m60 |[0;0m }
[0;36m61 |[0;0m
[0;36m62 |[0;0m extension simd_quatf: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m63 |[0;0m public init(from decoder: Decoder) throws {
[0;36m64 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:74:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m72 |[0;0m }
[0;36m73 |[0;0m
[0;36m74 |[0;0m extension simd_float4x4: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m75 |[0;0m public init(from decoder: Decoder) throws {
[0;36m76 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:94:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m92 |[0;0m }
[0;36m93 |[0;0m
[0;36m94 |[0;0m extension simd_float3x3: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m95 |[0;0m public init(from decoder: Decoder) throws {
[0;36m96 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Simd+Extensions.swift:106:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m104 |[0;0m }
[0;36m105 |[0;0m
[0;36m106 |[0;0m extension simd_float2x2: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m107 |[0;0m public init(from decoder: Decoder) throws {
[0;36m108 |[0;0m let values = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/Satin/Extensions/Vertex+Extensions.swift:12:1: [1;33mwarning: [1;39mextension 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[0;0m
[0;36m10 |[0;0m #endif
[0;36m11 |[0;0m
[0;36m12 |[0;0m extension SatinVertex: Codable {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension 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[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m13 |[0;0m private enum CodingKeys: String, CodingKey {
[0;36m14 |[0;0m case position
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.