The Swift Package Index logo.Swift Package Index

Build Information

Failed to build UntoldEngine, reference develop (eb63f2), with Swift 6.0 for macOS (SPM) on 1 May 2026 17:55:07 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/untoldengine/UntoldEngine.git
Reference: develop
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/untoldengine/UntoldEngine
 * branch            develop    -> FETCH_HEAD
 * [new branch]      develop    -> origin/develop
HEAD is now at eb63f2c [Test] Added post fx tests
Cloned https://github.com/untoldengine/UntoldEngine.git
Revision (git rev-parse @):
eb63f2cf5f9984f328d2e64ead442ada36658531
SUCCESS checkout https://github.com/untoldengine/UntoldEngine.git at develop
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/untoldengine/UntoldEngine.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Found unhandled resource at /Users/admin/builder/spi-builder-workspace/Tests/UntoldEngineRenderTests/Resources/compare_psnr.py
Building for debugging...
[0/34] Write sandbox-entitlement.plist
[0/34] Write sources
[0/34] Write untolddemo-entitlement.plist
[5/34] Copying satara_night_2k.hdr
[5/34] Copying teatro_massimo_2k.hdr
[5/34] Copying autumn_field_puresky_2k.hdr
[6/34] Write sources
[7/34] Copying potsdamer_platz_2k.hdr
[9/34] Copying spot_light_icon_256x256.png
[9/34] Copying area_light_icon_256x256.png
[9/34] Copying UntoldEngineKernels-tvos.metallib
[9/34] Copying UntoldEngineKernels-iossim.metallib
[10/34] Copying directional_light_icon_256x256.png
[14/34] Copying point_light_icon_256x256.png
[16/34] Copying UntoldEngineKernels.metallib
[16/34] Write sources
[18/34] Write DemoGame-entitlement.plist
[18/34] Copying UntoldEngineKernels-xros.metallib
[20/34] Copying UntoldEngineKernels-xrossim.metallib
[20/34] Copying UntoldEngineKernels-ios.metallib
[20/34] Copying UntoldEngineKernels-tvossim.metallib
[23/34] Compiling CShaderTypes ShaderTypes.c
[24/34] Write swift-version-5BDAB9E9C0126B9D.txt
[26/151] Compiling UntoldEngine MetricsSnapshot.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[27/151] Compiling UntoldEngine RenderStatsCollector.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[28/151] Compiling UntoldEngine ColorPipelineConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[29/151] Compiling UntoldEngine ComputePipelines.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[30/151] Compiling UntoldEngine MeshShaderPipeline.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[31/151] Compiling UntoldEngine PipelineManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[32/151] Compiling UntoldEngine RenderPipeLines.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[33/151] Compiling UntoldEngine RenderPipelineType.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[34/151] Compiling UntoldEngine PostProcessRenderPasses.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[35/151] Compiling UntoldEngine RenderInitializer.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[36/151] Compiling UntoldEngine RenderPasses.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[37/151] Compiling UntoldEngine RenderResources.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[38/151] Compiling UntoldEngine UntoldEngine+MetalLib.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:25:20: warning: unknown operating system for build configuration 'os'
23 |         #elseif os(tvOS) && targetEnvironment(simulator)
24 |             let resourceName = "UntoldEngineKernels-tvossim"
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Renderer/UntoldEngine+MetalLib.swift:27:20: warning: unknown operating system for build configuration 'os'
25 |         #elseif os(xrOS) && !targetEnvironment(simulator)
26 |             let resourceName = "UntoldEngineKernels-xros"
27 |         #elseif os(xrOS) && targetEnvironment(simulator)
   |                    |- warning: unknown operating system for build configuration 'os'
   |                    |- note: did you mean 'tvOS'?
   |                    `- note: did you mean 'iOS'?
28 |             let resourceName = "UntoldEngineKernels-xrossim"
29 |         #endif
[39/163] Compiling UntoldEngine InputSystem+Keyboard.swift
[40/163] Compiling UntoldEngine InputSystem+Mouse.swift
[41/163] Compiling UntoldEngine InputSystem+XR.swift
[42/163] Compiling UntoldEngine InputSystem+iOS.swift
[43/163] Compiling UntoldEngine InputSystem.swift
[44/163] Compiling UntoldEngine LODConfig.swift
[45/163] Compiling UntoldEngine LODImportDetection.swift
[46/163] Compiling UntoldEngine LODSystem.swift
[47/163] Compiling UntoldEngine LightingSystem.swift
[48/163] Compiling UntoldEngine LoadingSystem.swift
[49/163] Compiling UntoldEngine LogSystem.swift
[50/163] Compiling UntoldEngine MemoryBudgetManager.swift
[51/163] Compiling UntoldEngine MeshResourceManager.swift
[52/163] Compiling UntoldEngine NativeTexFormat.swift
[53/163] Compiling UntoldEngine UntoldBinaryCodable.swift
[54/163] Compiling UntoldEngine UntoldChunkTypes.swift
[55/163] Compiling UntoldEngine UntoldFormat.swift
[56/163] Compiling UntoldEngine UntoldReader.swift
[57/163] Compiling UntoldEngine UntoldValidation.swift
[58/163] Compiling UntoldEngine BuildSystem.swift
[59/163] Compiling UntoldEngine BuildTemplates.swift
[60/163] Compiling UntoldEngine XcodeGenProjectSpec.swift
[61/163] Compiling UntoldEngine ComponentPool.swift
[62/163] Compiling UntoldEngine ComponentRegistry.swift
[63/163] Compiling UntoldEngine Components.swift
[64/163] Compiling UntoldEngine Entity.swift
[65/163] Compiling UntoldEngine UntoldEngine.swift
[66/163] Compiling UntoldEngine UntoldRendererConfig.swift
[67/163] Compiling UntoldEngine NativeFormatLoader.swift
[68/163] Compiling UntoldEngine NativeTextureLoader.swift
[69/163] Compiling UntoldEngine RuntimeAsset.swift
[70/163] Compiling UntoldEngine RuntimeAssetLoader.swift
[71/163] Compiling UntoldEngine RuntimeAssetSource.swift
[72/163] Compiling UntoldEngine MeshNode.swift
[73/163] Compiling UntoldEngine Node+Animations.swift
[74/163] Compiling UntoldEngine Node+Kinetics.swift
[75/163] Compiling UntoldEngine Node+Transform.swift
[76/163] Compiling UntoldEngine Node.swift
[77/163] Compiling UntoldEngine SceneBuilder.swift
[78/163] Compiling UntoldEngine UntoldView.swift
[79/163] Compiling UntoldEngine SceneSerializer.swift
[80/163] Compiling UntoldEngine SceneView.swift
[81/163] Compiling UntoldEngine USCBuilder.swift
[82/163] Compiling UntoldEngine USCInstruction.swift
[83/163] Compiling UntoldEngine USCInterpreter.swift
[84/163] Compiling UntoldEngine USCPropertyAccess.swift
[85/163] Compiling UntoldEngine USCPropertyKeys.swift
[86/163] Compiling UntoldEngine USCScripting.swift
[87/163] Compiling UntoldEngine AnimationSystem.swift
[88/163] Compiling UntoldEngine AssetDiskCache.swift
[89/163] Compiling UntoldEngine AssetLoadingPolicy.swift
[90/163] Compiling UntoldEngine AssetLoadingState.swift
[91/163] Compiling UntoldEngine AssetProfiler.swift
[92/163] Compiling UntoldEngine BatchingSystem.swift
[93/163] Compiling UntoldEngine CameraSystem.swift
[94/163] Compiling UntoldEngine CullingSystem.swift
[95/163] Compiling UntoldEngine ErrorHandlingSystem.swift
[96/163] Compiling UntoldEngine GaussianSystem.swift
[97/163] Compiling UntoldEngine GeometryStreamingSystem+Eviction.swift
[98/163] Compiling UntoldEngine GeometryStreamingSystem+MeshStreaming.swift
[99/163] Compiling UntoldEngine GeometryStreamingSystem+TileStreaming.swift
[100/163] Compiling UntoldEngine GeometryStreamingSystem.swift
[101/163] Compiling UntoldEngine GraphBuilder.swift
[102/163] Compiling UntoldEngine GroundPickingSystem.swift
[103/163] Compiling UntoldEngine HZBDebugMonitor.swift
[104/163] Compiling UntoldEngine SpatialManipulationSystem.swift
[105/163] Compiling UntoldEngine SteeringSystem.swift
[106/163] Compiling UntoldEngine StreamingRegion.swift
[107/163] Compiling UntoldEngine StreamingRegionManager.swift
[108/163] Compiling UntoldEngine SystemEvents.swift
[109/163] Compiling UntoldEngine TextureStreamingSystem.swift
[110/163] Compiling UntoldEngine TransformSystem.swift
[111/163] Compiling UntoldEngine USCSystem.swift
[112/163] Compiling UntoldEngine AABB.swift
[113/163] Compiling UntoldEngine ArrayExtensions.swift
[114/163] Compiling UntoldEngine ColorUtils.swift
[115/163] Compiling UntoldEngine FuncUtils.swift
[116/163] Compiling UntoldEngine OctreeSystem.swift
[117/163] Compiling UntoldEngine PhysicsSystem.swift
[118/163] Compiling UntoldEngine ProgressiveAssetLoader.swift
[119/163] Compiling UntoldEngine RealSurfacePickingSystem.swift
[120/163] Compiling UntoldEngine RegistrationSystem.swift
[121/163] Compiling UntoldEngine RemoteAssetDownloader.swift
[122/163] Compiling UntoldEngine RenderingSystem.swift
[123/163] Compiling UntoldEngine ScenePickingGPUSystem.swift
[124/163] Compiling UntoldEngine ScenePickingSystem.swift
[125/163] Compiling UntoldEngine SceneReadinessState.swift
[126/163] Compiling UntoldEngine SceneRootTransform.swift
[127/163] Compiling UntoldEngine ScenegraphSystem.swift
[128/163] Compiling UntoldEngine ShadowSystem.swift
[129/163] Emitting module UntoldEngine
[130/163] Compiling UntoldEngine Scenes.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[131/163] Compiling UntoldEngine BasicPrimitives.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[132/163] Compiling UntoldEngine Mesh+GPUMemory.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[133/163] Compiling UntoldEngine Mesh.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[134/163] Compiling UntoldEngine Skeleton.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[135/163] Compiling UntoldEngine CommandBufferMetricsCollector.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[136/163] Compiling UntoldEngine EngineProfiler.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[137/163] Compiling UntoldEngine EngineSignposts.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[138/163] Compiling UntoldEngine EngineStatsFormatter.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[139/163] Compiling UntoldEngine EngineStatsMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[140/163] Compiling UntoldEngine EngineStatsSnapshot.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[141/163] Compiling UntoldEngine FrameMetricsCollector.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[142/163] Compiling UntoldEngine MetricsDebugLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:214:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 212 |     ) async -> [Mesh] {
 213 |         // Perform heavy I/O work on background thread
 214 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 215 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 216 |
 217 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:370:41: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 368 |     ) async -> [[Mesh]] {
 369 |         // Perform heavy I/O work on background thread
 370 |         let asset = await Task.detached { () -> MDLAsset? in
     |                                         `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 371 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 372 |
 373 |             // Validate file exists and get size
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:557:29: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 555 |         coordinateConversion: CoordinateSystemConversion = .autoDetect
 556 |     ) async -> ProgressiveAssetData? {
 557 |         await Task.detached { () -> ProgressiveAssetData? in
     |                             `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 558 |             guard FileManager.default.fileExists(atPath: url.path) else {
 559 |                 handleError(.assetFileNotFound, url.path)
     :
 609 |             //     upgrade resolution tiers by camera distance later.
 610 |
 611 |             let textureLoader = TextureLoader(device: device)
     |                                                       `- note: closure captures 'device' which is accessible to code in the current task
 612 |             // childObjects(of: MDLMesh.self) returns only the actual geometry leaves at
 613 |             // every level of the hierarchy — no intermediate transform groups.
/Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/Mesh/Mesh.swift:829:49: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 827 |     ) async -> [Mesh] {
 828 |         // Perform heavy I/O work on background thread
 829 |         let matchedObject = await Task.detached { () -> MDLObject? in
     |                                                 `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
 830 |             let bufferAllocator = MTKMeshBufferAllocator(device: device)
     |                                                                  `- note: closure captures 'device' which is accessible to code in the current task
 831 |
 832 |             // Validate file exists
[143/163] Compiling UntoldEngine Globals.swift
[144/163] Compiling UntoldEngine LTCMatrix.swift
[145/163] Compiling UntoldEngine Logger.swift
[146/163] Compiling UntoldEngine MathUtils.swift
[147/163] Compiling UntoldEngine Octree.swift
[148/163] Compiling UntoldEngine PLYReader.swift
[149/163] Compiling UntoldEngine PostFX.swift
[150/163] Compiling UntoldEngine SSAO.swift
[151/163] Compiling UntoldEngine SpatialDebugBoundsCollector.swift
[152/163] Compiling UntoldEngine SpatialDebugVisualization.swift
[153/163] Compiling UntoldEngine TripleBuffer.swift
[154/163] Compiling UntoldEngine resource_bundle_accessor.swift
warning: 'spi-builder-workspace': found 7 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-tvos.air
    /Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-xros.air
    /Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels.metal
    /Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-iossim.air
    /Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-ios.air
    /Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-xrossim.air
    /Users/admin/builder/spi-builder-workspace/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-tvossim.air
BUILD FAILURE 6.0 macosSpm