The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of ShapeScript, reference 1.9.3 (786eaa), with Swift 6.1 for Linux on 13 Nov 2025 10:11:25 UTC.

Swift 6 data race errors: 55

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

 354 |     static let group: Self = .init(.group, [:], .mesh, .mesh)
 355 |     static let path: Self = .init(.path, [:], .union([.point, .path]), .path)
/host/spi-builder-workspace/ShapeScript/Types.swift:354:16: warning: static property 'group' is not concurrency-safe because non-'Sendable' type 'BlockType' may have shared mutable state; this is an error in the Swift 6 language mode
 335 | typealias Options = [String: ValueType]
 336 |
 337 | struct BlockType {
     |        `- note: consider making struct 'BlockType' conform to the 'Sendable' protocol
 338 |     let symbols: Symbols
 339 |     let options: Options
     :
 352 |     static let builder: Self = .init(.builder, [:], .path, .mesh)
 353 |     static let shape: Self = .init(.shape, [:], .void, .mesh)
 354 |     static let group: Self = .init(.group, [:], .mesh, .mesh)
     |                |- warning: static property 'group' is not concurrency-safe because non-'Sendable' type 'BlockType' 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
 355 |     static let path: Self = .init(.path, [:], .union([.point, .path]), .path)
 356 |     static let pathShape: Self = .init(.pathShape, [:], .void, .path)
/host/spi-builder-workspace/ShapeScript/Types.swift:355:16: warning: static property 'path' is not concurrency-safe because non-'Sendable' type 'BlockType' may have shared mutable state; this is an error in the Swift 6 language mode
 335 | typealias Options = [String: ValueType]
 336 |
 337 | struct BlockType {
     |        `- note: consider making struct 'BlockType' conform to the 'Sendable' protocol
 338 |     let symbols: Symbols
 339 |     let options: Options
     :
 353 |     static let shape: Self = .init(.shape, [:], .void, .mesh)
 354 |     static let group: Self = .init(.group, [:], .mesh, .mesh)
 355 |     static let path: Self = .init(.path, [:], .union([.point, .path]), .path)
     |                |- warning: static property 'path' is not concurrency-safe because non-'Sendable' type 'BlockType' 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
 356 |     static let pathShape: Self = .init(.pathShape, [:], .void, .path)
 357 |     static let mesh: Self = .init(.mesh, [:], .union([.polygon, .mesh]), .mesh)
/host/spi-builder-workspace/ShapeScript/Types.swift:356:16: warning: static property 'pathShape' is not concurrency-safe because non-'Sendable' type 'BlockType' may have shared mutable state; this is an error in the Swift 6 language mode
 335 | typealias Options = [String: ValueType]
 336 |
 337 | struct BlockType {
     |        `- note: consider making struct 'BlockType' conform to the 'Sendable' protocol
 338 |     let symbols: Symbols
 339 |     let options: Options
     :
 354 |     static let group: Self = .init(.group, [:], .mesh, .mesh)
 355 |     static let path: Self = .init(.path, [:], .union([.point, .path]), .path)
 356 |     static let pathShape: Self = .init(.pathShape, [:], .void, .path)
     |                |- warning: static property 'pathShape' is not concurrency-safe because non-'Sendable' type 'BlockType' 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
 357 |     static let mesh: Self = .init(.mesh, [:], .union([.polygon, .mesh]), .mesh)
 358 |     static let hull: Self = .init(.hull, [:], .union([.point, .path, .mesh]), .mesh)
/host/spi-builder-workspace/ShapeScript/Types.swift:357:16: warning: static property 'mesh' is not concurrency-safe because non-'Sendable' type 'BlockType' may have shared mutable state; this is an error in the Swift 6 language mode
 335 | typealias Options = [String: ValueType]
 336 |
 337 | struct BlockType {
     |        `- note: consider making struct 'BlockType' conform to the 'Sendable' protocol
 338 |     let symbols: Symbols
 339 |     let options: Options
     :
 355 |     static let path: Self = .init(.path, [:], .union([.point, .path]), .path)
 356 |     static let pathShape: Self = .init(.pathShape, [:], .void, .path)
 357 |     static let mesh: Self = .init(.mesh, [:], .union([.polygon, .mesh]), .mesh)
     |                |- warning: static property 'mesh' is not concurrency-safe because non-'Sendable' type 'BlockType' 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
 358 |     static let hull: Self = .init(.hull, [:], .union([.point, .path, .mesh]), .mesh)
 359 |     static let minkowski: Self = .init(.group, [:], .mesh, .mesh)
/host/spi-builder-workspace/ShapeScript/Types.swift:358:16: warning: static property 'hull' is not concurrency-safe because non-'Sendable' type 'BlockType' may have shared mutable state; this is an error in the Swift 6 language mode
 335 | typealias Options = [String: ValueType]
 336 |
 337 | struct BlockType {
     |        `- note: consider making struct 'BlockType' conform to the 'Sendable' protocol
 338 |     let symbols: Symbols
 339 |     let options: Options
     :
 356 |     static let pathShape: Self = .init(.pathShape, [:], .void, .path)
 357 |     static let mesh: Self = .init(.mesh, [:], .union([.polygon, .mesh]), .mesh)
 358 |     static let hull: Self = .init(.hull, [:], .union([.point, .path, .mesh]), .mesh)
     |                |- warning: static property 'hull' is not concurrency-safe because non-'Sendable' type 'BlockType' 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
 359 |     static let minkowski: Self = .init(.group, [:], .mesh, .mesh)
 360 | }
/host/spi-builder-workspace/ShapeScript/Types.swift:359:16: warning: static property 'minkowski' is not concurrency-safe because non-'Sendable' type 'BlockType' may have shared mutable state; this is an error in the Swift 6 language mode
 335 | typealias Options = [String: ValueType]
 336 |
 337 | struct BlockType {
     |        `- note: consider making struct 'BlockType' conform to the 'Sendable' protocol
 338 |     let symbols: Symbols
 339 |     let options: Options
     :
 357 |     static let mesh: Self = .init(.mesh, [:], .union([.polygon, .mesh]), .mesh)
 358 |     static let hull: Self = .init(.hull, [:], .union([.point, .path, .mesh]), .mesh)
 359 |     static let minkowski: Self = .init(.group, [:], .mesh, .mesh)
     |                |- warning: static property 'minkowski' is not concurrency-safe because non-'Sendable' type 'BlockType' may have shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: add '@MainActor' to make static property 'minkowski' part of global actor 'MainActor'
     |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 360 | }
 361 |
/host/spi-builder-workspace/ShapeScript/Values.swift:132:16: warning: static property 'void' is not concurrency-safe because non-'Sendable' type 'Value.Value' (aka 'Value') may have shared mutable state; this is an error in the Swift 6 language mode
 10 | import Foundation
 11 |
 12 | enum Value: Hashable {
    |      `- note: consider making enum 'Value' conform to the 'Sendable' protocol
 13 |     case color(Color)
 14 |     case texture(Texture?)
    :
130 |
131 | extension Value {
132 |     static let void: Value = .tuple([])
    |                |- warning: static property 'void' is not concurrency-safe because non-'Sendable' type 'Value.Value' (aka 'Value') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'void' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 |
134 |     static func colorOrTexture(_ value: MaterialProperty) -> Value {
[73/92] Compiling ShapeScript Scene.swift
/host/spi-builder-workspace/ShapeScript/Scene.swift:42:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Scene' may have shared mutable state; this is an error in the Swift 6 language mode
10 | import Foundation
11 |
12 | public final class Scene {
   |                    `- note: class 'Scene' does not conform to the 'Sendable' protocol
13 |     public let background: MaterialProperty
14 |     public let children: [Geometry]
   :
40 |
41 | public extension Scene {
42 |     static let empty = Scene(background: .color(.clear), children: [], cache: nil)
   |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Scene' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 |     /// Returns the approximate (overestimated) bounds of the scene geometry.
/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:602: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
600 |     ]
601 |
602 |     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
603 |         "name": .property(.string, { parameter, context in
604 |             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:610: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
608 |     ]
609 |
610 |     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
611 |         "background": .getter(.colorOrTexture) { context in
612 |             .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:616: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
614 |     ]
615 |
616 |     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
617 |         "font": .property(.font, { parameter, context in
618 |             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:624: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
622 |     ]
623 |
624 |     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
625 |         "detail": .property(.number, { parameter, context in
626 |             // 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:633: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
631 |     ]
632 |
633 |     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
634 |         "smoothing": .property(.halfturns, { parameter, context in
635 |             // 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:643: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
641 |     ]
642 |
643 |     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
644 |         "camera": .block(.init(.node, [
645 |             "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:681: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
679 |     ])
680 |
681 |     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
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     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:682: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
680 |
681 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
682 |     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
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     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:683: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
681 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     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
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     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:684: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
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     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
685 |     static let user: Symbols = _merge(shape, font)
686 |     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:685: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
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     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
686 |     static let builder: Symbols = group
687 |     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:686: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
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     static let user: Symbols = _merge(shape, font)
686 |     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
687 |     static let hull: Symbols = _merge(group, points)
688 |     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:687: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
685 |     static let user: Symbols = _merge(shape, font)
686 |     static let builder: Symbols = group
687 |     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
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     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:688: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
686 |     static let builder: Symbols = group
687 |     static let hull: Symbols = _merge(group, points)
688 |     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
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     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:689: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
687 |     static let hull: Symbols = _merge(group, points)
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     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
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     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:690: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
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     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
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     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:691: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
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     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
692 |     static let definition: Symbols = _merge(root, pathPoints)
693 |     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:692: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
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     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
693 |     static let all: Symbols = _merge(definition, shape, path)
694 | }
/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 '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
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     static let definition: Symbols = _merge(root, pathPoints)
693 |     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
694 | }
695 |
/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)
[74/92] Compiling ShapeScript StandardLibrary.swift
/host/spi-builder-workspace/ShapeScript/Scene.swift:42:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Scene' may have shared mutable state; this is an error in the Swift 6 language mode
10 | import Foundation
11 |
12 | public final class Scene {
   |                    `- note: class 'Scene' does not conform to the 'Sendable' protocol
13 |     public let background: MaterialProperty
14 |     public let children: [Geometry]
   :
40 |
41 | public extension Scene {
42 |     static let empty = Scene(background: .color(.clear), children: [], cache: nil)
   |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Scene' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 |     /// Returns the approximate (overestimated) bounds of the scene geometry.
/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:602: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
600 |     ]
601 |
602 |     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
603 |         "name": .property(.string, { parameter, context in
604 |             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:610: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
608 |     ]
609 |
610 |     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
611 |         "background": .getter(.colorOrTexture) { context in
612 |             .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:616: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
614 |     ]
615 |
616 |     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
617 |         "font": .property(.font, { parameter, context in
618 |             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:624: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
622 |     ]
623 |
624 |     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
625 |         "detail": .property(.number, { parameter, context in
626 |             // 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:633: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
631 |     ]
632 |
633 |     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
634 |         "smoothing": .property(.halfturns, { parameter, context in
635 |             // 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:643: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
641 |     ]
642 |
643 |     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
644 |         "camera": .block(.init(.node, [
645 |             "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:681: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
679 |     ])
680 |
681 |     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
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     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:682: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
680 |
681 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
682 |     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
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     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:683: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
681 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     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
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     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:684: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
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     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
685 |     static let user: Symbols = _merge(shape, font)
686 |     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:685: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
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     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
686 |     static let builder: Symbols = group
687 |     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:686: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
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     static let user: Symbols = _merge(shape, font)
686 |     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
687 |     static let hull: Symbols = _merge(group, points)
688 |     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:687: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
685 |     static let user: Symbols = _merge(shape, font)
686 |     static let builder: Symbols = group
687 |     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
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     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:688: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
686 |     static let builder: Symbols = group
687 |     static let hull: Symbols = _merge(group, points)
688 |     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
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     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:689: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
687 |     static let hull: Symbols = _merge(group, points)
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     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
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     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:690: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
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     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
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     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:691: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
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     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
692 |     static let definition: Symbols = _merge(root, pathPoints)
693 |     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:692: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
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     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
693 |     static let all: Symbols = _merge(definition, shape, path)
694 | }
/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 '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
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     static let definition: Symbols = _merge(root, pathPoints)
693 |     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
694 | }
695 |
/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)
[75/92] Compiling ShapeScript String+Matching.swift
/host/spi-builder-workspace/ShapeScript/Scene.swift:42:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Scene' may have shared mutable state; this is an error in the Swift 6 language mode
10 | import Foundation
11 |
12 | public final class Scene {
   |                    `- note: class 'Scene' does not conform to the 'Sendable' protocol
13 |     public let background: MaterialProperty
14 |     public let children: [Geometry]
   :
40 |
41 | public extension Scene {
42 |     static let empty = Scene(background: .color(.clear), children: [], cache: nil)
   |                |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'Scene' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 |     /// Returns the approximate (overestimated) bounds of the scene geometry.
/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:602: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
600 |     ]
601 |
602 |     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
603 |         "name": .property(.string, { parameter, context in
604 |             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:610: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
608 |     ]
609 |
610 |     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
611 |         "background": .getter(.colorOrTexture) { context in
612 |             .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:616: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
614 |     ]
615 |
616 |     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
617 |         "font": .property(.font, { parameter, context in
618 |             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:624: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
622 |     ]
623 |
624 |     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
625 |         "detail": .property(.number, { parameter, context in
626 |             // 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:633: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
631 |     ]
632 |
633 |     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
634 |         "smoothing": .property(.halfturns, { parameter, context in
635 |             // 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:643: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
641 |     ]
642 |
643 |     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
644 |         "camera": .block(.init(.node, [
645 |             "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:681: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
679 |     ])
680 |
681 |     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
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     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:682: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
680 |
681 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
682 |     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
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     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:683: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
681 |     static let global: Symbols = _merge(functions, colors, meshes, paths)
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     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
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     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:684: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
682 |     static let node: Symbols = _merge(transform, name, background)
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     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
685 |     static let user: Symbols = _merge(shape, font)
686 |     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:685: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
683 |     static let shape: Symbols = _merge(node, detail, smoothing, material)
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     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
686 |     static let builder: Symbols = group
687 |     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:686: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
684 |     static let group: Symbols = _merge(shape, childTransform, font)
685 |     static let user: Symbols = _merge(shape, font)
686 |     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
687 |     static let hull: Symbols = _merge(group, points)
688 |     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:687: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
685 |     static let user: Symbols = _merge(shape, font)
686 |     static let builder: Symbols = group
687 |     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
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     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:688: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
686 |     static let builder: Symbols = group
687 |     static let hull: Symbols = _merge(group, points)
688 |     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
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     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:689: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
687 |     static let hull: Symbols = _merge(group, points)
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     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
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     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:690: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
688 |     static let polygon: Symbols = _merge(transform, childTransform, points, color)
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     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
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     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:691: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
689 |     static let mesh: Symbols = _merge(node, smoothing, color, childTransform, polygons)
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     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
692 |     static let definition: Symbols = _merge(root, pathPoints)
693 |     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:692: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
690 |     static let pathShape: Symbols = _merge(transform, detail, color, background)
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     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
693 |     static let all: Symbols = _merge(definition, shape, path)
694 | }
/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 '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
691 |     static let path: Symbols = _merge(pathShape, childTransform, font, pathPoints)
692 |     static let definition: Symbols = _merge(root, pathPoints)
693 |     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
694 | }
695 |
/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)
[76/92] Compiling ShapeScript Value+JSON.swift
/host/spi-builder-workspace/ShapeScript/Values.swift:132:16: warning: static property 'void' is not concurrency-safe because non-'Sendable' type 'Value.Value' (aka 'Value') may have shared mutable state; this is an error in the Swift 6 language mode
 10 | import Foundation
 11 |
 12 | enum Value: Hashable {
    |      `- note: consider making enum 'Value' conform to the 'Sendable' protocol
 13 |     case color(Color)
 14 |     case texture(Texture?)
    :
130 |
131 | extension Value {
132 |     static let void: Value = .tuple([])
    |                |- warning: static property 'void' is not concurrency-safe because non-'Sendable' type 'Value.Value' (aka 'Value') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'void' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 |
134 |     static func colorOrTexture(_ value: MaterialProperty) -> Value {
[77/92] Compiling ShapeScript Value+Logging.swift
/host/spi-builder-workspace/ShapeScript/Values.swift:132:16: warning: static property 'void' is not concurrency-safe because non-'Sendable' type 'Value.Value' (aka 'Value') may have shared mutable state; this is an error in the Swift 6 language mode
 10 | import Foundation
 11 |
 12 | enum Value: Hashable {
    |      `- note: consider making enum 'Value' conform to the 'Sendable' protocol
 13 |     case color(Color)
 14 |     case texture(Texture?)
    :
130 |
131 | extension Value {
132 |     static let void: Value = .tuple([])
    |                |- warning: static property 'void' is not concurrency-safe because non-'Sendable' type 'Value.Value' (aka 'Value') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'void' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 |
134 |     static func colorOrTexture(_ value: MaterialProperty) -> Value {
[78/92] Compiling ShapeScript Values.swift
/host/spi-builder-workspace/ShapeScript/Values.swift:132:16: warning: static property 'void' is not concurrency-safe because non-'Sendable' type 'Value.Value' (aka 'Value') may have shared mutable state; this is an error in the Swift 6 language mode
 10 | import Foundation
 11 |
 12 | enum Value: Hashable {
    |      `- note: consider making enum 'Value' conform to the 'Sendable' protocol
 13 |     case color(Color)
 14 |     case texture(Texture?)
    :
130 |
131 | extension Value {
132 |     static let void: Value = .tuple([])
    |                |- warning: static property 'void' is not concurrency-safe because non-'Sendable' type 'Value.Value' (aka 'Value') may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'void' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 |
134 |     static func colorOrTexture(_ value: MaterialProperty) -> Value {
[79/92] Compiling ShapeScript Material.swift
/host/spi-builder-workspace/ShapeScript/Material.swift:88:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Material' may have shared mutable state; this is an error in the Swift 6 language mode
 76 | }
 77 |
 78 | public struct Material: Hashable {
    |               `- note: consider making struct 'Material' conform to the 'Sendable' protocol
 79 |     public var opacity: Optional<MaterialProperty>
 80 |     public var albedo: Optional<MaterialProperty>
    :
 86 |
 87 | public extension Material {
 88 |     static let `default`: Material = .init()
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Material' 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
 89 |
 90 |     init(color: Color? = nil) {
/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) {
[80/92] Compiling ShapeScript Members.swift
/host/spi-builder-workspace/ShapeScript/Material.swift:88:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Material' may have shared mutable state; this is an error in the Swift 6 language mode
 76 | }
 77 |
 78 | public struct Material: Hashable {
    |               `- note: consider making struct 'Material' conform to the 'Sendable' protocol
 79 |     public var opacity: Optional<MaterialProperty>
 80 |     public var albedo: Optional<MaterialProperty>
    :
 86 |
 87 | public extension Material {
 88 |     static let `default`: Material = .init()
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Material' 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
 89 |
 90 |     init(color: Color? = nil) {
/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) {
[81/92] Compiling ShapeScript Parser.swift
/host/spi-builder-workspace/ShapeScript/Material.swift:88:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Material' may have shared mutable state; this is an error in the Swift 6 language mode
 76 | }
 77 |
 78 | public struct Material: Hashable {
    |               `- note: consider making struct 'Material' conform to the 'Sendable' protocol
 79 |     public var opacity: Optional<MaterialProperty>
 80 |     public var albedo: Optional<MaterialProperty>
    :
 86 |
 87 | public extension Material {
 88 |     static let `default`: Material = .init()
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Material' 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
 89 |
 90 |     init(color: Color? = nil) {
/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) {
[82/92] Compiling ShapeScript ProgramError.swift
[83/92] Compiling ShapeScript RandomSequence.swift
[84/92] Compiling ShapeScript Scene+SceneKit.swift
[85/92] 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?) {
[86/92] 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?) {
[87/92] 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?) {
[88/92] 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?) {
[89/93] Wrapping AST for ShapeScript for debugging
[91/99] Compiling CLI main.swift
[92/99] Compiling CLI Geometry+ModelInfo.swift
[93/99] Compiling CLI ProgramError+Formatting.swift
[94/99] Compiling CLI CLI+Export.swift
[95/99] Emitting module CLI
[96/99] Compiling CLI CLI.swift
[97/100] Wrapping AST for CLI for debugging
[98/100] Write Objects.LinkFileList
[99/100] Linking shapescript
Build complete! (48.26s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "euclid",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.8.13",
            "upper_bound" : "0.9.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nicklockwood/Euclid.git"
    },
    {
      "identity" : "lrucache",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.2",
            "upper_bound" : "1.2.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nicklockwood/LRUCache.git"
    },
    {
      "identity" : "svgpath",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "1.3.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nicklockwood/SVGPath.git"
    }
  ],
  "manifest_display_name" : "ShapeScript",
  "name" : "ShapeScript",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "11.0"
    },
    {
      "name" : "tvos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "ShapeScript",
      "targets" : [
        "ShapeScript"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "shapescript",
      "targets" : [
        "CLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ShapeScriptTests",
      "module_type" : "SwiftTarget",
      "name" : "ShapeScriptTests",
      "path" : "ShapeScriptTests",
      "sources" : [
        "GeometryTests.swift",
        "ImportExportTests.swift",
        "InterpreterTests.swift",
        "LexerTests.swift",
        "LoggingTests.swift",
        "MemberTests.swift",
        "MetadataTests.swift",
        "ParserTests.swift",
        "PlatformTests.swift",
        "RegressionTests.swift",
        "SVGPathTests.swift",
        "StandardLibraryTests.swift",
        "StringMatchingTests.swift",
        "TestDelegate.swift",
        "TypesystemTests.swift"
      ],
      "target_dependencies" : [
        "ShapeScript"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ShapeScript",
      "module_type" : "SwiftTarget",
      "name" : "ShapeScript",
      "path" : "ShapeScript",
      "product_dependencies" : [
        "Euclid",
        "LRUCache",
        "SVGPath"
      ],
      "product_memberships" : [
        "ShapeScript",
        "shapescript"
      ],
      "sources" : [
        "Euclid+Extensions.swift",
        "Euclid+SVGPath.swift",
        "EvaluationContext.swift",
        "EvaluationDelegate.swift",
        "Geometry.swift",
        "GeometryCache.swift",
        "GeometryType.swift",
        "Interpreter.swift",
        "Lexer.swift",
        "Material+Brightness.swift",
        "Material+SceneKit.swift",
        "Material.swift",
        "Members.swift",
        "Parser.swift",
        "ProgramError.swift",
        "RandomSequence.swift",
        "Scene+SceneKit.swift",
        "Scene.swift",
        "StandardLibrary.swift",
        "String+Matching.swift",
        "String+Ordinals.swift",
        "Symbols.swift",
        "Types.swift",
        "Value+JSON.swift",
        "Value+Logging.swift",
        "Values.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CLI",
      "module_type" : "SwiftTarget",
      "name" : "CLI",
      "path" : "Viewer/CLI",
      "product_memberships" : [
        "shapescript"
      ],
      "sources" : [
        "CLI+Export.swift",
        "CLI.swift",
        "Geometry+ModelInfo.swift",
        "ProgramError+Formatting.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "ShapeScript"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.7"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:808cb2b2a6cec76654a3acbd283c6c2205bc60d2b29562c95b9f5147612f6d32
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.