The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Satin, reference main (a91c46), with Swift 6.2 for macOS (SPM) on 20 Jun 2025 11:06:21 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.64.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.2
Building package at path:  $PWD
https://github.com/Hi-Rez/Satin.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/16] Compiling SatinCore Conversions.mm
[1/16] Write swift-version-1EA4D86E10B52AF.txt
[2/16] Copying Pipelines
[3/16] Compiling SatinCore Hermite.mm
[4/16] Compiling SatinCore SignedDistanceFunctions.mm
[4/16] Compiling SatinCore Bvh.mm
[4/16] Compiling SatinCore Types.mm
[4/16] Write sources
[8/16] Compiling SatinCore Rectangle.mm
[8/16] Compiling SatinCore Bounds.mm
/Users/admin/builder/spi-builder-workspace/Sources/SatinCore/Triangulator.mm:918:23: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
  918 |     tsVertex vertices[length];
      |                       ^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/SatinCore/Triangulator.mm:918:23: note: function parameter 'length' with unknown value cannot be used in a constant expression
/Users/admin/builder/spi-builder-workspace/Sources/SatinCore/Triangulator.mm:917:46: note: declared here
  917 | int triangulatePath(simd_float2 *points, int length, TriangleData *triData) {
      |                                              ^
1 warning generated.
[10/16] Compiling SatinCore Triangulator.mm
[11/16] Compiling SatinCore Transforms.mm
[12/16] Compiling SatinCore Bezier.mm
[13/16] Compiling SatinCore Geometry.mm
[14/16] Compiling SatinCore Generators.mm
[15/16] Compiling SatinCore PoissonDiskSampler.mm
[17/213] Compiling Satin Float4x4Parameter.swift
[18/213] Compiling Satin FloatParameter.swift
[19/213] Compiling Satin GenericParameter.swift
[20/213] Compiling Satin Int2Parameter.swift
[21/213] Compiling Satin Int3Parameter.swift
[22/213] Compiling Satin Int4Parameter.swift
[23/213] Compiling Satin IntParameter.swift
[24/213] Compiling Satin PackedFloat3Parameter.swift
[25/213] Compiling Satin Parameter.swift
[26/213] Compiling Satin ParameterGroup.swift
[27/213] Compiling Satin StringParameter.swift
[28/213] Compiling Satin UInt32Parameter.swift
[29/213] Compiling Satin IBLEnvironment.swift
[30/213] Compiling Satin Light.swift
[31/213] Compiling Satin Renderable.swift
[32/213] Compiling Satin Shadow.swift
[33/213] Compiling Satin Raycast.swift
[34/213] Compiling Satin RaycastOptions.swift
[35/213] Compiling Satin RaycastResult.swift
[36/213] Compiling Satin RenderEncoderState.swift
[37/213] Compiling Satin RenderList.swift
[38/234] Compiling Satin CircleGeometry.swift
[39/234] Compiling Satin ConeGeometry.swift
[40/234] Compiling Satin CylinderGeometry.swift
[41/234] Compiling Satin ExtrudedRoundedRectGeometry.swift
[42/234] Compiling Satin ExtrudedTextGeometry.swift
[43/234] Compiling Satin IcoSphereGeometry.swift
[44/234] Compiling Satin LineGeometry.swift
[45/234] Compiling Satin OctaSphereGeometry.swift
[46/234] Compiling Satin ParametricGeometry.swift
[47/234] Compiling Satin PlaneGeometry.swift
[48/234] Compiling Satin PointGeometry.swift
[49/234] Compiling Satin QuadGeometry.swift
[50/234] Compiling Satin RoundedBoxGeometry.swift
[51/234] Compiling Satin RoundedRectGeometry.swift
[52/234] Compiling Satin SatinGeometry.swift
[53/234] Compiling Satin SkyboxGeometry.swift
[54/234] Compiling Satin SphereGeometry.swift
[55/234] Compiling Satin SquircleGeometry.swift
[56/234] Compiling Satin TesselatedTextGeometry.swift
[57/234] Compiling Satin TessellationGeometry.swift
[58/234] Compiling Satin TextGeometry.swift
[59/234] Compiling Satin TorusGeometry.swift
[60/234] Emitting module Satin
/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
[61/234] Compiling Satin Satin.swift
[62/234] Compiling Satin PBRShader.swift
[63/234] Compiling Satin PhysicalShader.swift
[64/234] Compiling Satin SkyboxShader.swift
[65/234] Compiling Satin SourceShader.swift
[66/234] Compiling Satin StandardShader.swift
[67/234] Compiling Satin RenderingConfiguration.swift
[68/234] Compiling Satin ShaderBlending.swift
[69/234] Compiling Satin ShaderConfiguration.swift
[70/234] Compiling Satin ShaderDefine.swift
[71/234] Compiling Satin ShaderLibraryCache.swift
[72/234] Compiling Satin ShaderLibraryConfiguration.swift
[73/234] Compiling Satin ShaderLibrarySourceCache.swift
[74/234] Compiling Satin ShaderPipelineCache.swift
[75/234] Compiling Satin ShaderSourceCache.swift
[76/234] Compiling Satin ShaderSourceInjections.swift
[77/234] Compiling Satin ShaderSourceParsers.swift
[78/234] Compiling Satin DirectionalLightShadow.swift
[79/234] Compiling Satin FontAtlas.swift
[80/234] Compiling Satin TextMesh.swift
[81/234] Compiling Satin InstanceMatrixUniforms.swift
[82/234] Compiling Satin DepthMaterial.swift
[83/234] Compiling Satin MatCapMaterial.swift
[84/234] Compiling Satin NormalColorMaterial.swift
[85/234] Compiling Satin PhysicalMaterial.swift
[86/234] Compiling Satin ShadowMaterial.swift
[87/234] Compiling Satin SkyboxMaterial.swift
[88/234] Compiling Satin SourceMaterial.swift
[89/234] Compiling Satin StandardMaterial.swift
[90/234] Compiling Satin TextMaterial.swift
[91/234] Compiling Satin UVColorMaterial.swift
[92/234] Compiling Satin IBLScene.swift
[93/234] Compiling Satin InstancedMesh.swift
[94/234] Compiling Satin Submesh.swift
[95/234] Compiling Satin TessellationMesh.swift
[96/234] Compiling Satin AnyParameter.swift
[97/234] Compiling Satin BoolParameter.swift
[98/234] Compiling Satin DoubleParameter.swift
[99/234] Compiling Satin Float2Parameter.swift
[100/234] Compiling Satin Float2x2Parameter.swift
[101/234] Compiling Satin Float3Parameter.swift
[102/234] Compiling Satin Float3x3Parameter.swift
[103/234] Compiling Satin Float4Parameter.swift
[104/234] Compiling Satin OrthographicCameraController.swift
[105/234] Compiling Satin PerspectiveCameraController.swift
[106/234] Compiling Satin OrthographicCamera.swift
[107/234] Compiling Satin PerspectiveCamera.swift
[108/234] Compiling Satin AnyMaterial.swift
[109/234] Compiling Satin BufferComputeSystem.swift
[110/234] Compiling Satin ComputeProcessor.swift
[111/234] Compiling Satin ComputeSystem.swift
[112/234] Compiling Satin TessellationProcessor.swift
[113/234] Compiling Satin TextureComputeProcessor.swift
[114/234] Compiling Satin TextureComputeSystem.swift
[115/234] Compiling Satin ComputeConfiguration.swift
[116/234] Compiling Satin ComputeShader.swift
[117/234] Compiling Satin ComputeShaderConfiguration.swift
[118/234] Compiling Satin ComputeShaderLibraryCache.swift
[119/234] Compiling Satin ComputeShaderLibraryConfiguration.swift
[120/234] Compiling Satin ComputeShaderLibrarySourceCache.swift
[121/234] Compiling Satin ComputeShaderPipelineCache.swift
[122/234] Compiling Satin Blending.swift
[123/234] Compiling Satin Constants.swift
[124/234] Compiling Satin Lighting.swift
[125/234] Compiling Satin ComputeConstants.swift
[126/234] Compiling Satin TriangleGeometry.swift
[127/234] Compiling Satin TubeGeometry.swift
[128/234] Compiling Satin UVDiskGeometry.swift
[129/234] Compiling Satin AnyBufferAttribute.swift
[130/234] Compiling Satin Attribute.swift
[131/234] Compiling Satin BufferAttribute.swift
[132/234] Compiling Satin ElementBuffer.swift
[133/234] Compiling Satin InterleavedBuffer.swift
[134/234] Compiling Satin InterleavedBufferAttribute.swift
[135/234] Compiling Satin VertexAttribute.swift
[136/234] Compiling Satin DirectionalLight.swift
[137/234] Compiling Satin PointLight.swift
[138/234] Compiling Satin SpotLight.swift
[139/234] Compiling Satin ARBackgroundDepthMaterial.swift
[140/234] Compiling Satin ARBackgroundMaterial.swift
[141/234] Compiling Satin ARCompositorMaterial.swift
[142/234] Compiling Satin ARMatteMaterial.swift
[143/234] Compiling Satin ARPostMaterial.swift
[144/234] Compiling Satin BasicColorMaterial.swift
[145/234] Compiling Satin BasicDiffuseMaterial.swift
[146/234] Compiling Satin BasicPointMaterial.swift
[147/234] Compiling Satin BasicTextureMaterial.swift
[148/234] Compiling Satin ARBackgroundDepthRenderer.swift
[149/234] Compiling Satin ARBackgroundRenderer.swift
[150/234] Compiling Satin ARCompositor.swift
[151/234] Compiling Satin ARDepthMaskGenerator.swift
[152/234] Compiling Satin ARDepthUpscaler.swift
[153/234] Compiling Satin ARFeatheredDepthMaskGenerator.swift
[154/234] Compiling Satin ARLidarMesh.swift
[155/234] Compiling Satin ARMatteRenderer.swift
[156/234] Compiling Satin ARPerspectiveCamera.swift
[157/234] Compiling Satin ARPlaneMesh.swift
[158/234] Compiling Satin ARPostProcessor.swift
[159/234] Compiling Satin ARSessionPublisher.swift
[160/234] Compiling Satin Easing.swift
[161/234] Compiling Satin Easings.swift
[162/234] Compiling Satin Tween.swift
[163/234] Compiling Satin Tweener.swift
[164/234] Compiling Satin InstanceMatrixUniformBuffer.swift
[165/234] Compiling Satin StructBuffer.swift
[166/234] Compiling Satin UniformBuffer.swift
[167/234] Compiling Satin VertexUniformBuffer.swift
[168/234] Compiling Satin CameraController.swift
[169/234] Compiling Satin OrbitPerspectiveCameraController.swift
[170/234] Compiling Satin FragmentConstants.swift
[171/234] Compiling Satin MeshConstants.swift
[172/234] Compiling Satin ObjectConstants.swift
[173/234] Compiling Satin PBRConstants.swift
[174/234] Compiling Satin VertexConstants.swift
[175/234] Compiling Satin Tonemapping.swift
[176/234] Compiling Satin YCbCrToRGBConverter.swift
[177/234] Compiling Satin Camera.swift
[178/234] Compiling Satin Context.swift
[179/234] Compiling Satin Geometry.swift
[180/234] Compiling Satin Material.swift
[181/234] Compiling Satin Mesh.swift
[182/234] Compiling Satin Object.swift
[183/234] Compiling Satin Renderer.swift
[184/234] Compiling Satin Shader.swift
[185/234] Compiling Satin BVH+Extensions.swift
[186/234] Compiling Satin Bounds+Extensions.swift
[187/234] Compiling Satin Bundle+Extensions.swift
[188/234] Compiling Satin CGPoint+Extensions.swift
[189/234] Compiling Satin CGSize+Extensions.swift
[190/234] Compiling Satin CodingUserInfoKey+Extensions.swift
[191/234] Compiling Satin Float+Extensions.swift
[192/234] Compiling Satin MTLClearColor+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/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
[193/234] Compiling Satin MTLSamplerDescriptor+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/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
[194/234] Compiling Satin MTLTexture+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/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
[195/234] Compiling Satin MTLVertexFormat+Extension.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/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
[196/234] Compiling Satin MTLVertexStepFunction+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/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
[197/234] Compiling Satin MTLViewport+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/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
[198/234] Compiling Satin Metal+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/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
[199/234] Compiling Satin NSAppearanceCustomization+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/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
[200/234] Compiling Satin Ray+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/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
[201/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/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
[202/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/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
[203/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/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
[204/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/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
[205/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/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
[206/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/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
[207/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/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
[208/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/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
[209/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/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
[210/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/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
[211/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/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
[212/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/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
[213/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/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
[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! (12.61s)
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.