Build Information
Failed to build Creamy3D, reference main (a6be09
), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 15:05:49 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alex566/Creamy3D.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/alex566/Creamy3D
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at a6be096 Update swift.yml
Cloned https://github.com/alex566/Creamy3D.git
Revision (git rev-parse @):
a6be096cb332fd6cae8a38e028e6541b2689604c
SUCCESS checkout https://github.com/alex566/Creamy3D.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "creamy3d",
"name": "Creamy3D",
"url": "https://github.com/alex566/Creamy3D.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Creamy3D",
"dependencies": [
]
}
]
}
Fetching https://github.com/alex566/Creamy3D.git
[5/476] Fetching creamy3d
Fetched https://github.com/alex566/Creamy3D.git from cache (0.78s)
Creating working copy for https://github.com/alex566/Creamy3D.git
Working copy of https://github.com/alex566/Creamy3D.git resolved at main (a6be096)
warning: '.resolve-product-dependencies': dependency 'creamy3d' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/alex566/Creamy3D.git
https://github.com/alex566/Creamy3D.git
{
"dependencies" : [
],
"manifest_display_name" : "Creamy3D",
"name" : "Creamy3D",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Creamy3D",
"targets" : [
"Creamy3D"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Creamy3DTests",
"module_type" : "SwiftTarget",
"name" : "Creamy3DTests",
"path" : "Tests/Creamy3DTests",
"sources" : [
"Creamy3DTests.swift"
],
"target_dependencies" : [
"Creamy3D"
],
"type" : "test"
},
{
"c99name" : "Creamy3D",
"module_type" : "SwiftTarget",
"name" : "Creamy3D",
"path" : "Sources/Creamy3D",
"product_memberships" : [
"Creamy3D"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Shaders/color_material.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Shaders/common.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Shaders/fresnel_material.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Shaders/matcap_material.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Shaders/material_common.h",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Shaders/texture_material.metal",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"ColorRGB.swift",
"CreamyView.swift",
"Logger.swift",
"Materials/ColorMaterial.swift",
"Materials/FresnelMaterial.swift",
"Materials/MatcapMaterial.swift",
"Materials/Material+Blend.swift",
"Materials/Material.swift",
"Materials/TextureMaterial.swift",
"MetalView.swift",
"Objects/EmptyObject.swift",
"Objects/Mesh.swift",
"Objects/Object.swift",
"Renderer.swift",
"Scene/Camera.swift",
"Scene/MaterialFunctions/ColorMaterialFunction.swift",
"Scene/MaterialFunctions/FresnelMaterialFunction.swift",
"Scene/MaterialFunctions/MatcapMaterialFunction.swift",
"Scene/MaterialFunctions/MaterialFunction.swift",
"Scene/MaterialFunctions/TextureMaterialFunction.swift",
"Scene/MaterialState.swift",
"Scene/MeshLoader/CubeMeshLoader.swift",
"Scene/MeshLoader/MeshLoader.swift",
"Scene/MeshLoader/ModelMeshLoader.swift",
"Scene/MeshLoader/SphereMeshLoader.swift",
"Scene/MeshNode.swift",
"Scene/Projection.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
Building for debugging...
[0/8] Write sources
[1/8] Copying texture_material.metal
[1/8] Copying fresnel_material.metal
[1/8] Copying color_material.metal
[1/8] Copying matcap_material.metal
[1/8] Copying common.metal
[6/8] Copying material_common.h
[7/8] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/35] Emitting module Creamy3D
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:19:30: error: cannot find type 'Context' in scope
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- error: cannot find type 'Context' in scope
20 | let view = MTKView()
21 | renderer.setup(view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:27:51: error: cannot find type 'Context' in scope
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- error: cannot find type 'Context' in scope
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:19: error: cannot find type 'UIViewRepresentable' in scope
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
12 | let projection: Projection
13 | let camera: Camera
[10/37] Compiling Creamy3D ColorMaterial.swift
[11/37] Compiling Creamy3D FresnelMaterial.swift
[12/37] Compiling Creamy3D MatcapMaterial.swift
[13/37] Compiling Creamy3D Projection.swift
[14/37] Compiling Creamy3D resource_bundle_accessor.swift
[15/37] Compiling Creamy3D Material+Blend.swift
[16/37] Compiling Creamy3D Material.swift
[17/37] Compiling Creamy3D TextureMaterial.swift
[18/37] Compiling Creamy3D ColorMaterialFunction.swift
[19/37] Compiling Creamy3D FresnelMaterialFunction.swift
[20/37] Compiling Creamy3D MatcapMaterialFunction.swift
[21/37] Compiling Creamy3D CubeMeshLoader.swift
[22/37] Compiling Creamy3D MeshLoader.swift
[23/37] Compiling Creamy3D ModelMeshLoader.swift
[24/37] Compiling Creamy3D ColorRGB.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/CreamyView.swift:38:13: error: 'buildExpression' is unavailable: this expression does not conform to 'View'
36 | public var body: some View {
37 | GeometryReader { proxy in
38 | MetalView(
| `- error: 'buildExpression' is unavailable: this expression does not conform to 'View'
39 | projection: .init(width: proxy.size.width,
40 | height: proxy.size.height,
SwiftUICore.ViewBuilder.buildExpression:3:22: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct ViewBuilder {
2 | @available(*, unavailable, message: "this expression does not conform to 'View'")
3 | public static func buildExpression(_ invalid: Any) -> some View
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 | }
5 |
[25/37] Compiling Creamy3D CreamyView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/CreamyView.swift:38:13: error: 'buildExpression' is unavailable: this expression does not conform to 'View'
36 | public var body: some View {
37 | GeometryReader { proxy in
38 | MetalView(
| `- error: 'buildExpression' is unavailable: this expression does not conform to 'View'
39 | projection: .init(width: proxy.size.width,
40 | height: proxy.size.height,
SwiftUICore.ViewBuilder.buildExpression:3:22: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct ViewBuilder {
2 | @available(*, unavailable, message: "this expression does not conform to 'View'")
3 | public static func buildExpression(_ invalid: Any) -> some View
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 | }
5 |
[26/37] Compiling Creamy3D Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/CreamyView.swift:38:13: error: 'buildExpression' is unavailable: this expression does not conform to 'View'
36 | public var body: some View {
37 | GeometryReader { proxy in
38 | MetalView(
| `- error: 'buildExpression' is unavailable: this expression does not conform to 'View'
39 | projection: .init(width: proxy.size.width,
40 | height: proxy.size.height,
SwiftUICore.ViewBuilder.buildExpression:3:22: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct ViewBuilder {
2 | @available(*, unavailable, message: "this expression does not conform to 'View'")
3 | public static func buildExpression(_ invalid: Any) -> some View
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 | }
5 |
[27/37] Compiling Creamy3D MaterialFunction.swift
[28/37] Compiling Creamy3D TextureMaterialFunction.swift
[29/37] Compiling Creamy3D MaterialState.swift
[30/37] Compiling Creamy3D SphereMeshLoader.swift
[31/37] Compiling Creamy3D MeshNode.swift
[32/37] Compiling Creamy3D MetalView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:19:30: error: cannot find type 'Context' in scope
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- error: cannot find type 'Context' in scope
20 | let view = MTKView()
21 | renderer.setup(view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:27:51: error: cannot find type 'Context' in scope
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- error: cannot find type 'Context' in scope
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:19: error: cannot find type 'UIViewRepresentable' in scope
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
12 | let projection: Projection
13 | let camera: Camera
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:20:20: error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
| `- error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:18: error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:72:10: note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
70 | }
71 |
72 | func setup(view: MTKView) {
| `- note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
73 | view.delegate = self
74 | view.device = device
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
30 | }
31 | }
[33/37] Compiling Creamy3D EmptyObject.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:19:30: error: cannot find type 'Context' in scope
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- error: cannot find type 'Context' in scope
20 | let view = MTKView()
21 | renderer.setup(view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:27:51: error: cannot find type 'Context' in scope
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- error: cannot find type 'Context' in scope
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:19: error: cannot find type 'UIViewRepresentable' in scope
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
12 | let projection: Projection
13 | let camera: Camera
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:20:20: error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
| `- error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:18: error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:72:10: note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
70 | }
71 |
72 | func setup(view: MTKView) {
| `- note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
73 | view.delegate = self
74 | view.device = device
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
30 | }
31 | }
[34/37] Compiling Creamy3D Mesh.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:19:30: error: cannot find type 'Context' in scope
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- error: cannot find type 'Context' in scope
20 | let view = MTKView()
21 | renderer.setup(view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:27:51: error: cannot find type 'Context' in scope
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- error: cannot find type 'Context' in scope
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:19: error: cannot find type 'UIViewRepresentable' in scope
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
12 | let projection: Projection
13 | let camera: Camera
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:20:20: error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
| `- error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:18: error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:72:10: note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
70 | }
71 |
72 | func setup(view: MTKView) {
| `- note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
73 | view.delegate = self
74 | view.device = device
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
30 | }
31 | }
[35/37] Compiling Creamy3D Object.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:14: error: value of type 'MTKView' has no member 'backgroundColor'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: value of type 'MTKView' has no member 'backgroundColor'
81 | view.sampleCount = config.sampleCount
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:33: error: cannot infer contextual base in reference to member 'clear'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
81 | view.sampleCount = config.sampleCount
82 | }
[36/37] Compiling Creamy3D Renderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:14: error: value of type 'MTKView' has no member 'backgroundColor'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: value of type 'MTKView' has no member 'backgroundColor'
81 | view.sampleCount = config.sampleCount
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:33: error: cannot infer contextual base in reference to member 'clear'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
81 | view.sampleCount = config.sampleCount
82 | }
[37/37] Compiling Creamy3D Camera.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:14: error: value of type 'MTKView' has no member 'backgroundColor'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: value of type 'MTKView' has no member 'backgroundColor'
81 | view.sampleCount = config.sampleCount
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:33: error: cannot infer contextual base in reference to member 'clear'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
81 | view.sampleCount = config.sampleCount
82 | }
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/28] Emitting module Creamy3D
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:19:30: error: cannot find type 'Context' in scope
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- error: cannot find type 'Context' in scope
20 | let view = MTKView()
21 | renderer.setup(view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:27:51: error: cannot find type 'Context' in scope
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- error: cannot find type 'Context' in scope
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:19: error: cannot find type 'UIViewRepresentable' in scope
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
12 | let projection: Projection
13 | let camera: Camera
[3/30] Compiling Creamy3D Object.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:14: error: value of type 'MTKView' has no member 'backgroundColor'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: value of type 'MTKView' has no member 'backgroundColor'
81 | view.sampleCount = config.sampleCount
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:33: error: cannot infer contextual base in reference to member 'clear'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
81 | view.sampleCount = config.sampleCount
82 | }
[4/30] Compiling Creamy3D Renderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:14: error: value of type 'MTKView' has no member 'backgroundColor'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: value of type 'MTKView' has no member 'backgroundColor'
81 | view.sampleCount = config.sampleCount
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:33: error: cannot infer contextual base in reference to member 'clear'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
81 | view.sampleCount = config.sampleCount
82 | }
[5/30] Compiling Creamy3D Camera.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:14: error: value of type 'MTKView' has no member 'backgroundColor'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: value of type 'MTKView' has no member 'backgroundColor'
81 | view.sampleCount = config.sampleCount
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:80:33: error: cannot infer contextual base in reference to member 'clear'
78 | view.clearColor = .init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
79 | view.depthStencilPixelFormat = config.depthPixelFormat
80 | view.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
81 | view.sampleCount = config.sampleCount
82 | }
[6/30] Compiling Creamy3D Material+Blend.swift
[7/30] Compiling Creamy3D Material.swift
[8/30] Compiling Creamy3D TextureMaterial.swift
[9/30] Compiling Creamy3D CubeMeshLoader.swift
[10/30] Compiling Creamy3D MeshLoader.swift
[11/30] Compiling Creamy3D ModelMeshLoader.swift
[12/30] Compiling Creamy3D SphereMeshLoader.swift
[13/30] Compiling Creamy3D MeshNode.swift
[14/30] Compiling Creamy3D Projection.swift
[15/30] Compiling Creamy3D resource_bundle_accessor.swift
[16/30] Compiling Creamy3D ColorMaterial.swift
[17/30] Compiling Creamy3D FresnelMaterial.swift
[18/30] Compiling Creamy3D MatcapMaterial.swift
[19/30] Compiling Creamy3D MaterialFunction.swift
[20/30] Compiling Creamy3D TextureMaterialFunction.swift
[21/30] Compiling Creamy3D MaterialState.swift
[22/30] Compiling Creamy3D ColorMaterialFunction.swift
[23/30] Compiling Creamy3D FresnelMaterialFunction.swift
[24/30] Compiling Creamy3D MatcapMaterialFunction.swift
[25/30] Compiling Creamy3D MetalView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:19:30: error: cannot find type 'Context' in scope
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- error: cannot find type 'Context' in scope
20 | let view = MTKView()
21 | renderer.setup(view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:27:51: error: cannot find type 'Context' in scope
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- error: cannot find type 'Context' in scope
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:19: error: cannot find type 'UIViewRepresentable' in scope
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
12 | let projection: Projection
13 | let camera: Camera
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:20:20: error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
| `- error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:18: error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:72:10: note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
70 | }
71 |
72 | func setup(view: MTKView) {
| `- note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
73 | view.delegate = self
74 | view.device = device
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
30 | }
31 | }
[26/30] Compiling Creamy3D EmptyObject.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:19:30: error: cannot find type 'Context' in scope
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- error: cannot find type 'Context' in scope
20 | let view = MTKView()
21 | renderer.setup(view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:27:51: error: cannot find type 'Context' in scope
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- error: cannot find type 'Context' in scope
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:19: error: cannot find type 'UIViewRepresentable' in scope
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
12 | let projection: Projection
13 | let camera: Camera
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:20:20: error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
| `- error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:18: error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:72:10: note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
70 | }
71 |
72 | func setup(view: MTKView) {
| `- note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
73 | view.delegate = self
74 | view.device = device
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
30 | }
31 | }
[27/30] Compiling Creamy3D Mesh.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:19:30: error: cannot find type 'Context' in scope
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- error: cannot find type 'Context' in scope
20 | let view = MTKView()
21 | renderer.setup(view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:27:51: error: cannot find type 'Context' in scope
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- error: cannot find type 'Context' in scope
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:19: error: cannot find type 'UIViewRepresentable' in scope
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
12 | let projection: Projection
13 | let camera: Camera
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:20:20: error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
| `- error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:18: error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: call to main actor-isolated instance method 'setup(view:)' in a synchronous nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:72:10: note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
70 | }
71 |
72 | func setup(view: MTKView) {
| `- note: calls to instance method 'setup(view:)' from outside of its actor context are implicitly asynchronous
73 | view.delegate = self
74 | view.device = device
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:21:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:22:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
23 | renderer.update(objects: objects, projection: projection, view: view)
24 | return view
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
17 | var renderer = Renderer()
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:23:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
| `- note: add '@MainActor' to make instance method 'makeUIView(context:)' part of global actor 'MainActor'
20 | let view = MTKView()
21 | renderer.setup(view: view)
22 | renderer.update(camera: camera, projection: projection)
23 | renderer.update(objects: objects, projection: projection, view: view)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
24 | return view
25 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:18: error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: call to main actor-isolated instance method 'update(camera:projection:)' in a synchronous nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:84:10: note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
82 | }
83 |
84 | func update(camera: Camera, projection: Projection) {
| `- note: calls to instance method 'update(camera:projection:)' from outside of its actor context are implicitly asynchronous
85 | self.viewMatrix = camera.makeMatrix()
86 | self.projectionMatrix = projection.makeMatrix()
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:28:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
29 | renderer.update(objects: objects, projection: projection, view: uiView)
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:18: error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: call to main actor-isolated instance method 'update(objects:projection:view:)' in a synchronous nonisolated context
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/Renderer.swift:89:10: note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
87 | }
88 |
89 | func update(objects: [any Object], projection: Projection, view: MTKView) {
| `- note: calls to instance method 'update(objects:projection:view:)' from outside of its actor context are implicitly asynchronous
90 | let meshes = objects.compactMap { $0 as? Mesh }
91 | // Remove meshes that are not in the list anymore
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:29:9: error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: property declared here
18 |
19 | func makeUIView(context: Context) -> MTKView {
:
25 | }
26 |
27 | func updateUIView(_ uiView: MTKView, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateUIView(_:context:)' part of global actor 'MainActor'
28 | renderer.update(camera: camera, projection: projection)
29 | renderer.update(objects: objects, projection: projection, view: uiView)
| `- error: main actor-isolated property 'renderer' can not be referenced from a nonisolated context
30 | }
31 | }
[28/30] Compiling Creamy3D ColorRGB.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/CreamyView.swift:38:13: error: 'buildExpression' is unavailable: this expression does not conform to 'View'
36 | public var body: some View {
37 | GeometryReader { proxy in
38 | MetalView(
| `- error: 'buildExpression' is unavailable: this expression does not conform to 'View'
39 | projection: .init(width: proxy.size.width,
40 | height: proxy.size.height,
SwiftUICore.ViewBuilder.buildExpression:3:22: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct ViewBuilder {
2 | @available(*, unavailable, message: "this expression does not conform to 'View'")
3 | public static func buildExpression(_ invalid: Any) -> some View
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 | }
5 |
[29/30] Compiling Creamy3D CreamyView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/CreamyView.swift:38:13: error: 'buildExpression' is unavailable: this expression does not conform to 'View'
36 | public var body: some View {
37 | GeometryReader { proxy in
38 | MetalView(
| `- error: 'buildExpression' is unavailable: this expression does not conform to 'View'
39 | projection: .init(width: proxy.size.width,
40 | height: proxy.size.height,
SwiftUICore.ViewBuilder.buildExpression:3:22: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct ViewBuilder {
2 | @available(*, unavailable, message: "this expression does not conform to 'View'")
3 | public static func buildExpression(_ invalid: Any) -> some View
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 | }
5 |
[30/30] Compiling Creamy3D Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/MetalView.swift:11:8: error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
9 | import SwiftUI
10 |
11 | struct MetalView: UIViewRepresentable {
| `- error: memberwise initializer for 'MetalView' cannot be both nonisolated and main actor-isolated
12 | let projection: Projection
13 | let camera: Camera
:
15 |
16 | @StateObject
17 | var renderer = Renderer()
| `- note: initializer for property '_renderer' is main actor-isolated
18 |
19 | func makeUIView(context: Context) -> MTKView {
/Users/admin/builder/spi-builder-workspace/Sources/Creamy3D/CreamyView.swift:38:13: error: 'buildExpression' is unavailable: this expression does not conform to 'View'
36 | public var body: some View {
37 | GeometryReader { proxy in
38 | MetalView(
| `- error: 'buildExpression' is unavailable: this expression does not conform to 'View'
39 | projection: .init(width: proxy.size.width,
40 | height: proxy.size.height,
SwiftUICore.ViewBuilder.buildExpression:3:22: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct ViewBuilder {
2 | @available(*, unavailable, message: "this expression does not conform to 'View'")
3 | public static func buildExpression(_ invalid: Any) -> some View
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 | }
5 |
BUILD FAILURE 6.1 macosSpm