The Swift Package Index logo.Swift Package Index

Build Information

Failed to build ShapeScript, reference main (00f0d2), with Swift 6.1 for Wasm on 4 Mar 2026 06:32:07 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

[76/93] Compiling ShapeScript Euclid+Extensions.swift
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:363:28: error: no exact matches in call to initializer
361 |         switch url.pathExtension.lowercased() {
362 |         case "stl", "stla", "obj", "off":
363 |             let mesh = try Mesh(url: url) {
    |                            `- error: no exact matches in call to initializer
364 |                 switch $0 {
365 |                 case let color as Color:
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh+STL.swift:220:5: note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
218 |     ///   - stlData: binary or ASCII STL file data
219 |     ///   - materialLookup: A closure to map STL facet colors to Euclid materials. Use `nil` for default mapping.
220 |     init?(stlData: Data, materialLookup: STLMaterialProvider? = nil) {
    |     `- note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
221 |         if stlData.count >= 5,
222 |            let prefix = String(data: stlData[0 ..< 5], encoding: .utf8),
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh.swift:186:5: note: candidate has partially matching parameter list ([Polygon])
184 |     /// Creates a new mesh from an array of polygons.
185 |     /// - Parameter polygons: The polygons making up the mesh.
186 |     init(_ polygons: [Polygon]) {
    |     `- note: candidate has partially matching parameter list ([Polygon])
187 |         self.init(
188 |             unchecked: polygons,
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:372:28: error: 'nil' is not compatible with closure result type 'Material'
370 |                 #endif
371 |                 default:
372 |                     return nil
    |                            `- error: 'nil' is not compatible with closure result type 'Material'
373 |                 }
374 |             }
[77/93] Compiling ShapeScript Euclid+SVGPath.swift
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:363:28: error: no exact matches in call to initializer
361 |         switch url.pathExtension.lowercased() {
362 |         case "stl", "stla", "obj", "off":
363 |             let mesh = try Mesh(url: url) {
    |                            `- error: no exact matches in call to initializer
364 |                 switch $0 {
365 |                 case let color as Color:
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh+STL.swift:220:5: note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
218 |     ///   - stlData: binary or ASCII STL file data
219 |     ///   - materialLookup: A closure to map STL facet colors to Euclid materials. Use `nil` for default mapping.
220 |     init?(stlData: Data, materialLookup: STLMaterialProvider? = nil) {
    |     `- note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
221 |         if stlData.count >= 5,
222 |            let prefix = String(data: stlData[0 ..< 5], encoding: .utf8),
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh.swift:186:5: note: candidate has partially matching parameter list ([Polygon])
184 |     /// Creates a new mesh from an array of polygons.
185 |     /// - Parameter polygons: The polygons making up the mesh.
186 |     init(_ polygons: [Polygon]) {
    |     `- note: candidate has partially matching parameter list ([Polygon])
187 |         self.init(
188 |             unchecked: polygons,
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:372:28: error: 'nil' is not compatible with closure result type 'Material'
370 |                 #endif
371 |                 default:
372 |                     return nil
    |                            `- error: 'nil' is not compatible with closure result type 'Material'
373 |                 }
374 |             }
[78/93] Compiling ShapeScript EvaluationContext.swift
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:363:28: error: no exact matches in call to initializer
361 |         switch url.pathExtension.lowercased() {
362 |         case "stl", "stla", "obj", "off":
363 |             let mesh = try Mesh(url: url) {
    |                            `- error: no exact matches in call to initializer
364 |                 switch $0 {
365 |                 case let color as Color:
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh+STL.swift:220:5: note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
218 |     ///   - stlData: binary or ASCII STL file data
219 |     ///   - materialLookup: A closure to map STL facet colors to Euclid materials. Use `nil` for default mapping.
220 |     init?(stlData: Data, materialLookup: STLMaterialProvider? = nil) {
    |     `- note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
221 |         if stlData.count >= 5,
222 |            let prefix = String(data: stlData[0 ..< 5], encoding: .utf8),
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh.swift:186:5: note: candidate has partially matching parameter list ([Polygon])
184 |     /// Creates a new mesh from an array of polygons.
185 |     /// - Parameter polygons: The polygons making up the mesh.
186 |     init(_ polygons: [Polygon]) {
    |     `- note: candidate has partially matching parameter list ([Polygon])
187 |         self.init(
188 |             unchecked: polygons,
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:372:28: error: 'nil' is not compatible with closure result type 'Material'
370 |                 #endif
371 |                 default:
372 |                     return nil
    |                            `- error: 'nil' is not compatible with closure result type 'Material'
373 |                 }
374 |             }
[79/93] Compiling ShapeScript EvaluationDelegate.swift
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:363:28: error: no exact matches in call to initializer
361 |         switch url.pathExtension.lowercased() {
362 |         case "stl", "stla", "obj", "off":
363 |             let mesh = try Mesh(url: url) {
    |                            `- error: no exact matches in call to initializer
364 |                 switch $0 {
365 |                 case let color as Color:
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh+STL.swift:220:5: note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
218 |     ///   - stlData: binary or ASCII STL file data
219 |     ///   - materialLookup: A closure to map STL facet colors to Euclid materials. Use `nil` for default mapping.
220 |     init?(stlData: Data, materialLookup: STLMaterialProvider? = nil) {
    |     `- note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
221 |         if stlData.count >= 5,
222 |            let prefix = String(data: stlData[0 ..< 5], encoding: .utf8),
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh.swift:186:5: note: candidate has partially matching parameter list ([Polygon])
184 |     /// Creates a new mesh from an array of polygons.
185 |     /// - Parameter polygons: The polygons making up the mesh.
186 |     init(_ polygons: [Polygon]) {
    |     `- note: candidate has partially matching parameter list ([Polygon])
187 |         self.init(
188 |             unchecked: polygons,
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:372:28: error: 'nil' is not compatible with closure result type 'Material'
370 |                 #endif
371 |                 default:
372 |                     return nil
    |                            `- error: 'nil' is not compatible with closure result type 'Material'
373 |                 }
374 |             }
[80/93] Compiling ShapeScript StandardLibrary.swift
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:36:16: warning: static property 'transform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 34 |     }
 35 |
 36 |     static let transform: Symbols = [
    |                |- warning: static property 'transform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'transform' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |         "position": .property(.vector, { parameter, context in
 38 |             context.transform.translation = parameter.vectorValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:54:16: warning: static property 'childTransform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 52 |     ]
 53 |
 54 |     static let childTransform: Symbols = [
    |                |- warning: static property 'childTransform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'childTransform' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 |         "translate": .command(.vector) { parameter, context in
 56 |             let vector = parameter.vectorValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:69:16: warning: static property 'colors' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 67 |     ]
 68 |
 69 |     static let colors: Symbols = [
    |                |- warning: static property 'colors' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'colors' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 70 |         "white": .constant(.color(.white)),
 71 |         "black": .constant(.color(.black)),
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:82:16: warning: static property 'color' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 80 |     ]
 81 |
 82 |     static let color: Symbols = colors + [
    |                |- warning: static property 'color' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'color' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 83 |         "color": .property(.color, { parameter, context in
 84 |             context.material.albedo = parameter.colorOrTextureValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:90:16: warning: static property 'material' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 88 |     ]
 89 |
 90 |     static let material: Symbols = color + [
    |                |- warning: static property 'material' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'material' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 91 |         "opacity": .property(.numberOrTexture, { parameter, context in
 92 |             switch parameter {
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:146:16: warning: static property 'polygons' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
144 |     ]
145 |
146 |     static let polygons: Symbols = [
    |                |- warning: static property 'polygons' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'polygons' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
147 |         "polygon": .block(.init(.polygon, [:], .point, .list(.polygon))) { context in
148 |             let path = Path(context.children.compactMap {
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:156:16: warning: static property 'meshes' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
154 |     ]
155 |
156 |     static let meshes: Symbols = [
    |                |- warning: static property 'meshes' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'meshes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |         // primitives
158 |         "cone": .block(.shape) { context in
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:302:16: warning: static property 'paths' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
300 |     ]
301 |
302 |     static let paths: Symbols = [
    |                |- warning: static property 'paths' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'paths' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
303 |         "path": .block(.path) { context in
304 |             var subpaths = [Path]()
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:426:16: warning: static property 'points' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
424 |     ]
425 |
426 |     static let points: Symbols = [
    |                |- warning: static property 'points' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'points' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
427 |         "point": .command(.vector) { parameter, context in
428 |             try context.addValue(.point(.point(
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:435:16: warning: static property 'pathPoints' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
433 |     ]
434 |
435 |     static let pathPoints: Symbols = _merge(points, [
    |                |- warning: static property 'pathPoints' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'pathPoints' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |         "curve": .command(.vector) { parameter, context in
437 |             try context.addValue(.point(.curve(
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:444:16: warning: static property 'functions' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
442 |     ])
443 |
444 |     static let functions: Symbols = [
    |                |- warning: static property 'functions' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'functions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
445 |         // Debug
446 |         "print": .command(.list(.any)) { value, context in
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:605:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
603 |     ]
604 |
605 |     static let name: Symbols = [
    |                |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
606 |         "name": .property(.string, { parameter, context in
607 |             context.name = parameter.stringValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:613:16: warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
611 |     ]
612 |
613 |     static let background: Symbols = [
    |                |- warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'background' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
614 |         "background": .getter(.colorOrTexture) { context in
615 |             .colorOrTexture(context.background ?? .color(.clear))
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:619:16: warning: static property 'font' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
617 |     ]
618 |
619 |     static let font: Symbols = [
    |                |- warning: static property 'font' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'font' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
620 |         "font": .property(.font, { parameter, context in
621 |             context.font = parameter.stringValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:627:16: warning: static property 'detail' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
625 |     ]
626 |
627 |     static let detail: Symbols = [
    |                |- warning: static property 'detail' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'detail' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
628 |         "detail": .property(.number, { parameter, context in
629 |             // TODO: throw error if min/max detail level exceeded
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:636:16: warning: static property 'smoothing' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
634 |     ]
635 |
636 |     static let smoothing: Symbols = [
    |                |- warning: static property 'smoothing' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'smoothing' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
637 |         "smoothing": .property(.halfturns, { parameter, context in
638 |             // TODO: find a better way to represent null/auto
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:646:16: warning: static property 'root' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
644 |     ]
645 |
646 |     static let root: Symbols = _merge(global, font, detail, smoothing, material, childTransform, [
    |                |- warning: static property 'root' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'root' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
647 |         "camera": .block(.init(.node, [
648 |             "position": .vector,
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:684:16: warning: static property 'global' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
682 |     ])
683 |
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
    |                |- warning: static property 'global' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'global' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:685:16: warning: static property 'node' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
683 |
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
685 |     static let node: Symbols = _merge(transform, name, background)
    |                |- warning: static property 'node' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'node' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:686:16: warning: static property 'shape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
    |                |- warning: static property 'shape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shape' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:687:16: warning: static property 'group' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
    |                |- warning: static property 'group' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'group' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:688:16: warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
    |                |- warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'user' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:689:16: warning: static property 'builder' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
    |                |- warning: static property 'builder' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'builder' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:690:16: warning: static property 'hull' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
    |                |- warning: static property 'hull' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'hull' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:691:16: warning: static property 'polygon' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
    |                |- warning: static property 'polygon' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'polygon' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:692:16: warning: static property 'mesh' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
    |                |- warning: static property 'mesh' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'mesh' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:693:16: warning: static property 'pathShape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
    |                |- warning: static property 'pathShape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'pathShape' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:694:16: warning: static property 'path' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
    |                |- warning: static property 'path' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'path' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
695 |     static let definition: Symbols = _merge(root, pathPoints)
696 |     static let all: Symbols = _merge(definition, shape, path)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:695:16: warning: static property 'definition' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
    |                |- warning: static property 'definition' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'definition' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
696 |     static let all: Symbols = _merge(definition, shape, path)
697 | }
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:696:16: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
696 |     static let all: Symbols = _merge(definition, shape, path)
    |                |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
697 | }
698 |
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
[81/93] Compiling ShapeScript String+Matching.swift
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:36:16: warning: static property 'transform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 34 |     }
 35 |
 36 |     static let transform: Symbols = [
    |                |- warning: static property 'transform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'transform' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |         "position": .property(.vector, { parameter, context in
 38 |             context.transform.translation = parameter.vectorValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:54:16: warning: static property 'childTransform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 52 |     ]
 53 |
 54 |     static let childTransform: Symbols = [
    |                |- warning: static property 'childTransform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'childTransform' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 |         "translate": .command(.vector) { parameter, context in
 56 |             let vector = parameter.vectorValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:69:16: warning: static property 'colors' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 67 |     ]
 68 |
 69 |     static let colors: Symbols = [
    |                |- warning: static property 'colors' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'colors' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 70 |         "white": .constant(.color(.white)),
 71 |         "black": .constant(.color(.black)),
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:82:16: warning: static property 'color' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 80 |     ]
 81 |
 82 |     static let color: Symbols = colors + [
    |                |- warning: static property 'color' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'color' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 83 |         "color": .property(.color, { parameter, context in
 84 |             context.material.albedo = parameter.colorOrTextureValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:90:16: warning: static property 'material' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 88 |     ]
 89 |
 90 |     static let material: Symbols = color + [
    |                |- warning: static property 'material' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'material' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 91 |         "opacity": .property(.numberOrTexture, { parameter, context in
 92 |             switch parameter {
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:146:16: warning: static property 'polygons' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
144 |     ]
145 |
146 |     static let polygons: Symbols = [
    |                |- warning: static property 'polygons' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'polygons' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
147 |         "polygon": .block(.init(.polygon, [:], .point, .list(.polygon))) { context in
148 |             let path = Path(context.children.compactMap {
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:156:16: warning: static property 'meshes' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
154 |     ]
155 |
156 |     static let meshes: Symbols = [
    |                |- warning: static property 'meshes' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'meshes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |         // primitives
158 |         "cone": .block(.shape) { context in
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:302:16: warning: static property 'paths' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
300 |     ]
301 |
302 |     static let paths: Symbols = [
    |                |- warning: static property 'paths' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'paths' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
303 |         "path": .block(.path) { context in
304 |             var subpaths = [Path]()
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:426:16: warning: static property 'points' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
424 |     ]
425 |
426 |     static let points: Symbols = [
    |                |- warning: static property 'points' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'points' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
427 |         "point": .command(.vector) { parameter, context in
428 |             try context.addValue(.point(.point(
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:435:16: warning: static property 'pathPoints' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
433 |     ]
434 |
435 |     static let pathPoints: Symbols = _merge(points, [
    |                |- warning: static property 'pathPoints' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'pathPoints' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |         "curve": .command(.vector) { parameter, context in
437 |             try context.addValue(.point(.curve(
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:444:16: warning: static property 'functions' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
442 |     ])
443 |
444 |     static let functions: Symbols = [
    |                |- warning: static property 'functions' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'functions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
445 |         // Debug
446 |         "print": .command(.list(.any)) { value, context in
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:605:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
603 |     ]
604 |
605 |     static let name: Symbols = [
    |                |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
606 |         "name": .property(.string, { parameter, context in
607 |             context.name = parameter.stringValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:613:16: warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
611 |     ]
612 |
613 |     static let background: Symbols = [
    |                |- warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'background' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
614 |         "background": .getter(.colorOrTexture) { context in
615 |             .colorOrTexture(context.background ?? .color(.clear))
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:619:16: warning: static property 'font' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
617 |     ]
618 |
619 |     static let font: Symbols = [
    |                |- warning: static property 'font' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'font' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
620 |         "font": .property(.font, { parameter, context in
621 |             context.font = parameter.stringValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:627:16: warning: static property 'detail' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
625 |     ]
626 |
627 |     static let detail: Symbols = [
    |                |- warning: static property 'detail' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'detail' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
628 |         "detail": .property(.number, { parameter, context in
629 |             // TODO: throw error if min/max detail level exceeded
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:636:16: warning: static property 'smoothing' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
634 |     ]
635 |
636 |     static let smoothing: Symbols = [
    |                |- warning: static property 'smoothing' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'smoothing' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
637 |         "smoothing": .property(.halfturns, { parameter, context in
638 |             // TODO: find a better way to represent null/auto
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:646:16: warning: static property 'root' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
644 |     ]
645 |
646 |     static let root: Symbols = _merge(global, font, detail, smoothing, material, childTransform, [
    |                |- warning: static property 'root' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'root' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
647 |         "camera": .block(.init(.node, [
648 |             "position": .vector,
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:684:16: warning: static property 'global' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
682 |     ])
683 |
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
    |                |- warning: static property 'global' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'global' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:685:16: warning: static property 'node' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
683 |
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
685 |     static let node: Symbols = _merge(transform, name, background)
    |                |- warning: static property 'node' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'node' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:686:16: warning: static property 'shape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
    |                |- warning: static property 'shape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shape' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:687:16: warning: static property 'group' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
    |                |- warning: static property 'group' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'group' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:688:16: warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
    |                |- warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'user' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:689:16: warning: static property 'builder' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
    |                |- warning: static property 'builder' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'builder' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:690:16: warning: static property 'hull' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
    |                |- warning: static property 'hull' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'hull' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:691:16: warning: static property 'polygon' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
    |                |- warning: static property 'polygon' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'polygon' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:692:16: warning: static property 'mesh' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
    |                |- warning: static property 'mesh' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'mesh' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:693:16: warning: static property 'pathShape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
    |                |- warning: static property 'pathShape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'pathShape' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:694:16: warning: static property 'path' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
    |                |- warning: static property 'path' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'path' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
695 |     static let definition: Symbols = _merge(root, pathPoints)
696 |     static let all: Symbols = _merge(definition, shape, path)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:695:16: warning: static property 'definition' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
    |                |- warning: static property 'definition' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'definition' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
696 |     static let all: Symbols = _merge(definition, shape, path)
697 | }
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:696:16: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
696 |     static let all: Symbols = _merge(definition, shape, path)
    |                |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
697 | }
698 |
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
[82/93] Compiling ShapeScript String+Ordinals.swift
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:36:16: warning: static property 'transform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 34 |     }
 35 |
 36 |     static let transform: Symbols = [
    |                |- warning: static property 'transform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'transform' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |         "position": .property(.vector, { parameter, context in
 38 |             context.transform.translation = parameter.vectorValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:54:16: warning: static property 'childTransform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 52 |     ]
 53 |
 54 |     static let childTransform: Symbols = [
    |                |- warning: static property 'childTransform' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'childTransform' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 |         "translate": .command(.vector) { parameter, context in
 56 |             let vector = parameter.vectorValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:69:16: warning: static property 'colors' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 67 |     ]
 68 |
 69 |     static let colors: Symbols = [
    |                |- warning: static property 'colors' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'colors' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 70 |         "white": .constant(.color(.white)),
 71 |         "black": .constant(.color(.black)),
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:82:16: warning: static property 'color' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 80 |     ]
 81 |
 82 |     static let color: Symbols = colors + [
    |                |- warning: static property 'color' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'color' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 83 |         "color": .property(.color, { parameter, context in
 84 |             context.material.albedo = parameter.colorOrTextureValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:90:16: warning: static property 'material' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
 88 |     ]
 89 |
 90 |     static let material: Symbols = color + [
    |                |- warning: static property 'material' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'material' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 91 |         "opacity": .property(.numberOrTexture, { parameter, context in
 92 |             switch parameter {
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:146:16: warning: static property 'polygons' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
144 |     ]
145 |
146 |     static let polygons: Symbols = [
    |                |- warning: static property 'polygons' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'polygons' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
147 |         "polygon": .block(.init(.polygon, [:], .point, .list(.polygon))) { context in
148 |             let path = Path(context.children.compactMap {
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:156:16: warning: static property 'meshes' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
154 |     ]
155 |
156 |     static let meshes: Symbols = [
    |                |- warning: static property 'meshes' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'meshes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |         // primitives
158 |         "cone": .block(.shape) { context in
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:302:16: warning: static property 'paths' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
300 |     ]
301 |
302 |     static let paths: Symbols = [
    |                |- warning: static property 'paths' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'paths' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
303 |         "path": .block(.path) { context in
304 |             var subpaths = [Path]()
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:426:16: warning: static property 'points' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
424 |     ]
425 |
426 |     static let points: Symbols = [
    |                |- warning: static property 'points' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'points' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
427 |         "point": .command(.vector) { parameter, context in
428 |             try context.addValue(.point(.point(
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:435:16: warning: static property 'pathPoints' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
433 |     ]
434 |
435 |     static let pathPoints: Symbols = _merge(points, [
    |                |- warning: static property 'pathPoints' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'pathPoints' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |         "curve": .command(.vector) { parameter, context in
437 |             try context.addValue(.point(.curve(
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:444:16: warning: static property 'functions' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
442 |     ])
443 |
444 |     static let functions: Symbols = [
    |                |- warning: static property 'functions' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'functions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
445 |         // Debug
446 |         "print": .command(.list(.any)) { value, context in
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:605:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
603 |     ]
604 |
605 |     static let name: Symbols = [
    |                |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
606 |         "name": .property(.string, { parameter, context in
607 |             context.name = parameter.stringValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:613:16: warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
611 |     ]
612 |
613 |     static let background: Symbols = [
    |                |- warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'background' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
614 |         "background": .getter(.colorOrTexture) { context in
615 |             .colorOrTexture(context.background ?? .color(.clear))
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:619:16: warning: static property 'font' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
617 |     ]
618 |
619 |     static let font: Symbols = [
    |                |- warning: static property 'font' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'font' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
620 |         "font": .property(.font, { parameter, context in
621 |             context.font = parameter.stringValue
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:627:16: warning: static property 'detail' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
625 |     ]
626 |
627 |     static let detail: Symbols = [
    |                |- warning: static property 'detail' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'detail' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
628 |         "detail": .property(.number, { parameter, context in
629 |             // TODO: throw error if min/max detail level exceeded
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:636:16: warning: static property 'smoothing' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
634 |     ]
635 |
636 |     static let smoothing: Symbols = [
    |                |- warning: static property 'smoothing' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'smoothing' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
637 |         "smoothing": .property(.halfturns, { parameter, context in
638 |             // TODO: find a better way to represent null/auto
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:646:16: warning: static property 'root' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
644 |     ]
645 |
646 |     static let root: Symbols = _merge(global, font, detail, smoothing, material, childTransform, [
    |                |- warning: static property 'root' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'root' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
647 |         "camera": .block(.init(.node, [
648 |             "position": .vector,
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:684:16: warning: static property 'global' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
682 |     ])
683 |
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
    |                |- warning: static property 'global' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'global' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:685:16: warning: static property 'node' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
683 |
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
685 |     static let node: Symbols = _merge(transform, name, background)
    |                |- warning: static property 'node' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'node' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:686:16: warning: static property 'shape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
684 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
    |                |- warning: static property 'shape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shape' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:687:16: warning: static property 'group' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
685 |     static let node: Symbols = _merge(transform, name, background)
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
    |                |- warning: static property 'group' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'group' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:688:16: warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
686 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
    |                |- warning: static property 'user' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'user' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:689:16: warning: static property 'builder' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
687 |     static let group: Symbols = _merge(shape, childTransform, font)
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
    |                |- warning: static property 'builder' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'builder' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:690:16: warning: static property 'hull' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
688 |     static let user: Symbols = _merge(shape, font)
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
    |                |- warning: static property 'hull' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'hull' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:691:16: warning: static property 'polygon' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
689 |     static let builder: Symbols = group
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
    |                |- warning: static property 'polygon' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'polygon' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:692:16: warning: static property 'mesh' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
690 |     static let hull: Symbols = _merge(group, points)
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
    |                |- warning: static property 'mesh' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'mesh' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:693:16: warning: static property 'pathShape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
691 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
    |                |- warning: static property 'pathShape' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'pathShape' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:694:16: warning: static property 'path' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
692 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
    |                |- warning: static property 'path' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'path' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
695 |     static let definition: Symbols = _merge(root, pathPoints)
696 |     static let all: Symbols = _merge(definition, shape, path)
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:695:16: warning: static property 'definition' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
693 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
    |                |- warning: static property 'definition' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'definition' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
696 |     static let all: Symbols = _merge(definition, shape, path)
697 | }
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
/host/spi-builder-workspace/ShapeScript/StandardLibrary.swift:696:16: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
694 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
695 |     static let definition: Symbols = _merge(root, pathPoints)
696 |     static let all: Symbols = _merge(definition, shape, path)
    |                |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Symbols' (aka 'Dictionary<String, Symbol>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
697 | }
698 |
/host/spi-builder-workspace/ShapeScript/Symbols.swift:13:6: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
11 | typealias Symbols = [String: Symbol]
12 |
13 | enum Symbol {
   |      `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
14 |     case function(FunctionType, Function)
15 |     case property(ValueType, Setter, Getter)
[83/93] Compiling ShapeScript Members.swift
/host/spi-builder-workspace/ShapeScript/Members.swift:88:24: warning: static property 'memberTypes' is not concurrency-safe because non-'Sendable' type '[String : ValueType]' may have shared mutable state; this is an error in the Swift 6 language mode
 86 |     }
 87 |
 88 |     private static let memberTypes: [String: ValueType] = [
    |                        |- warning: static property 'memberTypes' is not concurrency-safe because non-'Sendable' type '[String : ValueType]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'memberTypes' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 89 |         "x": .number,
 90 |         "y": .number,
/host/spi-builder-workspace/ShapeScript/Types.swift:14:6: note: consider making enum 'ValueType' conform to the 'Sendable' protocol
  12 | // MARK: Types
  13 |
  14 | enum ValueType: Hashable {
     |      `- note: consider making enum 'ValueType' conform to the 'Sendable' protocol
  15 |     case any
  16 |     case color
/host/spi-builder-workspace/ShapeScript/Parser.swift:104:16: warning: stored property 'type' of 'Sendable'-conforming struct 'ParserError' has non-sendable type 'ParserErrorType'; this is an error in the Swift 6 language mode
 95 | }
 96 |
 97 | public enum ParserErrorType: Equatable {
    |             `- note: consider making enum 'ParserErrorType' conform to the 'Sendable' protocol
 98 |     case unexpectedToken(Token, expected: String?)
 99 |     case duplicateParameter(String, at: SourceRange)
    :
102 |
103 | public struct ParserError: Error, Equatable {
104 |     public let type: ParserErrorType
    |                `- warning: stored property 'type' of 'Sendable'-conforming struct 'ParserError' has non-sendable type 'ParserErrorType'; this is an error in the Swift 6 language mode
105 |
106 |     public init(_ type: ParserErrorType) {
[84/93] Compiling ShapeScript Parser.swift
/host/spi-builder-workspace/ShapeScript/Members.swift:88:24: warning: static property 'memberTypes' is not concurrency-safe because non-'Sendable' type '[String : ValueType]' may have shared mutable state; this is an error in the Swift 6 language mode
 86 |     }
 87 |
 88 |     private static let memberTypes: [String: ValueType] = [
    |                        |- warning: static property 'memberTypes' is not concurrency-safe because non-'Sendable' type '[String : ValueType]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'memberTypes' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 89 |         "x": .number,
 90 |         "y": .number,
/host/spi-builder-workspace/ShapeScript/Types.swift:14:6: note: consider making enum 'ValueType' conform to the 'Sendable' protocol
  12 | // MARK: Types
  13 |
  14 | enum ValueType: Hashable {
     |      `- note: consider making enum 'ValueType' conform to the 'Sendable' protocol
  15 |     case any
  16 |     case color
/host/spi-builder-workspace/ShapeScript/Parser.swift:104:16: warning: stored property 'type' of 'Sendable'-conforming struct 'ParserError' has non-sendable type 'ParserErrorType'; this is an error in the Swift 6 language mode
 95 | }
 96 |
 97 | public enum ParserErrorType: Equatable {
    |             `- note: consider making enum 'ParserErrorType' conform to the 'Sendable' protocol
 98 |     case unexpectedToken(Token, expected: String?)
 99 |     case duplicateParameter(String, at: SourceRange)
    :
102 |
103 | public struct ParserError: Error, Equatable {
104 |     public let type: ParserErrorType
    |                `- warning: stored property 'type' of 'Sendable'-conforming struct 'ParserError' has non-sendable type 'ParserErrorType'; this is an error in the Swift 6 language mode
105 |
106 |     public init(_ type: ParserErrorType) {
[85/93] Compiling ShapeScript ProgramError.swift
/host/spi-builder-workspace/ShapeScript/Members.swift:88:24: warning: static property 'memberTypes' is not concurrency-safe because non-'Sendable' type '[String : ValueType]' may have shared mutable state; this is an error in the Swift 6 language mode
 86 |     }
 87 |
 88 |     private static let memberTypes: [String: ValueType] = [
    |                        |- warning: static property 'memberTypes' is not concurrency-safe because non-'Sendable' type '[String : ValueType]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'memberTypes' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 89 |         "x": .number,
 90 |         "y": .number,
/host/spi-builder-workspace/ShapeScript/Types.swift:14:6: note: consider making enum 'ValueType' conform to the 'Sendable' protocol
  12 | // MARK: Types
  13 |
  14 | enum ValueType: Hashable {
     |      `- note: consider making enum 'ValueType' conform to the 'Sendable' protocol
  15 |     case any
  16 |     case color
/host/spi-builder-workspace/ShapeScript/Parser.swift:104:16: warning: stored property 'type' of 'Sendable'-conforming struct 'ParserError' has non-sendable type 'ParserErrorType'; this is an error in the Swift 6 language mode
 95 | }
 96 |
 97 | public enum ParserErrorType: Equatable {
    |             `- note: consider making enum 'ParserErrorType' conform to the 'Sendable' protocol
 98 |     case unexpectedToken(Token, expected: String?)
 99 |     case duplicateParameter(String, at: SourceRange)
    :
102 |
103 | public struct ParserError: Error, Equatable {
104 |     public let type: ParserErrorType
    |                `- warning: stored property 'type' of 'Sendable'-conforming struct 'ParserError' has non-sendable type 'ParserErrorType'; this is an error in the Swift 6 language mode
105 |
106 |     public init(_ type: ParserErrorType) {
[86/93] Compiling ShapeScript Geometry.swift
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:16:17: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 |
15 | public final class GeometryCache {
16 |     private let cache: LRUCache<Key, (mesh: Mesh, associatedData: [Material: Any])>
   |                 `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// The number of entries currently stored in the cache
   :
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:19:35: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// The number of entries currently stored in the cache
19 |     public var count: Int { cache.count }
   |                                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
20 |
21 |     /// Initialize the cache with a given storage limit
   :
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:24:22: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// - Parameter memoryLimit: The maximum amount of data to cache (in bytes)
23 |     public init(memoryLimit: Int = 1_000_000_000) {
24 |         self.cache = LRUCache(totalCostLimit: memoryLimit)
   |                      `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |     }
26 | }
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:24:22: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// - Parameter memoryLimit: The maximum amount of data to cache (in bytes)
23 |     public init(memoryLimit: Int = 1_000_000_000) {
24 |         self.cache = LRUCache(totalCostLimit: memoryLimit)
   |                      `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |     }
26 | }
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:39:21: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
37 |
38 |     subscript(mesh geometry: Geometry) -> Mesh? {
39 |         get { cache.value(forKey: geometry.cacheKey)?.mesh }
   |                     `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
40 |         set {
41 |             guard let newValue else {
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:42:23: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
40 |         set {
41 |             guard let newValue else {
42 |                 cache.removeValue(forKey: geometry.cacheKey)
   |                       `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 |                 return
44 |             }
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:45:19: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
43 |                 return
44 |             }
45 |             cache.setValue(
   |                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 |                 (newValue, [:]),
47 |                 forKey: geometry.cacheKey,
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:55:19: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
53 |     subscript(associatedData geometry: Geometry) -> Any? {
54 |         get {
55 |             cache.value(forKey: geometry.cacheKey)?
   |                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
56 |                 .associatedData[geometry.material]
57 |         }
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:59:34: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
57 |         }
58 |         set {
59 |             if var value = cache.value(forKey: geometry.cacheKey) {
   |                                  `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
60 |                 value.associatedData[geometry.material] = newValue
61 |                 cache.setValue(value, forKey: geometry.cacheKey)
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:61:23: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
59 |             if var value = cache.value(forKey: geometry.cacheKey) {
60 |                 value.associatedData[geometry.material] = newValue
61 |                 cache.setValue(value, forKey: geometry.cacheKey)
   |                       `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
62 |             }
63 |         }
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:21:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Camera' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Euclid
 10 |
 11 | public struct Camera: Hashable {
    |               `- note: consider making struct 'Camera' conform to the 'Sendable' protocol
 12 |     public var position: Vector?
 13 |     public var orientation: Rotation?
    :
 19 |     public var height: Double?
 20 |
 21 |     public static let `default`: Self = .init(antialiased: true)
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Camera' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 | }
 23 |
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:38:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Light' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | public struct Light: Hashable {
    |               `- note: consider making struct 'Light' conform to the 'Sendable' protocol
 31 |     public var position: Vector?
 32 |     public var orientation: Rotation?
    :
 36 |     public var shadowOpacity: Double
 37 |
 38 |     public static let `default`: Self = .init(
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Light' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |         color: .white,
 40 |         spread: .pi / 4,
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:56:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ExtrudeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 49 | }
 50 |
 51 | public struct ExtrudeOptions: Hashable {
    |               `- note: consider making struct 'ExtrudeOptions' conform to the 'Sendable' protocol
 52 |     public var along: [Path]
 53 |     public var twist: Angle
 54 |     public var align: Path.Alignment
 55 |
 56 |     public static let `default`: Self = .init(along: [], twist: .zero, align: nil)
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ExtrudeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 57 |
 58 |     init(along: [Path], twist: Angle, align: Path.Alignment?) {
/host/spi-builder-workspace/ShapeScript/Interpreter.swift:418:43: error: value of type 'NSError' has no member 'underlyingErrors'
 416 |             #if !os(Linux)
 417 |             if #available(macOS 11.3, iOS 14.5, tvOS 14.5, *) {
 418 |                 underlyingError = nsError.underlyingErrors.first
     |                                           `- error: value of type 'NSError' has no member 'underlyingErrors'
 419 |             }
 420 |             #endif
[87/93] Compiling ShapeScript GeometryCache.swift
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:16:17: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 |
15 | public final class GeometryCache {
16 |     private let cache: LRUCache<Key, (mesh: Mesh, associatedData: [Material: Any])>
   |                 `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// The number of entries currently stored in the cache
   :
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:19:35: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// The number of entries currently stored in the cache
19 |     public var count: Int { cache.count }
   |                                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
20 |
21 |     /// Initialize the cache with a given storage limit
   :
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:24:22: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// - Parameter memoryLimit: The maximum amount of data to cache (in bytes)
23 |     public init(memoryLimit: Int = 1_000_000_000) {
24 |         self.cache = LRUCache(totalCostLimit: memoryLimit)
   |                      `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |     }
26 | }
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:24:22: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// - Parameter memoryLimit: The maximum amount of data to cache (in bytes)
23 |     public init(memoryLimit: Int = 1_000_000_000) {
24 |         self.cache = LRUCache(totalCostLimit: memoryLimit)
   |                      `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |     }
26 | }
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:39:21: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
37 |
38 |     subscript(mesh geometry: Geometry) -> Mesh? {
39 |         get { cache.value(forKey: geometry.cacheKey)?.mesh }
   |                     `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
40 |         set {
41 |             guard let newValue else {
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:42:23: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
40 |         set {
41 |             guard let newValue else {
42 |                 cache.removeValue(forKey: geometry.cacheKey)
   |                       `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 |                 return
44 |             }
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:45:19: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
43 |                 return
44 |             }
45 |             cache.setValue(
   |                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 |                 (newValue, [:]),
47 |                 forKey: geometry.cacheKey,
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:55:19: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
53 |     subscript(associatedData geometry: Geometry) -> Any? {
54 |         get {
55 |             cache.value(forKey: geometry.cacheKey)?
   |                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
56 |                 .associatedData[geometry.material]
57 |         }
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:59:34: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
57 |         }
58 |         set {
59 |             if var value = cache.value(forKey: geometry.cacheKey) {
   |                                  `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
60 |                 value.associatedData[geometry.material] = newValue
61 |                 cache.setValue(value, forKey: geometry.cacheKey)
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:61:23: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
59 |             if var value = cache.value(forKey: geometry.cacheKey) {
60 |                 value.associatedData[geometry.material] = newValue
61 |                 cache.setValue(value, forKey: geometry.cacheKey)
   |                       `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
62 |             }
63 |         }
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:21:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Camera' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Euclid
 10 |
 11 | public struct Camera: Hashable {
    |               `- note: consider making struct 'Camera' conform to the 'Sendable' protocol
 12 |     public var position: Vector?
 13 |     public var orientation: Rotation?
    :
 19 |     public var height: Double?
 20 |
 21 |     public static let `default`: Self = .init(antialiased: true)
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Camera' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 | }
 23 |
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:38:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Light' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | public struct Light: Hashable {
    |               `- note: consider making struct 'Light' conform to the 'Sendable' protocol
 31 |     public var position: Vector?
 32 |     public var orientation: Rotation?
    :
 36 |     public var shadowOpacity: Double
 37 |
 38 |     public static let `default`: Self = .init(
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Light' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |         color: .white,
 40 |         spread: .pi / 4,
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:56:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ExtrudeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 49 | }
 50 |
 51 | public struct ExtrudeOptions: Hashable {
    |               `- note: consider making struct 'ExtrudeOptions' conform to the 'Sendable' protocol
 52 |     public var along: [Path]
 53 |     public var twist: Angle
 54 |     public var align: Path.Alignment
 55 |
 56 |     public static let `default`: Self = .init(along: [], twist: .zero, align: nil)
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ExtrudeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 57 |
 58 |     init(along: [Path], twist: Angle, align: Path.Alignment?) {
/host/spi-builder-workspace/ShapeScript/Interpreter.swift:418:43: error: value of type 'NSError' has no member 'underlyingErrors'
 416 |             #if !os(Linux)
 417 |             if #available(macOS 11.3, iOS 14.5, tvOS 14.5, *) {
 418 |                 underlyingError = nsError.underlyingErrors.first
     |                                           `- error: value of type 'NSError' has no member 'underlyingErrors'
 419 |             }
 420 |             #endif
[88/93] Compiling ShapeScript GeometryType.swift
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:16:17: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 |
15 | public final class GeometryCache {
16 |     private let cache: LRUCache<Key, (mesh: Mesh, associatedData: [Material: Any])>
   |                 `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// The number of entries currently stored in the cache
   :
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:19:35: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// The number of entries currently stored in the cache
19 |     public var count: Int { cache.count }
   |                                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
20 |
21 |     /// Initialize the cache with a given storage limit
   :
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:24:22: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// - Parameter memoryLimit: The maximum amount of data to cache (in bytes)
23 |     public init(memoryLimit: Int = 1_000_000_000) {
24 |         self.cache = LRUCache(totalCostLimit: memoryLimit)
   |                      `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |     }
26 | }
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:24:22: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// - Parameter memoryLimit: The maximum amount of data to cache (in bytes)
23 |     public init(memoryLimit: Int = 1_000_000_000) {
24 |         self.cache = LRUCache(totalCostLimit: memoryLimit)
   |                      `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |     }
26 | }
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:39:21: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
37 |
38 |     subscript(mesh geometry: Geometry) -> Mesh? {
39 |         get { cache.value(forKey: geometry.cacheKey)?.mesh }
   |                     `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
40 |         set {
41 |             guard let newValue else {
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:42:23: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
40 |         set {
41 |             guard let newValue else {
42 |                 cache.removeValue(forKey: geometry.cacheKey)
   |                       `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 |                 return
44 |             }
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:45:19: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
43 |                 return
44 |             }
45 |             cache.setValue(
   |                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 |                 (newValue, [:]),
47 |                 forKey: geometry.cacheKey,
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:55:19: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
53 |     subscript(associatedData geometry: Geometry) -> Any? {
54 |         get {
55 |             cache.value(forKey: geometry.cacheKey)?
   |                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
56 |                 .associatedData[geometry.material]
57 |         }
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:59:34: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
57 |         }
58 |         set {
59 |             if var value = cache.value(forKey: geometry.cacheKey) {
   |                                  `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
60 |                 value.associatedData[geometry.material] = newValue
61 |                 cache.setValue(value, forKey: geometry.cacheKey)
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:61:23: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
59 |             if var value = cache.value(forKey: geometry.cacheKey) {
60 |                 value.associatedData[geometry.material] = newValue
61 |                 cache.setValue(value, forKey: geometry.cacheKey)
   |                       `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
62 |             }
63 |         }
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:21:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Camera' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Euclid
 10 |
 11 | public struct Camera: Hashable {
    |               `- note: consider making struct 'Camera' conform to the 'Sendable' protocol
 12 |     public var position: Vector?
 13 |     public var orientation: Rotation?
    :
 19 |     public var height: Double?
 20 |
 21 |     public static let `default`: Self = .init(antialiased: true)
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Camera' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 | }
 23 |
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:38:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Light' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | public struct Light: Hashable {
    |               `- note: consider making struct 'Light' conform to the 'Sendable' protocol
 31 |     public var position: Vector?
 32 |     public var orientation: Rotation?
    :
 36 |     public var shadowOpacity: Double
 37 |
 38 |     public static let `default`: Self = .init(
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Light' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |         color: .white,
 40 |         spread: .pi / 4,
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:56:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ExtrudeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 49 | }
 50 |
 51 | public struct ExtrudeOptions: Hashable {
    |               `- note: consider making struct 'ExtrudeOptions' conform to the 'Sendable' protocol
 52 |     public var along: [Path]
 53 |     public var twist: Angle
 54 |     public var align: Path.Alignment
 55 |
 56 |     public static let `default`: Self = .init(along: [], twist: .zero, align: nil)
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ExtrudeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 57 |
 58 |     init(along: [Path], twist: Angle, align: Path.Alignment?) {
/host/spi-builder-workspace/ShapeScript/Interpreter.swift:418:43: error: value of type 'NSError' has no member 'underlyingErrors'
 416 |             #if !os(Linux)
 417 |             if #available(macOS 11.3, iOS 14.5, tvOS 14.5, *) {
 418 |                 underlyingError = nsError.underlyingErrors.first
     |                                           `- error: value of type 'NSError' has no member 'underlyingErrors'
 419 |             }
 420 |             #endif
[89/93] Compiling ShapeScript Interpreter.swift
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:16:17: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 |
15 | public final class GeometryCache {
16 |     private let cache: LRUCache<Key, (mesh: Mesh, associatedData: [Material: Any])>
   |                 `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// The number of entries currently stored in the cache
   :
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:19:35: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// The number of entries currently stored in the cache
19 |     public var count: Int { cache.count }
   |                                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
20 |
21 |     /// Initialize the cache with a given storage limit
   :
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:24:22: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// - Parameter memoryLimit: The maximum amount of data to cache (in bytes)
23 |     public init(memoryLimit: Int = 1_000_000_000) {
24 |         self.cache = LRUCache(totalCostLimit: memoryLimit)
   |                      `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |     }
26 | }
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:24:22: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     /// - Parameter memoryLimit: The maximum amount of data to cache (in bytes)
23 |     public init(memoryLimit: Int = 1_000_000_000) {
24 |         self.cache = LRUCache(totalCostLimit: memoryLimit)
   |                      `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 |     }
26 | }
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:39:21: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
37 |
38 |     subscript(mesh geometry: Geometry) -> Mesh? {
39 |         get { cache.value(forKey: geometry.cacheKey)?.mesh }
   |                     `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
40 |         set {
41 |             guard let newValue else {
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:42:23: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
40 |         set {
41 |             guard let newValue else {
42 |                 cache.removeValue(forKey: geometry.cacheKey)
   |                       `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 |                 return
44 |             }
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:45:19: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
43 |                 return
44 |             }
45 |             cache.setValue(
   |                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 |                 (newValue, [:]),
47 |                 forKey: geometry.cacheKey,
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:55:19: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
53 |     subscript(associatedData geometry: Geometry) -> Any? {
54 |         get {
55 |             cache.value(forKey: geometry.cacheKey)?
   |                   `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
56 |                 .associatedData[geometry.material]
57 |         }
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:59:34: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
57 |         }
58 |         set {
59 |             if var value = cache.value(forKey: geometry.cacheKey) {
   |                                  `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
60 |                 value.associatedData[geometry.material] = newValue
61 |                 cache.setValue(value, forKey: geometry.cacheKey)
/host/spi-builder-workspace/ShapeScript/GeometryCache.swift:61:23: warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
27 |
28 | extension GeometryCache {
29 |     struct Key: Hashable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
30 |         let type: GeometryType
31 |         let material: Material?
   :
59 |             if var value = cache.value(forKey: geometry.cacheKey) {
60 |                 value.associatedData[geometry.material] = newValue
61 |                 cache.setValue(value, forKey: geometry.cacheKey)
   |                       `- warning: type 'GeometryCache.Key' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
62 |             }
63 |         }
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:21:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Camera' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Euclid
 10 |
 11 | public struct Camera: Hashable {
    |               `- note: consider making struct 'Camera' conform to the 'Sendable' protocol
 12 |     public var position: Vector?
 13 |     public var orientation: Rotation?
    :
 19 |     public var height: Double?
 20 |
 21 |     public static let `default`: Self = .init(antialiased: true)
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Camera' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 22 | }
 23 |
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:38:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Light' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | public struct Light: Hashable {
    |               `- note: consider making struct 'Light' conform to the 'Sendable' protocol
 31 |     public var position: Vector?
 32 |     public var orientation: Rotation?
    :
 36 |     public var shadowOpacity: Double
 37 |
 38 |     public static let `default`: Self = .init(
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Light' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |         color: .white,
 40 |         spread: .pi / 4,
/host/spi-builder-workspace/ShapeScript/GeometryType.swift:56:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ExtrudeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 49 | }
 50 |
 51 | public struct ExtrudeOptions: Hashable {
    |               `- note: consider making struct 'ExtrudeOptions' conform to the 'Sendable' protocol
 52 |     public var along: [Path]
 53 |     public var twist: Angle
 54 |     public var align: Path.Alignment
 55 |
 56 |     public static let `default`: Self = .init(along: [], twist: .zero, align: nil)
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ExtrudeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 57 |
 58 |     init(along: [Path], twist: Angle, align: Path.Alignment?) {
/host/spi-builder-workspace/ShapeScript/Interpreter.swift:418:43: error: value of type 'NSError' has no member 'underlyingErrors'
 416 |             #if !os(Linux)
 417 |             if #available(macOS 11.3, iOS 14.5, tvOS 14.5, *) {
 418 |                 underlyingError = nsError.underlyingErrors.first
     |                                           `- error: value of type 'NSError' has no member 'underlyingErrors'
 419 |             }
 420 |             #endif
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:58b971189c4d3c564696bb40c86e07506670ed096ab7351a005c7c449525017a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/8] Write swift-version-24593BA9C3E375BF.txt
[2/52] Emitting module SVGPath
[3/52] Compiling LRUCache LRUCache.swift
[4/52] Emitting module LRUCache
[6/53] Compiling SVGPath SVGPath.swift
[7/53] Compiling SVGPath SVGPath+CoreGraphics.swift
[9/52] Compiling Euclid Euclid+AppKit.swift
[10/52] Compiling Euclid Euclid+CoreGraphics.swift
[11/52] Compiling Euclid Euclid+CoreText.swift
[12/52] Compiling Euclid Euclid+RealityKit.swift
[13/52] Compiling Euclid Euclid+SIMD.swift
[14/52] Compiling Euclid Euclid+SceneKit.swift
[15/57] Emitting module Euclid
[16/57] Compiling Euclid Polygon+CSG.swift
[17/57] Compiling Euclid Polygon.swift
[18/57] Compiling Euclid Rotation.swift
[19/57] Compiling Euclid Stretchable.swift
[20/57] Compiling Euclid Transform.swift
[21/57] Compiling Euclid Path.swift
[22/57] Compiling Euclid PathPoint.swift
[23/57] Compiling Euclid Plane.swift
[24/57] Compiling Euclid PlaneComparable.swift
[25/57] Compiling Euclid PointComparable.swift
[26/57] Compiling Euclid Mesh+Shapes.swift
[27/57] Compiling Euclid Mesh+Texcoords.swift
[28/57] Compiling Euclid Mesh.swift
[29/57] Compiling Euclid Path+CSG.swift
[30/57] Compiling Euclid Path+Shapes.swift
[31/57] Compiling Euclid Euclid+UIKit.swift
[32/57] Compiling Euclid Interpolatable.swift
[33/57] Compiling Euclid Line.swift
[34/57] Compiling Euclid LineComparable.swift
[35/57] Compiling Euclid LineSegment+CSG.swift
[36/57] Compiling Euclid LineSegment.swift
[37/57] Compiling Euclid Angle.swift
[38/57] Compiling Euclid ApproximateEquality.swift
[39/57] Compiling Euclid BSP.swift
[40/57] Compiling Euclid Bounded.swift
[41/57] Compiling Euclid Bounds.swift
[42/57] Compiling Euclid Color.swift
[43/57] Compiling Euclid Mesh+CSG.swift
[44/57] Compiling Euclid Mesh+IO.swift
[45/57] Compiling Euclid Mesh+OBJ.swift
[46/57] Compiling Euclid Mesh+OFF.swift
[47/57] Compiling Euclid Mesh+STL.swift
[48/57] Compiling Euclid Transformable.swift
[49/57] Compiling Euclid Utilities.swift
[50/57] Compiling Euclid Vector.swift
[51/57] Compiling Euclid Vertex.swift
[52/57] Compiling Euclid VertexSet.swift
[54/82] Emitting module ShapeScript
[55/85] Compiling ShapeScript Euclid+Extensions.swift
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:363:28: error: no exact matches in call to initializer
361 |         switch url.pathExtension.lowercased() {
362 |         case "stl", "stla", "obj", "off":
363 |             let mesh = try Mesh(url: url) {
    |                            `- error: no exact matches in call to initializer
364 |                 switch $0 {
365 |                 case let color as Color:
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh+STL.swift:220:5: note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
218 |     ///   - stlData: binary or ASCII STL file data
219 |     ///   - materialLookup: A closure to map STL facet colors to Euclid materials. Use `nil` for default mapping.
220 |     init?(stlData: Data, materialLookup: STLMaterialProvider? = nil) {
    |     `- note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
221 |         if stlData.count >= 5,
222 |            let prefix = String(data: stlData[0 ..< 5], encoding: .utf8),
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh.swift:186:5: note: candidate has partially matching parameter list ([Polygon])
184 |     /// Creates a new mesh from an array of polygons.
185 |     /// - Parameter polygons: The polygons making up the mesh.
186 |     init(_ polygons: [Polygon]) {
    |     `- note: candidate has partially matching parameter list ([Polygon])
187 |         self.init(
188 |             unchecked: polygons,
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:372:28: error: 'nil' is not compatible with closure result type 'Material'
370 |                 #endif
371 |                 default:
372 |                     return nil
    |                            `- error: 'nil' is not compatible with closure result type 'Material'
373 |                 }
374 |             }
[56/85] Compiling ShapeScript Euclid+SVGPath.swift
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:363:28: error: no exact matches in call to initializer
361 |         switch url.pathExtension.lowercased() {
362 |         case "stl", "stla", "obj", "off":
363 |             let mesh = try Mesh(url: url) {
    |                            `- error: no exact matches in call to initializer
364 |                 switch $0 {
365 |                 case let color as Color:
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh+STL.swift:220:5: note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
218 |     ///   - stlData: binary or ASCII STL file data
219 |     ///   - materialLookup: A closure to map STL facet colors to Euclid materials. Use `nil` for default mapping.
220 |     init?(stlData: Data, materialLookup: STLMaterialProvider? = nil) {
    |     `- note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
221 |         if stlData.count >= 5,
222 |            let prefix = String(data: stlData[0 ..< 5], encoding: .utf8),
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh.swift:186:5: note: candidate has partially matching parameter list ([Polygon])
184 |     /// Creates a new mesh from an array of polygons.
185 |     /// - Parameter polygons: The polygons making up the mesh.
186 |     init(_ polygons: [Polygon]) {
    |     `- note: candidate has partially matching parameter list ([Polygon])
187 |         self.init(
188 |             unchecked: polygons,
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:372:28: error: 'nil' is not compatible with closure result type 'Material'
370 |                 #endif
371 |                 default:
372 |                     return nil
    |                            `- error: 'nil' is not compatible with closure result type 'Material'
373 |                 }
374 |             }
[57/85] Compiling ShapeScript EvaluationContext.swift
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:363:28: error: no exact matches in call to initializer
361 |         switch url.pathExtension.lowercased() {
362 |         case "stl", "stla", "obj", "off":
363 |             let mesh = try Mesh(url: url) {
    |                            `- error: no exact matches in call to initializer
364 |                 switch $0 {
365 |                 case let color as Color:
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh+STL.swift:220:5: note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
218 |     ///   - stlData: binary or ASCII STL file data
219 |     ///   - materialLookup: A closure to map STL facet colors to Euclid materials. Use `nil` for default mapping.
220 |     init?(stlData: Data, materialLookup: STLMaterialProvider? = nil) {
    |     `- note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
221 |         if stlData.count >= 5,
222 |            let prefix = String(data: stlData[0 ..< 5], encoding: .utf8),
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh.swift:186:5: note: candidate has partially matching parameter list ([Polygon])
184 |     /// Creates a new mesh from an array of polygons.
185 |     /// - Parameter polygons: The polygons making up the mesh.
186 |     init(_ polygons: [Polygon]) {
    |     `- note: candidate has partially matching parameter list ([Polygon])
187 |         self.init(
188 |             unchecked: polygons,
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:372:28: error: 'nil' is not compatible with closure result type 'Material'
370 |                 #endif
371 |                 default:
372 |                     return nil
    |                            `- error: 'nil' is not compatible with closure result type 'Material'
373 |                 }
374 |             }
[58/85] Compiling ShapeScript EvaluationDelegate.swift
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:363:28: error: no exact matches in call to initializer
361 |         switch url.pathExtension.lowercased() {
362 |         case "stl", "stla", "obj", "off":
363 |             let mesh = try Mesh(url: url) {
    |                            `- error: no exact matches in call to initializer
364 |                 switch $0 {
365 |                 case let color as Color:
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh+STL.swift:220:5: note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
218 |     ///   - stlData: binary or ASCII STL file data
219 |     ///   - materialLookup: A closure to map STL facet colors to Euclid materials. Use `nil` for default mapping.
220 |     init?(stlData: Data, materialLookup: STLMaterialProvider? = nil) {
    |     `- note: candidate has partially matching parameter list (stlData: Data, materialLookup: Mesh.STLMaterialProvider?)
221 |         if stlData.count >= 5,
222 |            let prefix = String(data: stlData[0 ..< 5], encoding: .utf8),
/host/spi-builder-workspace/.build/checkouts/Euclid/Sources/Mesh.swift:186:5: note: candidate has partially matching parameter list ([Polygon])
184 |     /// Creates a new mesh from an array of polygons.
185 |     /// - Parameter polygons: The polygons making up the mesh.
186 |     init(_ polygons: [Polygon]) {
    |     `- note: candidate has partially matching parameter list ([Polygon])
187 |         self.init(
188 |             unchecked: polygons,
/host/spi-builder-workspace/ShapeScript/EvaluationContext.swift:372:28: error: 'nil' is not compatible with closure result type 'Material'
370 |                 #endif
371 |                 default:
372 |                     return nil
    |                            `- error: 'nil' is not compatible with closure result type 'Material'
373 |                 }
374 |             }
[59/85] Compiling ShapeScript Members.swift
[60/85] Compiling ShapeScript Parser.swift
[61/85] Compiling ShapeScript ProgramError.swift
[62/85] Compiling ShapeScript RandomSequence.swift
[63/85] Compiling ShapeScript Scene+SceneKit.swift
[64/85] Compiling ShapeScript Scene.swift
[65/85] Compiling ShapeScript Lexer.swift
[66/85] Compiling ShapeScript Material+Brightness.swift
[67/85] Compiling ShapeScript Material+SceneKit.swift
[68/85] Compiling ShapeScript Material.swift
[69/85] Compiling ShapeScript StandardLibrary.swift
[70/85] Compiling ShapeScript String+Matching.swift
[71/85] Compiling ShapeScript String+Ordinals.swift
[72/85] Compiling ShapeScript Symbols.swift
[73/85] Compiling ShapeScript Types.swift
[74/85] Compiling ShapeScript URL+FileType.swift
[75/85] Compiling ShapeScript Geometry.swift
/host/spi-builder-workspace/ShapeScript/Interpreter.swift:418:43: error: value of type 'NSError' has no member 'underlyingErrors'
 416 |             #if !os(Linux)
 417 |             if #available(macOS 11.3, iOS 14.5, tvOS 14.5, *) {
 418 |                 underlyingError = nsError.underlyingErrors.first
     |                                           `- error: value of type 'NSError' has no member 'underlyingErrors'
 419 |             }
 420 |             #endif
[76/85] Compiling ShapeScript GeometryCache.swift
/host/spi-builder-workspace/ShapeScript/Interpreter.swift:418:43: error: value of type 'NSError' has no member 'underlyingErrors'
 416 |             #if !os(Linux)
 417 |             if #available(macOS 11.3, iOS 14.5, tvOS 14.5, *) {
 418 |                 underlyingError = nsError.underlyingErrors.first
     |                                           `- error: value of type 'NSError' has no member 'underlyingErrors'
 419 |             }
 420 |             #endif
[77/85] Compiling ShapeScript GeometryType.swift
/host/spi-builder-workspace/ShapeScript/Interpreter.swift:418:43: error: value of type 'NSError' has no member 'underlyingErrors'
 416 |             #if !os(Linux)
 417 |             if #available(macOS 11.3, iOS 14.5, tvOS 14.5, *) {
 418 |                 underlyingError = nsError.underlyingErrors.first
     |                                           `- error: value of type 'NSError' has no member 'underlyingErrors'
 419 |             }
 420 |             #endif
[78/85] Compiling ShapeScript Interpreter.swift
/host/spi-builder-workspace/ShapeScript/Interpreter.swift:418:43: error: value of type 'NSError' has no member 'underlyingErrors'
 416 |             #if !os(Linux)
 417 |             if #available(macOS 11.3, iOS 14.5, tvOS 14.5, *) {
 418 |                 underlyingError = nsError.underlyingErrors.first
     |                                           `- error: value of type 'NSError' has no member 'underlyingErrors'
 419 |             }
 420 |             #endif
[79/85] Compiling ShapeScript Value+JSON.swift
[80/85] Compiling ShapeScript Value+Logging.swift
[81/85] Compiling ShapeScript Values.swift
BUILD FAILURE 6.1 wasm