The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Ollin, reference 0.17.0 (14d9de), with Swift 6.3 for macOS (SPM) on 28 Oct 2026 00:32:58 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[860/925] Compiling Ollin ParamNumberField.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[861/925] Compiling Ollin ProjectionCalibrator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[862/925] Compiling Ollin SourcePick.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[863/925] Compiling Ollin StatsPanel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[864/925] Compiling Ollin Supervisor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[865/925] Compiling Ollin TimelineModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[866/925] Compiling Ollin TimelinePanel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[867/925] Compiling Ollin VariationCard.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[868/925] Compiling Ollin WindowChrome.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1029:16: warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1027 |     /// untouched card keeps its plain header.
1028 |     @ViewBuilder private func groupReset(_ tuned: [String]) -> some View {
1029 |         if let reset, !tuned.isEmpty {
     |                `- warning: immutable value 'reset' was never used; consider replacing with '_' or removing it [#no-usage]
1030 |             Button("Reset") { noteClearingReset?.perform(tuned) }
1031 |                 .buttonStyle(.plain)
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Live/Inspector.swift:1058:24: warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1056 |                     .help("Write the parameters you changed into the @Param lines they were declared on.")
1057 |                 }
1058 |                 if let reset {
     |                        `- warning: value 'reset' was defined but never used; consider replacing with boolean test [#no-usage]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[869/925] Compiling Ollin Sway.swift
[870/925] Compiling Ollin Tempo.swift
[871/925] Compiling Ollin Timeline.swift
[872/925] Compiling Ollin Vector.swift
[873/925] Compiling Ollin Vector2.swift
[874/925] Compiling Ollin Vector3.swift
[875/925] Compiling Ollin CanvasSampler.swift
[876/925] Compiling Ollin FrameCapture.swift
[877/925] Compiling Ollin LinearFrameCapture.swift
[878/925] Compiling Ollin MetalRenderer+Caustics.swift
[879/925] Compiling Ollin MetalRenderer+DepthOfField.swift
[880/925] Compiling Ollin MetalRenderer+Effects.swift
[881/925] Compiling Ollin MetalRenderer+Flare.swift
[882/925] Compiling Ollin MetalRenderer+IBL.swift
[883/925] Compiling Ollin MetalRenderer+Interpolation.swift
[884/925] Compiling Ollin MetalRenderer+Lights.swift
[885/925] Compiling Ollin MetalRenderer+NoMetalFX.swift
[886/925] Compiling Ollin MetalRenderer+Overlay.swift
[887/925] Compiling Ollin MetalRenderer+PathTrace.swift
[888/925] Compiling Ollin MetalRenderer+Pipelines.swift
[889/925] Compiling Ollin MetalRenderer+RTInstances.swift
[890/925] Compiling Ollin MetalRenderer+Scattering.swift
[891/925] Compiling Ollin MetalRenderer+Targets.swift
[892/925] Compiling Ollin MetalRenderer+Upscaling.swift
[893/999] Compiling OllinSamplePhotos resource_bundle_accessor.swift
[894/999] Compiling OllinRemote resource_bundle_accessor.swift
[895/999] Emitting module OllinSamplePhotos
[896/999] Compiling OllinSamplePhotos SampleClip.swift
[897/999] Compiling OllinSamplePhotos SamplePhoto.swift
[898/1006] Compiling OllinSceneImport SceneImport.swift
[899/1006] Emitting module OllinSceneImport
[900/1006] Compiling OllinSyphon SyphonServer.swift
[901/1006] Compiling OllinRoom Room.swift
[902/1034] Emitting module OllinVideo
[903/1034] Compiling OllinRoom RoomSession.swift
[904/1034] Compiling OllinRoom RoomClock.swift
[905/1034] Emitting module OllinSyphon
[906/1034] Compiling OllinSyphon SyphonClient.swift
[907/1057] Compiling OllinSerial LineAssembler.swift
[908/1057] Compiling OllinSerial SerialDevice.swift
[909/1057] Compiling OllinSerial SerialPort.swift
[910/1057] Compiling OllinRuntime SourceReorder.swift
[911/1058] Emitting module OllinVision
[912/1061] Compiling OllinRuntime SourceRegions.swift
[913/1061] Compiling OllinRuntime SourceEdit.swift
[914/1061] Compiling OllinVideo VideoAudioTap.swift
[915/1061] Compiling OllinVideo VideoPlayer.swift
[916/1061] Compiling OllinVideo HeadlessVideoReader.swift
[917/1061] Compiling OllinScreen ScreenSource.swift
[918/1071] Compiling OllinRuntime SketchLoader.swift
[919/1071] Compiling OllinRoom RoomTransport.swift
[920/1071] Compiling OllinRoom RoomWire.swift
[921/1071] Compiling OllinRoom LocalNetworkTransport.swift
[922/1071] Emitting module OllinRoom
[923/1071] Emitting module OllinScreen
[924/1071] Compiling OllinScreen ScreenCapture.swift
[925/1078] Emitting module OllinSerial
[926/1078] Compiling OllinSerial Firmata.swift
[927/1086] Compiling OllinPhone PhoneSounds.swift
[928/1086] Compiling OllinPhone PhoneState.swift
[929/1086] Compiling OllinPhone PhonePictureCoding.swift
[930/1086] Compiling OllinRuntime SketchSession.swift
[931/1086] Compiling OllinRuntime SketchTarget.swift
[932/1086] Compiling OllinPhysics Ragdoll3D.swift
[933/1086] Compiling OllinPhysics RagdollFit.swift
[934/1086] Compiling OllinPhysics Character3D.swift
[935/1086] Compiling OllinPhysics Colliding3D.swift
[936/1086] Compiling OllinPhysics CollisionGroup.swift
[937/1086] Compiling OllinVision VisionAnalyzer.swift
[938/1086] Compiling OllinRecord3D Record3DRecording.swift
[939/1086] Compiling OllinRecord3D Record3DStream.swift
[940/1086] Compiling OllinRecord3D Record3DDevice.swift
[941/1086] Compiling OllinRecord3D Record3DCodec.swift
[942/1086] Compiling OllinRecord3D Record3DCamera.swift
[943/1086] Emitting module OllinRecord3D
[944/1086] Compiling OllinRecord3D ZIPArchive.swift
[945/1086] Emitting module OllinRemote
[946/1086] Compiling OllinRemote RemoteInspector.swift
[947/1086] Compiling OllinRemote RemoteWire.swift
[948/1086] Compiling OllinPhone PhoneDevice.swift
[949/1086] Compiling OllinPhone PhoneFace.swift
[950/1086] Compiling OllinPhone PhoneFlow.swift
[951/1086] Compiling OllinRuntime SwiftTokens.swift
[952/1102] Compiling OllinVision VisionError.swift
[953/1102] Compiling OllinVision VisionMapping.swift
[954/1102] Compiling OllinVision WaitFor.swift
[955/1102] Compiling OllinPhone PhoneAir.swift
[956/1102] Compiling OllinPhone PhoneBody.swift
[957/1102] Compiling OllinPhone PhoneDepth.swift
[958/1102] Compiling OllinPhone PhoneHand.swift
[959/1102] Compiling OllinPhone PhonePictureEncoder.swift
[960/1102] Compiling OllinPhone PhonePictureSender.swift
[961/1102] Compiling OllinPhone PhonePlanes.swift
[962/1102] Compiling OllinPhone PhoneReferences.swift
[963/1102] Compiling OllinPhone PhoneText.swift
[964/1102] Compiling OllinPhone PhoneTouches.swift
[967/1102] Emitting module OllinRuntime
[968/1102] Emitting module OllinPhysics
[969/1105] Emitting module OllinPhone
[975/1107] Compiling OllinPhone PhoneLight.swift
[976/1107] Compiling OllinPhone PhoneMarker.swift
[977/1107] Compiling OllinOSC OSCSender.swift
[978/1107] Compiling OllinOSC TUIO.swift
[979/1107] Compiling OllinOSC OSCTimeTag.swift
[980/1107] Compiling OllinOSC OSCReceiver.swift
[984/1109] Compiling OllinPhone PhoneScreen.swift
[985/1109] Compiling OllinPhone PhoneSegmentation.swift
[989/1109] Compiling OllinLaser LaserFrame.swift
[992/1109] Compiling OllinHaptics Sketch+Haptics.swift
[993/1109] Compiling OllinHaptics TrackpadPlan.swift
[998/1109] Compiling OllinPhone PhoneSaliency.swift
[999/1109] Compiling OllinPhone PhoneSceneMesh.swift
[1000/1111] Compiling OllinDoctor main.swift
[1001/1111] Emitting module OllinDoctor
[1005/1111] Compiling OllinMIDI TimecodeClock.swift
[1006/1111] Compiling OllinHaptics HapticPattern.swift
[1007/1111] Compiling OllinHaptics HapticHub.swift
[1008/1111] Compiling OllinHaptics HapticEvent.swift
[1009/1111] Emitting module OllinHaptics
[1010/1111] Compiling OllinHaptics DeviceHaptics.swift
[1011/1111] Compiling OllinLaser LaserOptimizer.swift
[1012/1111] Compiling OllinLaser LaserStream.swift
[1013/1111] Compiling OllinLaser ILDAFile.swift
[1014/1111] Compiling OllinLaser LaserProjector.swift
[1015/1111] Compiling OllinLaser EtherDreamDAC.swift
[1016/1111] Compiling OllinLaser LaserSafety.swift
[1017/1123] Compiling OllinNew ShaderSourceReader.swift
[1018/1123] Compiling OllinNew OllinNewCommand.swift
[1019/1123] Emitting module OllinNew
[1020/1123] Compiling OllinMIDI TempoClock.swift
[1021/1123] Compiling OllinMIDI MIDIOutput.swift
[1022/1123] Compiling OllinMIDI MIDIEndpoint.swift
[1023/1123] Emitting module OllinMIDI
[1024/1123] Compiling OllinMIDI Expression.swift
[1025/1123] Compiling OllinMIDI MIDIMessage.swift
[1026/1123] Compiling OllinMIDI MIDIInput.swift
[1027/1123] Emitting module OllinMQTT
[1028/1123] Compiling OllinMQTT MQTTClient.swift
[1029/1123] Compiling OllinMQTT MQTTWire.swift
[1030/1123] Compiling OllinMQTT MQTTMessage.swift
[1031/1130] Emitting module OllinTether
[1044/1134] Compiling OllinOSC OSCMessage.swift
[1045/1134] Compiling OllinOSC OSCCoding.swift
[1046/1134] Compiling OllinOSC OSCArgument.swift
[1047/1134] Compiling OllinOSC OSCBundle.swift
[1048/1134] Emitting module OllinOSC
[1049/1134] Compiling OllinOSC OSCQuery.swift
[1050/1134] Emitting module OllinLaser
[1051/1134] Compiling OllinLaser EtherDreamWire.swift
[1053/1134] Compiling OllinPhone PhoneWand.swift
[1054/1134] Compiling OllinPhone PhoneWire.swift
[1055/1141] Emitting module OllinDiagram
[1056/1141] Compiling OllinDiagram DiagramTheme.swift
[1056/1201] Write Objects.LinkFileList
[1059/1201] Compiling OllinDMX DMXSender.swift
[1060/1201] Compiling OllinDMX LEDMap.swift
[1061/1201] Compiling OllinDMX DMXUniverse.swift
[1062/1201] Compiling OllinAudio GrainCloud.swift
[1063/1201] Compiling OllinAudio GrainVoice.swift
[1064/1201] Compiling OllinAudio ModalBody.swift
[1065/1201] Compiling OllinAudio CustomEffect.swift
[1066/1201] Compiling OllinAudio DrivenModels.swift
[1067/1201] Compiling OllinAudio DrivenVoice.swift
[1068/1201] Compiling OllinAudio Dynamics.swift
[1069/1201] Compiling OllinAudio Effect.swift
[1070/1201] Compiling OllinAudio Envelope.swift
[1071/1201] Compiling OllinAudio Arpeggio.swift
[1072/1201] Compiling OllinAudio Soundtrack.swift
[1073/1201] Compiling OllinAudio Convolution.swift
[1074/1201] Compiling OllinAudio ModalShape.swift
[1075/1201] Compiling OllinAudio ModalVoice.swift
[1076/1201] Compiling OllinAudio StepSequencer.swift
[1077/1201] Compiling OllinCheck main.swift
[1078/1201] Emitting module OllinCheck
[1079/1201] Compiling OllinCamera VirtualCameraServer.swift
[1080/1201] Compiling OllinTether TetherMain.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinTether/TetherMain.swift:570:41: warning: capture of 'self' with non-Sendable type 'USBProxy' in a '@Sendable' closure [#SendableClosureCaptures]
537 | /// two. Plain bytes both ways, one pair of threads per connection; the
538 | /// WebSocket the surface upgrades to passes through untouched.
539 | final class USBProxy {
    |             `- note: class 'USBProxy' does not conform to the 'Sendable' protocol
540 |     private let listener: Int32
541 |     private let phonePort: UInt16
    :
568 |             throw ProxyError.socket(why)
569 |         }
570 |         let thread = Thread { [self] in acceptLoop() }
    |                                         `- warning: capture of 'self' with non-Sendable type 'USBProxy' in a '@Sendable' closure [#SendableClosureCaptures]
571 |         thread.name = "dev.ollin.phone.proxy"
572 |         thread.start()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1080/1201] Write Objects.LinkFileList
[1083/1201] Compiling OllinDMX DMXReceiver.swift
[1084/1201] Compiling OllinDMX DMXProtocol.swift
[1085/1201] Compiling OllinDMX DMXFixture.swift
[1086/1201] Compiling OllinDMX DMXPacer.swift
[1087/1201] Compiling OllinDMX ArtNetPacket.swift
[1088/1201] Emitting module OllinDMX
[1089/1201] Compiling OllinDMX SACNPacket.swift
[1090/1201] Compiling OllinCamera FrameConverter.swift
[1091/1201] Compiling OllinCamera SinkConnection.swift
[1092/1201] Emitting module OllinCamera
[1093/1201] Emitting module OllinController
[1094/1201] Compiling OllinController ControllerHub.swift
[1095/1201] Compiling OllinController Controller.swift
[1096/1201] Compiling OllinController ControllerButton.swift
[1097/1201] Compiling OllinController Sketch+Controller.swift
[1098/1201] Emitting module OllinBluetooth
[1099/1201] Compiling OllinBluetooth BluetoothCatalog.swift
[1100/1201] Compiling OllinBluetooth BluetoothBackend.swift
[1101/1201] Compiling OllinBluetooth CoreBluetoothBackend.swift
[1102/1201] Compiling OllinBluetooth BluetoothDevice.swift
[1103/1201] Compiling OllinBluetooth BluetoothUUID.swift
[1104/1201] Compiling OllinBluetooth BluetoothScan.swift
[1105/1201] Compiling OllinAudio Note.swift
[1106/1201] Compiling OllinAudio Progression.swift
[1107/1201] Compiling OllinAudio Rhythm.swift
[1108/1201] Compiling OllinAudio AudioPlayer.swift
[1109/1201] Compiling OllinAudio AudioSource.swift
[1110/1201] Compiling OllinAudio Arpeggiator.swift
[1110/1201] Linking OllinNew
[1111/1201] Applying OllinNew
[1112/1201] Linking OllinDoctor
[1113/1201] Applying OllinDoctor
[1114/1201] Linking OllinCheck
[1116/1201] Emitting module OllinAudio
[1116/1207] Linking OllinTether
[1117/1207] Applying OllinCheck
[1118/1207] Applying OllinTether
[1120/1207] Compiling OllinAudio BeatFollower.swift
[1121/1207] Compiling OllinAudio Chord.swift
[1122/1207] Compiling OllinAudio ChordSymbol.swift
[1123/1207] Compiling OllinAudio CompositionRandom.swift
[1124/1207] Compiling OllinAudio MIDIFile.swift
[1125/1207] Compiling OllinAudio MIDIFileReader.swift
[1126/1207] Compiling OllinAudio MIDIRecording.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:284:20: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
282 |             supplied = true
283 |             status.pointee = .haveData
284 |             return buffer
    |                    `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
285 |         }
286 |         guard error == nil, out.frameLength > 0 else { return nil }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Foundation
  3 | import Ollin
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:278:16: warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
276 |         var error: NSError?
277 |         converter.convert(to: out, error: &error) { _, status in
278 |             if supplied {
    |                `- warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
279 |                 status.pointee = .noDataNow
280 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:282:13: warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
280 |                 return nil
281 |             }
282 |             supplied = true
    |             `- warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
283 |             status.pointee = .haveData
284 |             return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1134/1207] Compiling OllinAudio Tuning.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:284:20: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
282 |             supplied = true
283 |             status.pointee = .haveData
284 |             return buffer
    |                    `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
285 |         }
286 |         guard error == nil, out.frameLength > 0 else { return nil }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Foundation
  3 | import Ollin
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:278:16: warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
276 |         var error: NSError?
277 |         converter.convert(to: out, error: &error) { _, status in
278 |             if supplied {
    |                `- warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
279 |                 status.pointee = .noDataNow
280 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:282:13: warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
280 |                 return nil
281 |             }
282 |             supplied = true
    |             `- warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
283 |             status.pointee = .haveData
284 |             return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1135/1207] Compiling OllinAudio AudioTapHub.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:284:20: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
282 |             supplied = true
283 |             status.pointee = .haveData
284 |             return buffer
    |                    `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
285 |         }
286 |         guard error == nil, out.frameLength > 0 else { return nil }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Foundation
  3 | import Ollin
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:278:16: warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
276 |         var error: NSError?
277 |         converter.convert(to: out, error: &error) { _, status in
278 |             if supplied {
    |                `- warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
279 |                 status.pointee = .noDataNow
280 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:282:13: warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
280 |                 return nil
281 |             }
282 |             supplied = true
    |             `- warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
283 |             status.pointee = .haveData
284 |             return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1136/1207] Compiling OllinAudio ListeningStatus.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:284:20: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
282 |             supplied = true
283 |             status.pointee = .haveData
284 |             return buffer
    |                    `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
285 |         }
286 |         guard error == nil, out.frameLength > 0 else { return nil }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Foundation
  3 | import Ollin
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:278:16: warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
276 |         var error: NSError?
277 |         converter.convert(to: out, error: &error) { _, status in
278 |             if supplied {
    |                `- warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
279 |                 status.pointee = .noDataNow
280 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:282:13: warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
280 |                 return nil
281 |             }
282 |             supplied = true
    |             `- warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
283 |             status.pointee = .haveData
284 |             return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1137/1207] Compiling OllinAudio SoundClassifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:284:20: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
282 |             supplied = true
283 |             status.pointee = .haveData
284 |             return buffer
    |                    `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
285 |         }
286 |         guard error == nil, out.frameLength > 0 else { return nil }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Foundation
  3 | import Ollin
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:278:16: warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
276 |         var error: NSError?
277 |         converter.convert(to: out, error: &error) { _, status in
278 |             if supplied {
    |                `- warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
279 |                 status.pointee = .noDataNow
280 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:282:13: warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
280 |                 return nil
281 |             }
282 |             supplied = true
    |             `- warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
283 |             status.pointee = .haveData
284 |             return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1138/1207] Compiling OllinAudio SpeechListener.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:284:20: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
282 |             supplied = true
283 |             status.pointee = .haveData
284 |             return buffer
    |                    `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
285 |         }
286 |         guard error == nil, out.frameLength > 0 else { return nil }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Foundation
  3 | import Ollin
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:278:16: warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
276 |         var error: NSError?
277 |         converter.convert(to: out, error: &error) { _, status in
278 |             if supplied {
    |                `- warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
279 |                 status.pointee = .noDataNow
280 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:282:13: warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
280 |                 return nil
281 |             }
282 |             supplied = true
    |             `- warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
283 |             status.pointee = .haveData
284 |             return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1139/1207] Compiling OllinAudio PitchDetection.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:284:20: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
282 |             supplied = true
283 |             status.pointee = .haveData
284 |             return buffer
    |                    `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
285 |         }
286 |         guard error == nil, out.frameLength > 0 else { return nil }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Foundation
  3 | import Ollin
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:278:16: warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
276 |         var error: NSError?
277 |         converter.convert(to: out, error: &error) { _, status in
278 |             if supplied {
    |                `- warning: reference to captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
279 |                 status.pointee = .noDataNow
280 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Listening/SpeechListener.swift:282:13: warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
280 |                 return nil
281 |             }
282 |             supplied = true
    |             `- warning: mutation of captured var 'supplied' in concurrently-executing code [#SendableClosureCaptures]
283 |             status.pointee = .haveData
284 |             return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:270:20: warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
268 |             handed = true
269 |             outStatus.pointee = .haveData
270 |             return input
    |                    `- warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
271 |         }
272 |         guard status != .error else { return sides }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Ollin
  3 | import os
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:264:16: warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
262 |         var error: NSError?
263 |         let status = converter.convert(to: output, error: &error) { _, outStatus in
264 |             if handed {
    |                `- warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
265 |                 outStatus.pointee = .endOfStream
266 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:268:13: warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
266 |                 return nil
267 |             }
268 |             handed = true
    |             `- warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
269 |             outStatus.pointee = .haveData
270 |             return input
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:270:20: warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
268 |             handed = true
269 |             outStatus.pointee = .haveData
270 |             return input
    |                    `- warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
271 |         }
272 |         guard status != .error else { return sides }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Ollin
  3 | import os
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:264:16: warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
262 |         var error: NSError?
263 |         let status = converter.convert(to: output, error: &error) { _, outStatus in
264 |             if handed {
    |                `- warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
265 |                 outStatus.pointee = .endOfStream
266 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:268:13: warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
266 |                 return nil
267 |             }
268 |             handed = true
    |             `- warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
269 |             outStatus.pointee = .haveData
270 |             return input
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:270:20: warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
268 |             handed = true
269 |             outStatus.pointee = .haveData
270 |             return input
    |                    `- warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
271 |         }
272 |         guard status != .error else { return sides }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Ollin
  3 | import os
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:264:16: warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
262 |         var error: NSError?
263 |         let status = converter.convert(to: output, error: &error) { _, outStatus in
264 |             if handed {
    |                `- warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
265 |                 outStatus.pointee = .endOfStream
266 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:268:13: warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
266 |                 return nil
267 |             }
268 |             handed = true
    |             `- warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
269 |             outStatus.pointee = .haveData
270 |             return input
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:270:20: warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
268 |             handed = true
269 |             outStatus.pointee = .haveData
270 |             return input
    |                    `- warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
271 |         }
272 |         guard status != .error else { return sides }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Ollin
  3 | import os
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:264:16: warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
262 |         var error: NSError?
263 |         let status = converter.convert(to: output, error: &error) { _, outStatus in
264 |             if handed {
    |                `- warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
265 |                 outStatus.pointee = .endOfStream
266 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:268:13: warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
266 |                 return nil
267 |             }
268 |             handed = true
    |             `- warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
269 |             outStatus.pointee = .haveData
270 |             return input
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:270:20: warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
268 |             handed = true
269 |             outStatus.pointee = .haveData
270 |             return input
    |                    `- warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
271 |         }
272 |         guard status != .error else { return sides }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Ollin
  3 | import os
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:264:16: warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
262 |         var error: NSError?
263 |         let status = converter.convert(to: output, error: &error) { _, outStatus in
264 |             if handed {
    |                `- warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
265 |                 outStatus.pointee = .endOfStream
266 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:268:13: warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
266 |                 return nil
267 |             }
268 |             handed = true
    |             `- warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
269 |             outStatus.pointee = .haveData
270 |             return input
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:270:20: warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
268 |             handed = true
269 |             outStatus.pointee = .haveData
270 |             return input
    |                    `- warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
271 |         }
272 |         guard status != .error else { return sides }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Ollin
  3 | import os
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:264:16: warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
262 |         var error: NSError?
263 |         let status = converter.convert(to: output, error: &error) { _, outStatus in
264 |             if handed {
    |                `- warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
265 |                 outStatus.pointee = .endOfStream
266 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:268:13: warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
266 |                 return nil
267 |             }
268 |             handed = true
    |             `- warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
269 |             outStatus.pointee = .haveData
270 |             return input
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:270:20: warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
268 |             handed = true
269 |             outStatus.pointee = .haveData
270 |             return input
    |                    `- warning: capture of 'input' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
271 |         }
272 |         guard status != .error else { return sides }
/Applications/Xcode-26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:1:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
  2 | import Ollin
  3 | import os
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:264:16: warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
262 |         var error: NSError?
263 |         let status = converter.convert(to: output, error: &error) { _, outStatus in
264 |             if handed {
    |                `- warning: reference to captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
265 |                 outStatus.pointee = .endOfStream
266 |                 return nil
/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Synthesis/Convolution.swift:268:13: warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
266 |                 return nil
267 |             }
268 |             handed = true
    |             `- warning: mutation of captured var 'handed' in concurrently-executing code [#SendableClosureCaptures]
269 |             outStatus.pointee = .haveData
270 |             return input
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1147/1207] Compiling OllinAudio AudioAnalyzer.swift
[1148/1207] Compiling OllinAudio AudioFileFrames.swift
[1149/1207] Compiling OllinAudio AudioInput.swift
[1157/1207] Compiling OllinAudio Scale.swift
[1158/1207] Compiling OllinAudio ScheduledNote.swift
[1159/1207] Compiling OllinAudio Sonification.swift
[1160/1207] Compiling OllinAudio StepCounter.swift
[1161/1207] Compiling OllinAudio Spectral.swift
[1162/1207] Compiling OllinAudio StringVoice.swift
[1163/1207] Compiling OllinAudio Synth.swift
[1164/1207] Compiling OllinAudio SynthEvent.swift
[1165/1207] Compiling OllinAudio SynthExport.swift
[1166/1207] Compiling OllinAudio SynthRenderer.swift
[1167/1207] Compiling OllinAudio PluckedString.swift
[1168/1207] Compiling OllinAudio ResonantFilter.swift
[1169/1207] Compiling OllinAudio SFZ.swift
[1170/1207] Compiling OllinAudio SampledInstrument.swift
[1171/1207] Compiling OllinAudio SamplerVoice.swift
[1172/1207] Compiling OllinAudio Spatial.swift
[1173/1207] Compiling OllinAudio Modulation.swift
[1174/1207] Compiling OllinAudio PartitionedConvolver.swift
[1175/1207] Compiling OllinAudio Patch.swift
[1176/1207] Compiling OllinAudio PatchVoice.swift
[1177/1207] Compiling OllinAudio PhaseVocoder.swift
[1178/1207] Compiling OllinAudio Pitch.swift
[1179/1207] Compiling OllinAudio Voice.swift
[1180/1207] Compiling OllinAudio Waveform.swift
[1181/1207] Compiling OllinAudio Wavetable.swift
[1182/1207] Compiling OllinAudio WavetableVoice.swift
[1183/1207] Compiling OllinAudio Tone.swift
[1184/1207] Compiling OllinAudio resource_bundle_accessor.swift
[1187/1256] Emitting module OllinRun
[1188/1256] Compiling OllinRun OllinRunMain.swift
[1189/1256] Compiling OllinRun RunSelfTest.swift
[1189/1256] Write Objects.LinkFileList
[1191/1256] Compiling OllinExamples OllinExamplesApp.swift
[1192/1256] Compiling OllinLive SelfTest.swift
[1193/1257] Compiling OllinExamples CrashReporter.swift
[1194/1257] Emitting module OllinExamples
[1195/1257] Compiling OllinExamples ExampleCatalog.swift
[1196/1257] Compiling OllinExamples ExamplesAppDelegate.swift
[1197/1257] Compiling OllinLive SaveTest.swift
[1198/1257] Compiling OllinLiveCoding SwiftHighlighter.swift
[1199/1258] Compiling OllinLive LiveSession.swift
[1200/1258] Compiling OllinGuideSnippets Names.swift
[1201/1258] Compiling OllinGuideSnippets main.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:182:15: warning: main actor-isolated var 'jobs' can not be referenced from a nonisolated context
127 | /// 36's mean OllinVision's, and a union of the two makes both ambiguous.
128 | struct Job { var tree: Int; var block: Block; var source: String; var preambleLines: Range<Int>; var prelude: String }
129 | var jobs: [Job] = []
    |     `- note: var declared here
130 | var skipped: [(Block, String)] = []
131 | var shellBlocks: [Block] = []
    :
180 |
181 | DispatchQueue.concurrentPerform(iterations: jobs.count) { index in
182 |     let job = jobs[index]
    |               `- warning: main actor-isolated var 'jobs' can not be referenced from a nonisolated context
183 |     let tree = trees[job.tree]
184 |     let source = job.prelude.isEmpty ? job.source : job.prelude + "\n" + job.source
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:189:5: warning: main actor-isolated var 'done' can not be mutated from a nonisolated context
175 | let lock = NSLock()
176 | var failures: [(Block, String)] = []
177 | var done = 0
    |     `- note: mutation of this var is only permitted within the actor
178 | let total = jobs.count
179 | let quiet = ProcessInfo.processInfo.environment["OLLIN_SNIPPETS_QUIET"] != nil
    :
187 |     let result = loader.typecheck(source, fileName: name)
188 |     lock.lock()
189 |     done += 1
    |     `- warning: main actor-isolated var 'done' can not be mutated from a nonisolated context
190 |     if case .failure(let error) = result {
191 |         failures.append((job.block, firstError("\(error)", preambleLines: job.preambleLines)))
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:191:9: warning: main actor-isolated var 'failures' can not be mutated from a nonisolated context
174 | /// directory per call, so the runs do not collide.
175 | let lock = NSLock()
176 | var failures: [(Block, String)] = []
    |     `- note: mutation of this var is only permitted within the actor
177 | var done = 0
178 | let total = jobs.count
    :
189 |     done += 1
190 |     if case .failure(let error) = result {
191 |         failures.append((job.block, firstError("\(error)", preambleLines: job.preambleLines)))
    |         `- warning: main actor-isolated var 'failures' can not be mutated from a nonisolated context
192 |     }
193 |     if !quiet && done % 25 == 0 {
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:193:18: warning: main actor-isolated var 'done' can not be referenced from a nonisolated context
175 | let lock = NSLock()
176 | var failures: [(Block, String)] = []
177 | var done = 0
    |     `- note: var declared here
178 | let total = jobs.count
179 | let quiet = ProcessInfo.processInfo.environment["OLLIN_SNIPPETS_QUIET"] != nil
    :
191 |         failures.append((job.block, firstError("\(error)", preambleLines: job.preambleLines)))
192 |     }
193 |     if !quiet && done % 25 == 0 {
    |                  `- warning: main actor-isolated var 'done' can not be referenced from a nonisolated context
194 |         FileHandle.standardError.write(Data("  \(done)/\(total)\r".utf8))
195 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:194:50: warning: main actor-isolated var 'done' can not be referenced from a nonisolated context
175 | let lock = NSLock()
176 | var failures: [(Block, String)] = []
177 | var done = 0
    |     `- note: var declared here
178 | let total = jobs.count
179 | let quiet = ProcessInfo.processInfo.environment["OLLIN_SNIPPETS_QUIET"] != nil
    :
192 |     }
193 |     if !quiet && done % 25 == 0 {
194 |         FileHandle.standardError.write(Data("  \(done)/\(total)\r".utf8))
    |                                                  `- warning: main actor-isolated var 'done' can not be referenced from a nonisolated context
195 |     }
196 |     lock.unlock()
[1202/1258] Emitting module OllinGuideSnippets
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:182:15: warning: main actor-isolated var 'jobs' can not be referenced from a nonisolated context
127 | /// 36's mean OllinVision's, and a union of the two makes both ambiguous.
128 | struct Job { var tree: Int; var block: Block; var source: String; var preambleLines: Range<Int>; var prelude: String }
129 | var jobs: [Job] = []
    |     `- note: var declared here
130 | var skipped: [(Block, String)] = []
131 | var shellBlocks: [Block] = []
    :
180 |
181 | DispatchQueue.concurrentPerform(iterations: jobs.count) { index in
182 |     let job = jobs[index]
    |               `- warning: main actor-isolated var 'jobs' can not be referenced from a nonisolated context
183 |     let tree = trees[job.tree]
184 |     let source = job.prelude.isEmpty ? job.source : job.prelude + "\n" + job.source
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:189:5: warning: main actor-isolated var 'done' can not be mutated from a nonisolated context
175 | let lock = NSLock()
176 | var failures: [(Block, String)] = []
177 | var done = 0
    |     `- note: mutation of this var is only permitted within the actor
178 | let total = jobs.count
179 | let quiet = ProcessInfo.processInfo.environment["OLLIN_SNIPPETS_QUIET"] != nil
    :
187 |     let result = loader.typecheck(source, fileName: name)
188 |     lock.lock()
189 |     done += 1
    |     `- warning: main actor-isolated var 'done' can not be mutated from a nonisolated context
190 |     if case .failure(let error) = result {
191 |         failures.append((job.block, firstError("\(error)", preambleLines: job.preambleLines)))
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:191:9: warning: main actor-isolated var 'failures' can not be mutated from a nonisolated context
174 | /// directory per call, so the runs do not collide.
175 | let lock = NSLock()
176 | var failures: [(Block, String)] = []
    |     `- note: mutation of this var is only permitted within the actor
177 | var done = 0
178 | let total = jobs.count
    :
189 |     done += 1
190 |     if case .failure(let error) = result {
191 |         failures.append((job.block, firstError("\(error)", preambleLines: job.preambleLines)))
    |         `- warning: main actor-isolated var 'failures' can not be mutated from a nonisolated context
192 |     }
193 |     if !quiet && done % 25 == 0 {
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:193:18: warning: main actor-isolated var 'done' can not be referenced from a nonisolated context
175 | let lock = NSLock()
176 | var failures: [(Block, String)] = []
177 | var done = 0
    |     `- note: var declared here
178 | let total = jobs.count
179 | let quiet = ProcessInfo.processInfo.environment["OLLIN_SNIPPETS_QUIET"] != nil
    :
191 |         failures.append((job.block, firstError("\(error)", preambleLines: job.preambleLines)))
192 |     }
193 |     if !quiet && done % 25 == 0 {
    |                  `- warning: main actor-isolated var 'done' can not be referenced from a nonisolated context
194 |         FileHandle.standardError.write(Data("  \(done)/\(total)\r".utf8))
195 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OllinGuideSnippets/main.swift:194:50: warning: main actor-isolated var 'done' can not be referenced from a nonisolated context
175 | let lock = NSLock()
176 | var failures: [(Block, String)] = []
177 | var done = 0
    |     `- note: var declared here
178 | let total = jobs.count
179 | let quiet = ProcessInfo.processInfo.environment["OLLIN_SNIPPETS_QUIET"] != nil
    :
192 |     }
193 |     if !quiet && done % 25 == 0 {
194 |         FileHandle.standardError.write(Data("  \(done)/\(total)\r".utf8))
    |                                                  `- warning: main actor-isolated var 'done' can not be referenced from a nonisolated context
195 |     }
196 |     lock.unlock()
[1203/1258] Compiling OllinGuideSnippets Snippets.swift
[1203/1258] Write Objects.LinkFileList
[1205/1258] Compiling OllinLiveCoding Template.swift
[1206/1258] Emitting module OllinLive
[1207/1258] Compiling OllinLiveCoding CodeCompletion.swift
[1208/1258] Compiling OllinLiveCoding CodeEditorView.swift
[1209/1258] Compiling OllinLive InspectorTest.swift
[1210/1258] Compiling OllinLive WatchTest.swift
[1211/1258] Compiling OllinLiveCoding DiagnosticsStrip.swift
[1212/1258] Compiling OllinLiveCoding DragTest.swift
[1213/1258] Compiling OllinProjectGenerator OllinProjectGeneratorApp.swift
[1214/1258] Compiling OllinProjectGenerator SourceStage.swift
[1215/1258] Compiling OllinProjectGenerator ThreeDStrip.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinProjectGenerator/ThreeDStrip.swift:167:25: warning: '+' was deprecated in macOS 26.0: Use string interpolation on `Text` instead: `Text("Hello \(name)")` [#DeprecatedDeclaration]
165 |                     Text(option.title).font(.system(size: 10.5, weight: .medium))
166 |                         + Text(" \u{2014} ").font(.system(size: 10.5)).foregroundColor(.secondary)
167 |                         + Text(objection ?? option.summary).font(.system(size: 10.5)).foregroundColor(.secondary)
    |                         `- warning: '+' was deprecated in macOS 26.0: Use string interpolation on `Text` instead: `Text("Hello \(name)")` [#DeprecatedDeclaration]
168 |                 } else {
169 |                     Text("Hover a choice for what it does, or why it cannot be picked here.")
/Users/admin/builder/spi-builder-workspace/Sources/OllinProjectGenerator/ThreeDStrip.swift:166:25: warning: '+' was deprecated in macOS 26.0: Use string interpolation on `Text` instead: `Text("Hello \(name)")` [#DeprecatedDeclaration]
164 |                 if let option {
165 |                     Text(option.title).font(.system(size: 10.5, weight: .medium))
166 |                         + Text(" \u{2014} ").font(.system(size: 10.5)).foregroundColor(.secondary)
    |                         `- warning: '+' was deprecated in macOS 26.0: Use string interpolation on `Text` instead: `Text("Hello \(name)")` [#DeprecatedDeclaration]
167 |                         + Text(objection ?? option.summary).font(.system(size: 10.5)).foregroundColor(.secondary)
168 |                 } else {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[1216/1258] Compiling OllinLiveCoding ControlTest.swift
[1217/1258] Compiling OllinLiveCoding ControlsCardView.swift
[1218/1258] Compiling OllinLiveCoding SelfTest.swift
[1219/1258] Compiling OllinLiveCoding SessionTest.swift
[1222/1258] Emitting module OllinLiveCoding
[1223/1258] Compiling OllinLive LiveAppDelegate.swift
[1224/1258] Compiling OllinLive LiveRootView.swift
[1225/1258] Compiling OllinLive OllinLiveApp.swift
[1226/1258] Compiling OllinLive ParamTest.swift
[1226/1258] Write Objects.LinkFileList
[1228/1258] Compiling OllinLiveCoding PerformanceControls.swift
[1229/1258] Compiling OllinLiveCoding PerformanceSession.swift
[1230/1258] Compiling OllinLiveCoding EditorController.swift
[1231/1258] Compiling OllinLiveCoding HeadlessStage.swift
[1232/1258] Compiling OllinLiveCoding LiveCodingApp.swift
[1233/1258] Compiling OllinLiveCoding LiveCodingRootView.swift
[1234/1258] Compiling OllinGuideFigures GuideFigures.swift
[1235/1258] Emitting module OllinGuideFigures
[1235/1258] Write Objects.LinkFileList
[1238/1258] Compiling OllinExamples GalleryHarness.swift
[1239/1258] Compiling OllinExamples GalleryView.swift
/Users/admin/builder/spi-builder-workspace/Sources/OllinExamples/GalleryView.swift:492:43: warning: converting non-Sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
490 |         guard !fired else { return }
491 |         fired = true
492 |         DispatchQueue.main.async(execute: onFirstFrame)
    |                                           `- warning: converting non-Sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
493 |     }
494 | }
[1239/1258] Write Objects.LinkFileList
[1241/1258] Compiling OllinProjectGenerator GeneratorHarness.swift
[1242/1258] Emitting module OllinProjectGenerator
[1243/1258] Compiling OllinProjectGenerator GeneratorView.swift
[1243/1258] Write Objects.LinkFileList
[1244/1258] Linking OllinRun
[1245/1258] Applying OllinRun
[1246/1258] Linking OllinGuideSnippets
[1247/1258] Applying OllinGuideSnippets
[1248/1258] Linking OllinLive
[1249/1258] Applying OllinLive
[1250/1258] Linking OllinGuideFigures
[1251/1258] Linking OllinLiveCoding
[1252/1258] Applying OllinGuideFigures
[1253/1258] Applying OllinLiveCoding
[1254/1258] Linking OllinExamples
[1255/1258] Applying OllinExamples
[1256/1258] Linking OllinProjectGenerator
[1257/1258] Applying OllinProjectGenerator
Build complete! (77.34s)
Build complete.
{
  "cxx_language_standard" : "c++17",
  "dependencies" : [
  ],
  "manifest_display_name" : "Ollin",
  "name" : "Ollin",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "26.0"
    },
    {
      "name" : "ios",
      "version" : "26.0"
    }
  ],
  "products" : [
    {
      "name" : "Ollin",
      "targets" : [
        "Ollin"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinAudio",
      "targets" : [
        "OllinAudio"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinOSC",
      "targets" : [
        "OllinOSC"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinDMX",
      "targets" : [
        "OllinDMX"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinLaser",
      "targets" : [
        "OllinLaser"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinMIDI",
      "targets" : [
        "OllinMIDI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinLink",
      "targets" : [
        "OllinLink"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinMQTT",
      "targets" : [
        "OllinMQTT"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinHaptics",
      "targets" : [
        "OllinHaptics"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinSerial",
      "targets" : [
        "OllinSerial"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinBluetooth",
      "targets" : [
        "OllinBluetooth"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinRemote",
      "targets" : [
        "OllinRemote"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinRoom",
      "targets" : [
        "OllinRoom"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinPhysics",
      "targets" : [
        "OllinPhysics"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinVision",
      "targets" : [
        "OllinVision"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinVideo",
      "targets" : [
        "OllinVideo"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinSyphon",
      "targets" : [
        "OllinSyphon"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinCamera",
      "targets" : [
        "OllinCamera"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinRecord3D",
      "targets" : [
        "OllinRecord3D"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinPhone",
      "targets" : [
        "OllinPhone"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinScreen",
      "targets" : [
        "OllinScreen"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinController",
      "targets" : [
        "OllinController"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinSamplePhotos",
      "targets" : [
        "OllinSamplePhotos"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "COllinShaders",
      "targets" : [
        "COllinShaders"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OllinTether",
      "targets" : [
        "OllinTether"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinRun",
      "targets" : [
        "OllinRun"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinProjectGenerator",
      "targets" : [
        "OllinProjectGenerator"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinNew",
      "targets" : [
        "OllinNew"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinLiveCoding",
      "targets" : [
        "OllinLiveCoding"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinLive",
      "targets" : [
        "OllinLive"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinGuideSnippets",
      "targets" : [
        "OllinGuideSnippets"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinGuideFigures",
      "targets" : [
        "OllinGuideFigures"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinExamples",
      "targets" : [
        "OllinExamples"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinDoctor",
      "targets" : [
        "OllinDoctor"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinDocs",
      "targets" : [
        "OllinDocs"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "OllinCheck",
      "targets" : [
        "OllinCheck"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "swift_languages_versions" : [
    "6"
  ],
  "targets" : [
    {
      "c99name" : "OllinWebGate",
      "module_type" : "SwiftTarget",
      "name" : "OllinWebGate",
      "path" : "Tests/OllinWebGate",
      "sources" : [
        "HeadlessBrowser.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinVisionTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinVisionTests",
      "path" : "Tests/OllinVisionTests",
      "sources" : [
        "BarcodeScannerTests.swift",
        "BodyTracker3DTests.swift",
        "BodyTrackerTests.swift",
        "ConceptTrackerTests.swift",
        "ContourDetectorTests.swift",
        "DepthClipTests.swift",
        "DepthLiftTests.swift",
        "DepthTrackerTests.swift",
        "ExportClockTests.swift",
        "FaceTrackerTests.swift",
        "FlowTrackerTests.swift",
        "FrameSourceTests.swift",
        "HandTrackerTests.swift",
        "ImageClassifierTests.swift",
        "ModelTrackerTests.swift",
        "ObjectTrackerTests.swift",
        "PointSegmenterTests.swift",
        "RectangleDetectorTests.swift",
        "SaliencyTrackerTests.swift",
        "SegmenterTests.swift",
        "TextRecognizerTests.swift",
        "TrajectoryTrackerTests.swift",
        "VisionMappingTests.swift",
        "VisionStatusTests.swift",
        "WaitForTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinVision",
        "OllinVideo",
        "OllinSamplePhotos",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinVision",
      "module_type" : "SwiftTarget",
      "name" : "OllinVision",
      "path" : "Sources/OllinVision",
      "product_memberships" : [
        "OllinVision",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "BarcodeScanner.swift",
        "BodyTracker.swift",
        "BodyTracker3D.swift",
        "Camera.swift",
        "CameraOrStill.swift",
        "ClassMask.swift",
        "ConceptTracker.swift",
        "ContourDetector.swift",
        "DepthClip.swift",
        "DepthLift.swift",
        "DepthTracker.swift",
        "FaceTracker.swift",
        "FlowTracker.swift",
        "HandTracker.swift",
        "ImageClassifier.swift",
        "ModelLoader.swift",
        "ModelTracker.swift",
        "ObjectTracker.swift",
        "PersonSegmenter.swift",
        "PhraseTokenizer.swift",
        "PointSegmenter.swift",
        "RectangleDetector.swift",
        "SaliencyTracker.swift",
        "Segmentation.swift",
        "SubjectSegmenter.swift",
        "TextRecognizer.swift",
        "TrajectoryTracker.swift",
        "VisionAnalyzer.swift",
        "VisionError.swift",
        "VisionMapping.swift",
        "WaitFor.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinVideoTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinVideoTests",
      "path" : "Tests/OllinVideoTests",
      "sources" : [
        "VideoAudioTapTests.swift",
        "VideoPlayerTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinVideo",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinVideo",
      "module_type" : "SwiftTarget",
      "name" : "OllinVideo",
      "path" : "Sources/OllinVideo",
      "product_memberships" : [
        "OllinVideo",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "HeadlessVideoReader.swift",
        "VideoAudioTap.swift",
        "VideoPlayer.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinUSBMux",
      "module_type" : "SwiftTarget",
      "name" : "OllinUSBMux",
      "path" : "Sources/OllinUSBMux",
      "product_memberships" : [
        "OllinRecord3D",
        "OllinPhone",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "USBMux.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinTether",
      "module_type" : "SwiftTarget",
      "name" : "OllinTether",
      "path" : "Sources/OllinTether",
      "product_memberships" : [
        "OllinTether"
      ],
      "sources" : [
        "TetherMain.swift"
      ],
      "target_dependencies" : [
        "OllinRuntime",
        "OllinUSBMux"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinTests",
      "path" : "Tests/OllinTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/OllinTests/References",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "AerialPerspectiveTests.swift",
        "AnamorphosisTests.swift",
        "AnisotropyTests.swift",
        "AntColonyTests.swift",
        "AntialiasFilterTests.swift",
        "AperiodicTilingTests.swift",
        "ApertureBokehTests.swift",
        "ApertureStarTests.swift",
        "AreaShadowTests.swift",
        "ArrowsFilterTests.swift",
        "AttractorFlowTests.swift",
        "AttractorsTests.swift",
        "AutomationTests.swift",
        "AutostereogramTests.swift",
        "BackgroundKeepsLayersTests.swift",
        "BareForms3DTests.swift",
        "BareFormsTests.swift",
        "BatchTests.swift",
        "BenchmarkSupport.swift",
        "BentOutlineTests.swift",
        "BifurcationTests.swift",
        "BilliardTests.swift",
        "BitmapFontTests.swift",
        "BlackHoleLensTests.swift",
        "BlackHolePageTests.swift",
        "BlueNoiseThinningTests.swift",
        "Box3Tests.swift",
        "BrushTests.swift",
        "BrushworkTests.swift",
        "BuddhabrotTests.swift",
        "Camera3DTests.swift",
        "CameraClockTests.swift",
        "CameraLightTests.swift",
        "CameraRigTests.swift",
        "CanvasSamplerTests.swift",
        "CaptureSourceTests.swift",
        "CausticEnergyTests.swift",
        "CausticsLiveTemporalTests.swift",
        "CausticsTests.swift",
        "CellularAutomataTests.swift",
        "ChannelMixerTests.swift",
        "CheckpointTests.swift",
        "ChladniTests.swift",
        "ChromeFilterTests.swift",
        "ClassicCurveTests.swift",
        "ClipTests.swift",
        "ClothoidTests.swift",
        "CloudRegistrationTests.swift",
        "CloudTests.swift",
        "CoatSheenTests.swift",
        "CollectionConformanceTests.swift",
        "ColorLUTTests.swift",
        "ColorMeasureTests.swift",
        "ColorOutputTests.swift",
        "ColorScienceInvariantTests.swift",
        "ColorSpaceTests.swift",
        "ColorTests.swift",
        "ColorVisionTests.swift",
        "CombineTests.swift",
        "CommandLineHelpTests.swift",
        "ComplexPlaneFramingTests.swift",
        "ComplexTests.swift",
        "ComplexTextTests.swift",
        "ComputeTests.swift",
        "ComputeTextureReadTests.swift",
        "ContourQueryTests.swift",
        "ContourTests.swift",
        "Convenience3DTests.swift",
        "ConvenienceHelperTests.swift",
        "CornerPinTests.swift",
        "CrackGrowthTests.swift",
        "CreasePatternTests.swift",
        "CrowdTests.swift",
        "CubeShadowTests.swift",
        "CueTests.swift",
        "CurveAndListParamTests.swift",
        "CurvedPatchTests.swift",
        "DXFExportTests.swift",
        "DampedSpringTests.swift",
        "DataFeedTests.swift",
        "DataLayerReadTests.swift",
        "DeBruijnTests.swift",
        "DecalTests.swift",
        "DefocusTests.swift",
        "DepthOfFieldTests.swift",
        "DescriptionTests.swift",
        "DetailMapTests.swift",
        "DielectricBreakdownTests.swift",
        "DiffusionCurveTests.swift",
        "DispersionTests.swift",
        "DisplayWallTests.swift",
        "DistanceFieldTests.swift",
        "DitherTests.swift",
        "DoctorTests.swift",
        "DofBenchmarkTests.swift",
        "DomainColoringTests.swift",
        "DoublePendulumTests.swift",
        "DrainageTests.swift",
        "DropTests.swift",
        "DrosteTests.swift",
        "DualContouringTests.swift",
        "EXRExportTests.swift",
        "EasingDerivedTests.swift",
        "EasingTests.swift",
        "EmbroideryExportTests.swift",
        "EnergyConservationTests.swift",
        "EnvelopeTests.swift",
        "EnvironmentCacheTests.swift",
        "EnvironmentMenuTests.swift",
        "EpicyclesTests.swift",
        "EveryCasterTests.swift",
        "EvolutionTests.swift",
        "ExportErrorTests.swift",
        "ExportMetadataTests.swift",
        "FacetFieldTests.swift",
        "FallingSandTests.swift",
        "FeatureEdgesTests.swift",
        "FeedEnvironmentTests.swift",
        "FieldCoverageTests.swift",
        "FieldSlopeTests.swift",
        "FileErrorTests.swift",
        "FillMediumTests.swift",
        "FilmLookTests.swift",
        "FilterCatalogTests.swift",
        "FilterSpreadNoteTests.swift",
        "FluidDynamicsTests.swift",
        "FogTests.swift",
        "ForceLayoutTests.swift",
        "FordCircleTests.swift",
        "FormulaTests.swift",
        "FourierTests.swift",
        "FractalFieldTests.swift",
        "FractalTests.swift",
        "FractureTests.swift",
        "FrameGrabTests.swift",
        "FrameInterpolationTests.swift",
        "FrameInvariantTests.swift",
        "FrameProfileTests.swift",
        "FrameRateTests.swift",
        "FrameRingTests.swift",
        "FringeStrokeTests.swift",
        "GCodeExportTests.swift",
        "GIFMemoryTests.swift",
        "GIFWriterTests.swift",
        "GaborNoiseTests.swift",
        "GainMapExportTests.swift",
        "GestureMarkTests.swift",
        "GlassTests.swift",
        "GlobalIlluminationTests.swift",
        "GlossyReflectionTests.swift",
        "GlyphAtlasTests.swift",
        "GlyphMosaicTests.swift",
        "GlyphStrokeTests.swift",
        "GridTests.swift",
        "GrowthTests.swift",
        "GuillocheTests.swift",
        "HalftoneTests.swift",
        "HangingPunctuationTests.swift",
        "HatchingFilterTests.swift",
        "HeadlessDrainTests.swift",
        "HeadlessFlagSupport.swift",
        "HeadlessFrameReportTests.swift",
        "HeavyPassTests.swift",
        "HeightfieldTests.swift",
        "HeldObjectsTests.swift",
        "HilbertOrderTests.swift",
        "HitomezashiTests.swift",
        "HobbySplineTests.swift",
        "HologramMaterialTests.swift",
        "HolographicFoilTests.swift",
        "HopfFibrationTests.swift",
        "HullTests.swift",
        "HyperbolicTilingTests.swift",
        "IBLCacheTests.swift",
        "IESProfileTests.swift",
        "IKChainTests.swift",
        "ImageFitTests.swift",
        "ImageSamplingTests.swift",
        "ImageSourceTests.swift",
        "ImageTests.swift",
        "InkProbeSupport.swift",
        "InspectorPanelFocusTests.swift",
        "InstallationTests.swift",
        "InstancedMotionTests.swift",
        "InstancedRayTracingTests.swift",
        "InterferenceColorTests.swift",
        "IsolineTests.swift",
        "IsosurfaceTests.swift",
        "JSONTests.swift",
        "KeptShapeTests.swift",
        "KnotworkTests.swift",
        "KolamTests.swift",
        "KuramotoTests.swift",
        "LayerStyleTests.swift",
        "LayersReadOpsTests.swift",
        "LensDiscSupport.swift",
        "LensDistortionTests.swift",
        "LensFlareRenderTests.swift",
        "LensFlareTests.swift",
        "LightAccumulationTests.swift",
        "LightSetTests.swift",
        "LightTests.swift",
        "LightingInvariantTests.swift",
        "LightingTests.swift",
        "LineDrawingTests.swift",
        "LineIntegralConvolutionTests.swift",
        "LineTextureTests.swift",
        "Lines3DTests.swift",
        "LiveSurfaceTests.swift",
        "LoftTests.swift",
        "LoopingNoise3DTests.swift",
        "ManyLightsBenchmarkTests.swift",
        "ManyLightsTests.swift",
        "MarblingTests.swift",
        "MarkovChainTests.swift",
        "MaterialSourceTests.swift",
        "MaterialTests.swift",
        "MaterialTextureRenderTests.swift",
        "MaterialTextureTests.swift",
        "MathTests.swift",
        "MeanderTests.swift",
        "MedialAxisTests.swift",
        "MeshBooleanTests.swift",
        "MeshColorTests.swift",
        "MeshExportTests.swift",
        "MeshFieldTests.swift",
        "MeshGrowthTests.swift",
        "MeshInstanceTests.swift",
        "MeshJoinTests.swift",
        "MeshLoaderTests.swift",
        "MeshOutlineTests.swift",
        "MeshTangentTests.swift",
        "MeshTests.swift",
        "MeshTextTests.swift",
        "MongolianTextTests.swift",
        "MotionBlurTests.swift",
        "MotionFieldTests.swift",
        "MovingAverageSmoothingTests.swift",
        "MultiScaleTuringTests.swift",
        "NBodyTests.swift",
        "NewtonBasinsTests.swift",
        "NoLoopExportTests.swift",
        "NoiseFieldsTests.swift",
        "NoiseTests.swift",
        "OSCanvasHostTests.swift",
        "OceanTests.swift",
        "OneEuroFilterTests.swift",
        "OpticalLookTests.swift",
        "OverlappingWFCTests.swift",
        "OverlayTests.swift",
        "PDFExportTests.swift",
        "PackingTests.swift",
        "PaintTests.swift",
        "PaletteExtractTests.swift",
        "PaletteImportTests.swift",
        "PaletteSchemeTests.swift",
        "PaletteTests.swift",
        "PaperSizeTests.swift",
        "ParallaxTests.swift",
        "ParamListingTests.swift",
        "ParamNumberFieldTests.swift",
        "ParamOverrideTests.swift",
        "ParamOwnTypeTests.swift",
        "ParamTests.swift",
        "ParameterTimelineTests.swift",
        "ParametricLSystemTests.swift",
        "ParquetDeformationTests.swift",
        "ParticleLeniaTests.swift",
        "PathTraceTests.swift",
        "PercolationTests.swift",
        "PersistentLayerCombineTests.swift",
        "PersistentLayerExportTests.swift",
        "PhotoMosaicTests.swift",
        "PinchAndTurnTests.swift",
        "PixelSortTests.swift",
        "PlacementTests.swift",
        "PlaneCurveTests.swift",
        "PlanetMapTests.swift",
        "PointCasterSlotTests.swift",
        "PolyominoTests.swift",
        "PopulationTests.swift",
        "PoseGraphTests.swift",
        "PowerDiagramTests.swift",
        "PredatorPreyTests.swift",
        "PresentDitherTests.swift",
        "PrintColorTests.swift",
        "PrintSeparationTests.swift",
        "ProjectionTests.swift",
        "PursuitTests.swift",
        "PushFeedTests.swift",
        "RGBDFrameTests.swift",
        "RadialBasisTests.swift",
        "RampStepTests.swift",
        "RandomTests.swift",
        "Ray3Tests.swift",
        "RaymarchBenchmarkTests.swift",
        "RectanglePackingTests.swift",
        "RectangleTests.swift",
        "ReflectionBounceTests.swift",
        "RegionTests.swift",
        "RenderScaleTests.swift",
        "RipplesTests.swift",
        "Rotation3DTests.swift",
        "RoundedCornersTests.swift",
        "SDFOutlineTests.swift",
        "SSAOBenchmarkTests.swift",
        "SSRBenchmarkTests.swift",
        "SVGExportTests.swift",
        "SVGImportTests.swift",
        "SamplingTests.swift",
        "SandpileTests.swift",
        "ScanGraphTests.swift",
        "ScatteringTests.swift",
        "SceneAnimationTests.swift",
        "SceneExportTests.swift",
        "SceneFixtureSupport.swift",
        "SceneImportTests.swift",
        "SceneLoaderTests.swift",
        "SceneSkinningTests.swift",
        "ScheduleTests.swift",
        "SchottkyTests.swift",
        "ScreenSaverHostTests.swift",
        "ScreenWakeTests.swift",
        "SeamCarveTests.swift",
        "SeamlessCloneTests.swift",
        "SelfWarpTests.swift",
        "SeparationExportTests.swift",
        "SessionRecorderTests.swift",
        "SetupThrowsTests.swift",
        "ShaderCheckTests.swift",
        "ShaderErrorTests.swift",
        "ShaderImportRenderTests.swift",
        "ShaderIncludeTests.swift",
        "ShaderPaintTests.swift",
        "ShadowArtTests.swift",
        "ShadowBenchmarkTests.swift",
        "ShapeBooleanTests.swift",
        "ShapeCutTests.swift",
        "ShapeGrammarTests.swift",
        "ShapeMorphTests.swift",
        "ShapeSamplingTests.swift",
        "ShockFilterTests.swift",
        "SingleLineTests.swift",
        "SketchConvenienceTests.swift",
        "SlitScanTests.swift",
        "SlowMotionTests.swift",
        "SmallValueTests.swift",
        "SmoothLifeTests.swift",
        "SnapshotSupport.swift",
        "SnapshotTests.swift",
        "SoakTests.swift",
        "SourcePickTests.swift",
        "SpanningTreeTests.swift",
        "SpatialHashTests.swift",
        "SpatialIndexTests.swift",
        "SpatialVideoTests.swift",
        "SpectralEffectsTests.swift",
        "SpectrumTests.swift",
        "SpecularAntialiasTests.swift",
        "SpirolateralTests.swift",
        "StateAutomataTests.swift",
        "SteeringTests.swift",
        "StillFramesTests.swift",
        "StillRateTests.swift",
        "StraightSkeletonTests.swift",
        "StrandFieldTests.swift",
        "StringArtTests.swift",
        "StrokeDashTests.swift",
        "StrokeDynamicsTests.swift",
        "StrokeMediumTests.swift",
        "StrokeProfileTests.swift",
        "StrokeShapeTests.swift",
        "StylizedReflectionTests.swift",
        "StylusTests.swift",
        "SubdivisionSurfaceTests.swift",
        "SubframeExportTests.swift",
        "SummedAreaTests.swift",
        "SupervisorTests.swift",
        "SurfaceMapTests.swift",
        "SurfaceReconstructionTests.swift",
        "SurfaceSamplingTests.swift",
        "SwarmChemistryTests.swift",
        "SwarmTests.swift",
        "SwayTests.swift",
        "SweepTests.swift",
        "SymmetryTests.swift",
        "TAATests.swift",
        "TableTests.swift",
        "TakeTests.swift",
        "TapeAndLensTests.swift",
        "TempPathSupport.swift",
        "TempoTests.swift",
        "TenPrintTests.swift",
        "TensegrityTests.swift",
        "TessellationTests.swift",
        "TextDefaultStrokeTests.swift",
        "TextPlacementTests.swift",
        "TextureFilteringTests.swift",
        "TextureWrapTests.swift",
        "TexturedReflectionTests.swift",
        "ThinFilmTests.swift",
        "TilingTests.swift",
        "TimelineTests.swift",
        "TimerTests.swift",
        "ToneMapTests.swift",
        "TracedBudgetTests.swift",
        "TracedReuseTests.swift",
        "TracedShadowPassTests.swift",
        "TransformStackTests.swift",
        "TransparentOutputTests.swift",
        "TriplanarTests.swift",
        "TurtleTests.swift",
        "TypedTextTests.swift",
        "USDAnimationTests.swift",
        "USDParserTests.swift",
        "USDSkinningTests.swift",
        "USDXformTests.swift",
        "UlamSpiralTests.swift",
        "UndoKeyTests.swift",
        "UpscalingTests.swift",
        "UserSimTests.swift",
        "VariationTests.swift",
        "Vector2Tests.swift",
        "Vector3Tests.swift",
        "VectorProtocolTests.swift",
        "VelocityBufferTests.swift",
        "VerticalTextTests.swift",
        "VideoExportTests.swift",
        "ViewBoxTests.swift",
        "ViewControlTests.swift",
        "VisualCatalogTests.swift",
        "VisualTests.swift",
        "VolumeTests.swift",
        "VolumetricTests.swift",
        "VoxelBlocksTests.swift",
        "WalkTests.swift",
        "WatercolorSimTests.swift",
        "WatercolorTests.swift",
        "WeatherTests.swift",
        "WebAssetTests.swift",
        "WebControlTests.swift",
        "WebEffectsTests.swift",
        "WebExportTests.swift",
        "WebFieldTests.swift",
        "WebGateTests.swift",
        "WebSourceTests.swift",
        "WebStrokeMediumTests.swift",
        "WebTriangleTests.swift",
        "WidgetTimelineTests.swift",
        "WipesAndCopiesTests.swift",
        "WorldCloudTests.swift",
        "XDoGTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "COllinShaders",
        "OllinProjects",
        "OllinSceneImport",
        "OllinShaderText",
        "OllinWebGate",
        "OllinExpander",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinTestSupport",
      "module_type" : "SwiftTarget",
      "name" : "OllinTestSupport",
      "path" : "Tests/OllinTestSupport",
      "sources" : [
        "Record3DFrameBytes.swift",
        "WaitFor.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinSyphonTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinSyphonTests",
      "path" : "Tests/OllinSyphonTests",
      "sources" : [
        "SyphonLoopbackTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinSyphon",
        "CSyphon",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinSyphon",
      "module_type" : "SwiftTarget",
      "name" : "OllinSyphon",
      "path" : "Sources/OllinSyphon",
      "product_memberships" : [
        "OllinSyphon",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "SyphonClient.swift",
        "SyphonServer.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "CSyphon"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinShaderTextTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinShaderTextTests",
      "path" : "Tests/OllinShaderTextTests",
      "sources" : [
        "WebFragmentTranslatorTests.swift",
        "WebShaderLibraryTests.swift",
        "WebShaderTranslatorTests.swift"
      ],
      "target_dependencies" : [
        "OllinShaderText",
        "OllinWebGate"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinShaderText",
      "module_type" : "SwiftTarget",
      "name" : "OllinShaderText",
      "path" : "Sources/OllinShaderText",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinDocs",
        "OllinCheck"
      ],
      "sources" : [
        "ShaderScan.swift",
        "ShaderToken.swift",
        "WebFragmentTranslator.swift",
        "WebShaderCompat.swift",
        "WebShaderLibrary.swift",
        "WebShaderTranslator.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinSerialTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinSerialTests",
      "path" : "Tests/OllinSerialTests",
      "sources" : [
        "FirmataTests.swift",
        "Pseudoterminals.swift",
        "SerialLoopbackTests.swift",
        "SerialUnitTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinSerial",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinSerial",
      "module_type" : "SwiftTarget",
      "name" : "OllinSerial",
      "path" : "Sources/OllinSerial",
      "product_memberships" : [
        "OllinSerial",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "Firmata.swift",
        "LineAssembler.swift",
        "SerialDevice.swift",
        "SerialPort.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinScreenTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinScreenTests",
      "path" : "Tests/OllinScreenTests",
      "sources" : [
        "ScreenCaptureTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinScreen"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinScreen",
      "module_type" : "SwiftTarget",
      "name" : "OllinScreen",
      "path" : "Sources/OllinScreen",
      "product_memberships" : [
        "OllinScreen",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "ScreenCapture.swift",
        "ScreenSource.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinSceneImport",
      "module_type" : "SwiftTarget",
      "name" : "OllinSceneImport",
      "path" : "Sources/OllinSceneImport",
      "product_memberships" : [
        "OllinNew",
        "OllinGuideFigures"
      ],
      "sources" : [
        "SceneImport.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinProjects"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinSamplePhotosTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinSamplePhotosTests",
      "path" : "Tests/OllinSamplePhotosTests",
      "sources" : [
        "SamplePhotoTests.swift"
      ],
      "target_dependencies" : [
        "OllinSamplePhotos"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinSamplePhotos",
      "module_type" : "SwiftTarget",
      "name" : "OllinSamplePhotos",
      "path" : "Sources/OllinSamplePhotos",
      "product_memberships" : [
        "OllinSamplePhotos",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/alley.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/boats.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/breakfast.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/city.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/dance.mp4",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/dancer.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/desk.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/hands.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/handstand.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/headland.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/marigolds.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/page.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/portrait.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/profile.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/reaching.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/scarf.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/stone.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/street.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/talavera.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/textiles.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinSamplePhotos/Resources/wrestler.jpg",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "SampleClip.swift",
        "SamplePhoto.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinRuntimeTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinRuntimeTests",
      "path" : "Tests/OllinRuntimeTests",
      "sources" : [
        "CodeCompletionTests.swift",
        "FrameworkRebuiltTests.swift",
        "ParamWriteTests.swift",
        "PhoneProjectBuildTests.swift",
        "PhoneProjectTests.swift",
        "SketchCompileArgumentsTests.swift",
        "SketchTargetTests.swift",
        "SourceEditTests.swift",
        "SourceRegionsTests.swift",
        "SourceReorderTests.swift",
        "SwiftTokensTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRuntime"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinRuntime",
      "module_type" : "SwiftTarget",
      "name" : "OllinRuntime",
      "path" : "Sources/OllinRuntime",
      "product_memberships" : [
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "CodeCompleter.swift",
        "CompileDiagnostic.swift",
        "FileWatcher.swift",
        "ParamWrite.swift",
        "PhoneProject.swift",
        "ShapeDrag.swift",
        "SketchLoader.swift",
        "SketchSession.swift",
        "SketchTarget.swift",
        "SourceEdit.swift",
        "SourceRegions.swift",
        "SourceReorder.swift",
        "SwiftTokens.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "COllinSourceKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinRun",
      "module_type" : "SwiftTarget",
      "name" : "OllinRun",
      "path" : "Sources/OllinRun",
      "product_memberships" : [
        "OllinRun"
      ],
      "sources" : [
        "OllinRunMain.swift",
        "RunSelfTest.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRuntime",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinLink",
        "OllinSerial",
        "OllinMQTT",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinHaptics",
        "OllinBluetooth",
        "OllinSamplePhotos"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinRoomTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinRoomTests",
      "path" : "Tests/OllinRoomTests",
      "sources" : [
        "MemoryRoomTransport.swift",
        "RoomClockTests.swift",
        "RoomParameterTests.swift",
        "RoomSessionTests.swift",
        "RoomWireTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRoom"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinRoom",
      "module_type" : "SwiftTarget",
      "name" : "OllinRoom",
      "path" : "Sources/OllinRoom",
      "product_memberships" : [
        "OllinRoom",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "LocalNetworkTransport.swift",
        "Room.swift",
        "RoomClock.swift",
        "RoomSession.swift",
        "RoomTransport.swift",
        "RoomWire.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinRemoteTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinRemoteTests",
      "path" : "Tests/OllinRemoteTests",
      "sources" : [
        "RemoteWireTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRemote",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinRemote",
      "module_type" : "SwiftTarget",
      "name" : "OllinRemote",
      "path" : "Sources/OllinRemote",
      "product_memberships" : [
        "OllinRemote",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinRemote/Resources/surface.html",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "RemoteInspector.swift",
        "RemoteWire.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinReferenceTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinReferenceTests",
      "path" : "Tests/OllinReferenceTests",
      "sources" : [
        "APILookupTests.swift",
        "CommandFlagsTests.swift",
        "ExampleCatalogTests.swift",
        "HTMLTests.swift",
        "MarkdownTests.swift",
        "ReferenceCatalogTests.swift",
        "ReferenceSearchTests.swift",
        "SiteSearchTests.swift",
        "SiteTests.swift"
      ],
      "target_dependencies" : [
        "OllinReference",
        "OllinCommandFlags",
        "OllinWebGate"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinReference",
      "module_type" : "SwiftTarget",
      "name" : "OllinReference",
      "path" : "Sources/OllinReference",
      "product_memberships" : [
        "OllinDocs"
      ],
      "sources" : [
        "APIListing.swift",
        "APIUsage.swift",
        "ExampleCatalog.swift",
        "HTML.swift",
        "Markdown.swift",
        "PageQuery.swift",
        "ReferenceLibrary.swift",
        "ReferenceSearch.swift",
        "ShellCompletions.swift",
        "Site.swift",
        "SiteHero.swift",
        "SiteHome.swift",
        "SiteLogo.swift",
        "SiteMedia.swift",
        "SiteSearch.swift",
        "SiteStyle.swift",
        "SourceComments.swift"
      ],
      "target_dependencies" : [
        "OllinProjects",
        "OllinCommandFlags"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinRecord3DTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinRecord3DTests",
      "path" : "Tests/OllinRecord3DTests",
      "sources" : [
        "Record3DStreamTests.swift",
        "Record3DTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRecord3D",
        "OllinUSBMux",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinRecord3D",
      "module_type" : "SwiftTarget",
      "name" : "OllinRecord3D",
      "path" : "Sources/OllinRecord3D",
      "product_memberships" : [
        "OllinRecord3D",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "Record3DCamera.swift",
        "Record3DCodec.swift",
        "Record3DDevice.swift",
        "Record3DRecording.swift",
        "Record3DStream.swift",
        "ZIPArchive.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinUSBMux"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinProjectsTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinProjectsTests",
      "path" : "Tests/OllinProjectsTests",
      "sources" : [
        "AppProjectTests.swift",
        "ExampleAndNamingTests.swift",
        "ExtensionProjectTests.swift",
        "GeneratedProjectBuildTests.swift",
        "IOSAppProjectTests.swift",
        "OSCanvasProjectTests.swift",
        "PackageHostTests.swift",
        "ProjectGeneratorTests.swift",
        "SceneSourceTests.swift",
        "ScreenSaverProjectTests.swift",
        "ShaderImportTests.swift",
        "WidgetProjectTests.swift"
      ],
      "target_dependencies" : [
        "OllinProjects"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinProjects",
      "module_type" : "SwiftTarget",
      "name" : "OllinProjects",
      "path" : "Sources/OllinProjects",
      "product_memberships" : [
        "OllinProjectGenerator",
        "OllinNew",
        "OllinGuideFigures",
        "OllinDocs"
      ],
      "sources" : [
        "Capability.swift",
        "ExampleSource.swift",
        "ExtensionSeam.swift",
        "GLSL/GLSLCompat.swift",
        "GLSL/GLSLTranslator.swift",
        "GLSL/ImportedShaderSource.swift",
        "GLSL/ShaderImport.swift",
        "IOSAppSource.swift",
        "PackageHost.swift",
        "ProjectGenerator.swift",
        "ProjectKind.swift",
        "ProjectNaming.swift",
        "ProjectRequest.swift",
        "ProjectTemplate.swift",
        "Scene/ImportedScene.swift",
        "Scene/ImportedSceneSource.swift",
        "ThreeDRecipe.swift",
        "ThreeDSource.swift"
      ],
      "target_dependencies" : [
        "OllinShaderText"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinProjectGenerator",
      "module_type" : "SwiftTarget",
      "name" : "OllinProjectGenerator",
      "path" : "Sources/OllinProjectGenerator",
      "product_memberships" : [
        "OllinProjectGenerator"
      ],
      "sources" : [
        "GeneratorHarness.swift",
        "GeneratorView.swift",
        "OllinProjectGeneratorApp.swift",
        "SourceStage.swift",
        "ThreeDStrip.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRuntime",
        "OllinProjects",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinLink",
        "OllinSerial",
        "OllinMQTT",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinHaptics",
        "OllinBluetooth",
        "OllinSamplePhotos"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinPhysicsTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinPhysicsTests",
      "path" : "Tests/OllinPhysicsTests",
      "sources" : [
        "Buoyancy3DTests.swift",
        "Character3DTests.swift",
        "Collider3DTests.swift",
        "CollisionFilter3DTests.swift",
        "Contact3DTests.swift",
        "JointKind3DTests.swift",
        "JointMotor3DTests.swift",
        "Motion3DTests.swift",
        "PhysicsConvenienceTests.swift",
        "PhysicsInvariantTests.swift",
        "PhysicsSnapshotTests.swift",
        "PhysicsTests.swift",
        "PolygonColliderTests.swift",
        "Query3DTests.swift",
        "Ragdoll3DTests.swift",
        "RigidBody3DTests.swift",
        "RigidBodyTests.swift",
        "Rope3DTests.swift",
        "SkinnedCloth3DTests.swift",
        "SoftBody3DTests.swift",
        "SoftBodyTests.swift",
        "SolverNumberTests.swift",
        "Tensegrity3DTests.swift",
        "TrackedVehicle3DTests.swift",
        "UsdPhysicsTests.swift",
        "Vehicle3DTests.swift",
        "World3DLimitTests.swift",
        "WorldSlotTests.swift"
      ],
      "target_dependencies" : [
        "OllinPhysics",
        "CBox2D",
        "CJolt"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinPhysics",
      "module_type" : "SwiftTarget",
      "name" : "OllinPhysics",
      "path" : "Sources/OllinPhysics",
      "product_memberships" : [
        "OllinPhysics",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "Body.swift",
        "Body3D.swift",
        "CJoltInterop.swift",
        "Character3D.swift",
        "Colliding3D.swift",
        "CollisionGroup.swift",
        "Contact3D.swift",
        "Freedom3D.swift",
        "Joint.swift",
        "Joint3D.swift",
        "JointPath.swift",
        "Particle.swift",
        "PhysicsAsset.swift",
        "PhysicsError.swift",
        "PhysicsSnapshot.swift",
        "Query3D.swift",
        "Ragdoll3D.swift",
        "RagdollFit.swift",
        "Rope3D.swift",
        "Sketch+Physics3D.swift",
        "SoftBody.swift",
        "SoftBody3D.swift",
        "SolverNumber.swift",
        "Spring.swift",
        "Tensegrity3D.swift",
        "UsdPhysics.swift",
        "Vehicle3D.swift",
        "Water.swift",
        "World.swift",
        "World3D.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "CBox2D",
        "CJolt"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinPhoneTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinPhoneTests",
      "path" : "Tests/OllinPhoneTests",
      "sources" : [
        "PhoneBodyTests.swift",
        "PhoneFaceTests.swift",
        "PhoneFlowTests.swift",
        "PhoneHandTests.swift",
        "PhoneMarkerTests.swift",
        "PhonePictureRequestTests.swift",
        "PhonePictureRoundTripTests.swift",
        "PhonePlanesTests.swift",
        "PhonePointerTests.swift",
        "PhoneRequestTests.swift",
        "PhoneSaliencyTests.swift",
        "PhoneSceneMeshTests.swift",
        "PhoneSoundsTests.swift",
        "PhoneTextTests.swift",
        "PhoneTouchTests.swift",
        "PhoneWandTests.swift",
        "PhoneWireSupport.swift",
        "PhoneWireTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinPhone",
        "OllinUSBMux"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinPhone",
      "module_type" : "SwiftTarget",
      "name" : "OllinPhone",
      "path" : "Sources/OllinPhone",
      "product_memberships" : [
        "OllinPhone",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "PhoneAir.swift",
        "PhoneBody.swift",
        "PhoneDepth.swift",
        "PhoneDevice.swift",
        "PhoneFace.swift",
        "PhoneFlow.swift",
        "PhoneHand.swift",
        "PhoneLight.swift",
        "PhoneMarker.swift",
        "PhonePictureCoding.swift",
        "PhonePictureEncoder.swift",
        "PhonePictureSender.swift",
        "PhonePlanes.swift",
        "PhoneReferences.swift",
        "PhoneSaliency.swift",
        "PhoneSceneMesh.swift",
        "PhoneScreen.swift",
        "PhoneSegmentation.swift",
        "PhoneSounds.swift",
        "PhoneState.swift",
        "PhoneText.swift",
        "PhoneTouches.swift",
        "PhoneWand.swift",
        "PhoneWire.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinUSBMux"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinOSCTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinOSCTests",
      "path" : "Tests/OllinOSCTests",
      "sources" : [
        "OSCCodingTests.swift",
        "OSCLoopbackTests.swift",
        "OSCQueryTests.swift",
        "TUIOTests.swift"
      ],
      "target_dependencies" : [
        "OllinOSC",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinOSC",
      "module_type" : "SwiftTarget",
      "name" : "OllinOSC",
      "path" : "Sources/OllinOSC",
      "product_memberships" : [
        "OllinOSC",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "OSCArgument.swift",
        "OSCBundle.swift",
        "OSCCoding.swift",
        "OSCMessage.swift",
        "OSCQuery.swift",
        "OSCReceiver.swift",
        "OSCSender.swift",
        "OSCTimeTag.swift",
        "TUIO.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinNew",
      "module_type" : "SwiftTarget",
      "name" : "OllinNew",
      "path" : "Sources/OllinNew",
      "product_memberships" : [
        "OllinNew"
      ],
      "sources" : [
        "OllinNewCommand.swift",
        "ShaderSourceReader.swift"
      ],
      "target_dependencies" : [
        "OllinProjects",
        "OllinSceneImport"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinMutationTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinMutationTests",
      "path" : "Tests/OllinMutationTests",
      "sources" : [
        "CableMutationTests.swift",
        "ColorFileMutationTests.swift",
        "DMXMutationTests.swift",
        "DataFileMutationTests.swift",
        "DeepInputTests.swift",
        "FileMutationSupport.swift",
        "LinkMutationTests.swift",
        "MIDIMutationTests.swift",
        "MQTTMutationTests.swift",
        "ModelFileMutationTests.swift",
        "ModelSeeds.swift",
        "MusicAndShapeFileMutationTests.swift",
        "MutationHarnessTests.swift",
        "OSCMutationTests.swift",
        "PhoneMutationTests.swift",
        "PhysicsSnapshotMutationTests.swift",
        "Record3DMutationTests.swift",
        "RecordingAndSoundFileMutationTests.swift",
        "RemoteMutationTests.swift",
        "RoomMutationTests.swift",
        "ShaderTextMutationTests.swift",
        "TimelineFileMutationTests.swift"
      ],
      "target_dependencies" : [
        "OllinMutation",
        "Ollin",
        "OllinOSC",
        "OllinMQTT",
        "OllinLink",
        "OllinPhone",
        "OllinRoom",
        "OllinRemote",
        "OllinMIDI",
        "OllinDMX",
        "OllinRecord3D",
        "OllinUSBMux",
        "OllinSerial",
        "OllinBluetooth",
        "OllinAudio",
        "OllinPhysics",
        "OllinProjects",
        "OllinShaderText",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinMutation",
      "module_type" : "SwiftTarget",
      "name" : "OllinMutation",
      "path" : "Tests/OllinMutation",
      "sources" : [
        "Mutation.swift"
      ],
      "target_dependencies" : [
        "COllinAllocationWatch"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinMQTTTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinMQTTTests",
      "path" : "Tests/OllinMQTTTests",
      "sources" : [
        "MQTTSessionTests.swift",
        "MQTTStubBroker.swift",
        "MQTTWireTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinMQTT",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinMQTT",
      "module_type" : "SwiftTarget",
      "name" : "OllinMQTT",
      "path" : "Sources/OllinMQTT",
      "product_memberships" : [
        "OllinMQTT",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "MQTTClient.swift",
        "MQTTMessage.swift",
        "MQTTWire.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinMIDITests",
      "module_type" : "SwiftTarget",
      "name" : "OllinMIDITests",
      "path" : "Tests/OllinMIDITests",
      "sources" : [
        "MIDIExpressionTests.swift",
        "MIDILoopbackTests.swift",
        "MIDIMessageTests.swift",
        "TempoClockTests.swift",
        "TimecodeTests.swift"
      ],
      "target_dependencies" : [
        "OllinMIDI",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinMIDI",
      "module_type" : "SwiftTarget",
      "name" : "OllinMIDI",
      "path" : "Sources/OllinMIDI",
      "product_memberships" : [
        "OllinMIDI",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "Expression.swift",
        "MIDIEndpoint.swift",
        "MIDIInput.swift",
        "MIDIMessage.swift",
        "MIDIOutput.swift",
        "TempoClock.swift",
        "TimecodeClock.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinLiveCoding",
      "module_type" : "SwiftTarget",
      "name" : "OllinLiveCoding",
      "path" : "Sources/OllinLiveCoding",
      "product_memberships" : [
        "OllinLiveCoding"
      ],
      "sources" : [
        "CodeCompletion.swift",
        "CodeEditorView.swift",
        "ControlTest.swift",
        "ControlsCardView.swift",
        "DiagnosticsStrip.swift",
        "DragTest.swift",
        "EditorController.swift",
        "HeadlessStage.swift",
        "LiveCodingApp.swift",
        "LiveCodingRootView.swift",
        "PerformanceControls.swift",
        "PerformanceSession.swift",
        "SelfTest.swift",
        "SessionTest.swift",
        "SwiftHighlighter.swift",
        "Template.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRuntime",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinLink",
        "OllinSerial",
        "OllinMQTT",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinHaptics",
        "OllinBluetooth",
        "OllinSamplePhotos"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinLive",
      "module_type" : "SwiftTarget",
      "name" : "OllinLive",
      "path" : "Sources/OllinLive",
      "product_memberships" : [
        "OllinLive"
      ],
      "sources" : [
        "DragTest.swift",
        "InspectorPanel.swift",
        "InspectorTest.swift",
        "LiveAppDelegate.swift",
        "LiveRootView.swift",
        "LiveSession.swift",
        "OllinLiveApp.swift",
        "ParamTest.swift",
        "SaveTest.swift",
        "SelfTest.swift",
        "WatchTest.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRuntime",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinLink",
        "OllinSerial",
        "OllinMQTT",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinHaptics",
        "OllinBluetooth",
        "OllinSamplePhotos"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinLinkTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinLinkTests",
      "path" : "Tests/OllinLinkTests",
      "sources" : [
        "LinkEngineTests.swift",
        "LinkLoopbackTests.swift",
        "LinkTimeTests.swift",
        "LinkWireTests.swift"
      ],
      "target_dependencies" : [
        "OllinLink",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinLink",
      "module_type" : "SwiftTarget",
      "name" : "OllinLink",
      "path" : "Sources/OllinLink",
      "product_memberships" : [
        "OllinLink",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "LinkClock.swift",
        "LinkEngine.swift",
        "LinkGateway.swift",
        "LinkTime.swift",
        "LinkWire.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinLaserTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinLaserTests",
      "path" : "Tests/OllinLaserTests",
      "sources" : [
        "EtherDreamLoopbackTests.swift",
        "LaserOptimizerTests.swift",
        "LaserSafetyTests.swift",
        "LaserWireTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinLaser",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinLaser",
      "module_type" : "SwiftTarget",
      "name" : "OllinLaser",
      "path" : "Sources/OllinLaser",
      "product_memberships" : [
        "OllinLaser",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "EtherDreamDAC.swift",
        "EtherDreamWire.swift",
        "ILDAFile.swift",
        "LaserFrame.swift",
        "LaserOptimizer.swift",
        "LaserProjector.swift",
        "LaserSafety.swift",
        "LaserStream.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinHapticsTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinHapticsTests",
      "path" : "Tests/OllinHapticsTests",
      "sources" : [
        "HapticOutputTests.swift",
        "HapticPatternTests.swift",
        "TrackpadPlanTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinHaptics"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinHaptics",
      "module_type" : "SwiftTarget",
      "name" : "OllinHaptics",
      "path" : "Sources/OllinHaptics",
      "product_memberships" : [
        "OllinHaptics",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "DeviceHaptics.swift",
        "HapticEvent.swift",
        "HapticHub.swift",
        "HapticPattern.swift",
        "Sketch+Haptics.swift",
        "TrackpadPlan.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinGuideSnippets",
      "module_type" : "SwiftTarget",
      "name" : "OllinGuideSnippets",
      "path" : "Sources/OllinGuideSnippets",
      "product_memberships" : [
        "OllinGuideSnippets"
      ],
      "sources" : [
        "Names.swift",
        "Snippets.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRuntime",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinLink",
        "OllinSerial",
        "OllinMQTT",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinHaptics",
        "OllinBluetooth",
        "OllinSamplePhotos"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinGuideFigures",
      "module_type" : "SwiftTarget",
      "name" : "OllinGuideFigures",
      "path" : "Sources/OllinGuideFigures",
      "product_memberships" : [
        "OllinGuideFigures"
      ],
      "sources" : [
        "GuideFigures.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRuntime",
        "OllinDiagram",
        "OllinProjects",
        "OllinSceneImport",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinLink",
        "OllinSerial",
        "OllinMQTT",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinHaptics",
        "OllinBluetooth",
        "OllinSamplePhotos"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinExpander",
      "module_type" : "SwiftTarget",
      "name" : "OllinExpander",
      "path" : "Sources/OllinExpander",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinCheck"
      ],
      "sources" : [
        "FillExpander.swift",
        "Point2D.swift",
        "RibbonFrame.swift",
        "StrokeExpander.swift",
        "WebSourceRecords.swift"
      ],
      "target_dependencies" : [
        "CLibtess2"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinExamples",
      "module_type" : "SwiftTarget",
      "name" : "OllinExamples",
      "path" : "Sources/OllinExamples",
      "product_memberships" : [
        "OllinExamples"
      ],
      "sources" : [
        "CrashReporter.swift",
        "ExampleCatalog.swift",
        "ExamplesAppDelegate.swift",
        "GalleryHarness.swift",
        "GalleryView.swift",
        "OllinExamplesApp.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinRuntime",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinLink",
        "OllinSerial",
        "OllinMQTT",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinHaptics",
        "OllinBluetooth",
        "OllinSamplePhotos"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinDoctor",
      "module_type" : "SwiftTarget",
      "name" : "OllinDoctor",
      "path" : "Sources/OllinDoctor",
      "product_memberships" : [
        "OllinDoctor"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinDocs",
      "module_type" : "SwiftTarget",
      "name" : "OllinDocs",
      "path" : "Sources/OllinDocs",
      "product_memberships" : [
        "OllinDocs"
      ],
      "sources" : [
        "OllinDocsCommand.swift"
      ],
      "target_dependencies" : [
        "OllinReference",
        "OllinCommandFlags"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinDiagram",
      "module_type" : "SwiftTarget",
      "name" : "OllinDiagram",
      "path" : "Sources/OllinDiagram",
      "product_memberships" : [
        "OllinGuideFigures"
      ],
      "sources" : [
        "DiagramTheme.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinDMXTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinDMXTests",
      "path" : "Tests/OllinDMXTests",
      "sources" : [
        "DMXLoopbackTests.swift",
        "DMXReceiverTests.swift",
        "DMXWireTests.swift",
        "LEDMapTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinDMX",
        "OllinTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinDMX",
      "module_type" : "SwiftTarget",
      "name" : "OllinDMX",
      "path" : "Sources/OllinDMX",
      "product_memberships" : [
        "OllinDMX",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "ArtNetPacket.swift",
        "DMXFixture.swift",
        "DMXPacer.swift",
        "DMXProtocol.swift",
        "DMXReceiver.swift",
        "DMXSender.swift",
        "DMXUniverse.swift",
        "LEDMap.swift",
        "SACNPacket.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinControllerTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinControllerTests",
      "path" : "Tests/OllinControllerTests",
      "sources" : [
        "ControllerTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinController"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinController",
      "module_type" : "SwiftTarget",
      "name" : "OllinController",
      "path" : "Sources/OllinController",
      "product_memberships" : [
        "OllinController",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "Controller.swift",
        "ControllerButton.swift",
        "ControllerHub.swift",
        "Sketch+Controller.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinCommandFlags",
      "module_type" : "SwiftTarget",
      "name" : "OllinCommandFlags",
      "path" : "Sources/OllinCommandFlags",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinDocs",
        "OllinCheck"
      ],
      "sources" : [
        "CommandFlags.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinCheck",
      "module_type" : "SwiftTarget",
      "name" : "OllinCheck",
      "path" : "Sources/OllinCheck",
      "product_memberships" : [
        "OllinCheck"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OllinCameraTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinCameraTests",
      "path" : "Tests/OllinCameraTests",
      "sources" : [
        "VirtualCameraTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinCamera"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinCamera",
      "module_type" : "SwiftTarget",
      "name" : "OllinCamera",
      "path" : "Sources/OllinCamera",
      "product_memberships" : [
        "OllinCamera",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "FrameConverter.swift",
        "SinkConnection.swift",
        "VirtualCameraServer.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinBluetoothTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinBluetoothTests",
      "path" : "Tests/OllinBluetoothTests",
      "sources" : [
        "BluetoothDeviceTests.swift",
        "BluetoothScanTests.swift",
        "BluetoothValueTests.swift",
        "FakeRadio.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinBluetooth"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinBluetooth",
      "module_type" : "SwiftTarget",
      "name" : "OllinBluetooth",
      "path" : "Sources/OllinBluetooth",
      "product_memberships" : [
        "OllinBluetooth",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "BluetoothBackend.swift",
        "BluetoothCatalog.swift",
        "BluetoothDevice.swift",
        "BluetoothScan.swift",
        "BluetoothUUID.swift",
        "CoreBluetoothBackend.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "OllinAudioTests",
      "module_type" : "SwiftTarget",
      "name" : "OllinAudioTests",
      "path" : "Tests/OllinAudioTests",
      "sources" : [
        "AudioAnalyzerTests.swift",
        "AudioPlayerTests.swift",
        "AudioTapRelayTests.swift",
        "CompositionAudition.swift",
        "CompositionTests.swift",
        "ConvolutionAudition.swift",
        "ConvolutionTests.swift",
        "CustomEffectTests.swift",
        "DrivenModelAudition.swift",
        "DrivenModelTests.swift",
        "DynamicsAudition.swift",
        "DynamicsTests.swift",
        "EffectChainAudition.swift",
        "EffectChainTests.swift",
        "GrainCloudAudition.swift",
        "GrainCloudTests.swift",
        "ListeningTests.swift",
        "MIDIFileTests.swift",
        "ModalBodyTests.swift",
        "ModulationAudition.swift",
        "ModulationTests.swift",
        "PatchAudition.swift",
        "PatchTests.swift",
        "PhysicalModelAudition.swift",
        "PitchTests.swift",
        "PluckedStringTests.swift",
        "ProgressionAudition.swift",
        "ProgressionTests.swift",
        "SamplerAudition.swift",
        "SamplerTests.swift",
        "SequencerTests.swift",
        "SonificationAudition.swift",
        "SonificationTests.swift",
        "SoundExportTests.swift",
        "SoundInvariantTests.swift",
        "SoundtrackTests.swift",
        "SpatialAudition.swift",
        "SpatialExportTests.swift",
        "SpectralAudition.swift",
        "SpectralTests.swift",
        "SynthAudition.swift",
        "SynthExpressionTests.swift",
        "SynthTests.swift",
        "TransportMuteTests.swift",
        "WavetableAudition.swift",
        "WavetableTests.swift"
      ],
      "target_dependencies" : [
        "Ollin",
        "OllinAudio"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OllinAudio",
      "module_type" : "SwiftTarget",
      "name" : "OllinAudio",
      "path" : "Sources/OllinAudio",
      "product_memberships" : [
        "OllinAudio",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/OllinAudio/Resources/Struck",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "AudioAnalyzer.swift",
        "AudioFileFrames.swift",
        "AudioInput.swift",
        "AudioPlayer.swift",
        "AudioSource.swift",
        "Composition/Arpeggiator.swift",
        "Composition/Arpeggio.swift",
        "Composition/BeatFollower.swift",
        "Composition/Chord.swift",
        "Composition/ChordSymbol.swift",
        "Composition/CompositionRandom.swift",
        "Composition/MIDIFile.swift",
        "Composition/MIDIFileReader.swift",
        "Composition/MIDIRecording.swift",
        "Composition/Note.swift",
        "Composition/Progression.swift",
        "Composition/Rhythm.swift",
        "Composition/Scale.swift",
        "Composition/ScheduledNote.swift",
        "Composition/Sonification.swift",
        "Composition/StepCounter.swift",
        "Composition/StepSequencer.swift",
        "Composition/Tuning.swift",
        "Listening/AudioTapHub.swift",
        "Listening/ListeningStatus.swift",
        "Listening/SoundClassifier.swift",
        "Listening/SpeechListener.swift",
        "PitchDetection.swift",
        "Soundtrack.swift",
        "Synthesis/Convolution.swift",
        "Synthesis/CustomEffect.swift",
        "Synthesis/DrivenModels.swift",
        "Synthesis/DrivenVoice.swift",
        "Synthesis/Dynamics.swift",
        "Synthesis/Effect.swift",
        "Synthesis/Envelope.swift",
        "Synthesis/GrainCloud.swift",
        "Synthesis/GrainVoice.swift",
        "Synthesis/ModalBody.swift",
        "Synthesis/ModalShape.swift",
        "Synthesis/ModalVoice.swift",
        "Synthesis/Modulation.swift",
        "Synthesis/PartitionedConvolver.swift",
        "Synthesis/Patch.swift",
        "Synthesis/PatchVoice.swift",
        "Synthesis/PhaseVocoder.swift",
        "Synthesis/Pitch.swift",
        "Synthesis/PluckedString.swift",
        "Synthesis/ResonantFilter.swift",
        "Synthesis/SFZ.swift",
        "Synthesis/SampledInstrument.swift",
        "Synthesis/SamplerVoice.swift",
        "Synthesis/Spatial.swift",
        "Synthesis/Spectral.swift",
        "Synthesis/StringVoice.swift",
        "Synthesis/Synth.swift",
        "Synthesis/SynthEvent.swift",
        "Synthesis/SynthExport.swift",
        "Synthesis/SynthRenderer.swift",
        "Synthesis/Voice.swift",
        "Synthesis/Waveform.swift",
        "Synthesis/Wavetable.swift",
        "Synthesis/WavetableVoice.swift",
        "Tone.swift"
      ],
      "target_dependencies" : [
        "Ollin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Ollin",
      "module_type" : "SwiftTarget",
      "name" : "Ollin",
      "path" : "Sources/Ollin",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinCheck"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/OllinShaderLib.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/OllinShaderTypes.h",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/Shader3D.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderCaustics.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderCombinator.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderCombine.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderCore.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderEffects.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderFills.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderFlare.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderFourier.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderGI.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderIBL.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderOcean.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderPathTrace.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderPatterns.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderRadiance.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderRaymarch.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderShapes.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderSim.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderStrands.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderStrokes.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Renderer/ShaderVolume.metal",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/Cozette-LICENSE.txt",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/Environments",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/Hershey-NOTICE.txt",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/LTC",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/Looks",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/Matcaps",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/WebExpander.json",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/WebExpander.wasm",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/cozette.bdf",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Resources/futural.jhf",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "3D/ApertureStar.swift",
        "3D/Camera3D.swift",
        "3D/CameraIntrinsics.swift",
        "3D/CameraMove.swift",
        "3D/CameraRig.swift",
        "3D/CloudRegistration.swift",
        "3D/Curve3D.swift",
        "3D/Decal.swift",
        "3D/Environment.swift",
        "3D/EnvironmentCache.swift",
        "3D/EnvironmentFeed.swift",
        "3D/Fog.swift",
        "3D/IESProfile.swift",
        "3D/LensFlare.swift",
        "3D/Light.swift",
        "3D/LightCookie.swift",
        "3D/LightingPreset.swift",
        "3D/LineDrawing.swift",
        "3D/Matcap.swift",
        "3D/Material.swift",
        "3D/MaterialSource.swift",
        "3D/Medium.swift",
        "3D/Mesh.swift",
        "3D/MeshBoolean.swift",
        "3D/MeshColoring.swift",
        "3D/MeshDisplacement.swift",
        "3D/MeshExport.swift",
        "3D/MeshField.swift",
        "3D/MeshInstance.swift",
        "3D/MeshJoin.swift",
        "3D/MeshLoader.swift",
        "3D/MeshLoaderGLTF.swift",
        "3D/MeshMaterial.swift",
        "3D/MeshPrintCheck.swift",
        "3D/MeshSweep.swift",
        "3D/MeshTangents.swift",
        "3D/MeshText.swift",
        "3D/MeshWeld.swift",
        "3D/MetricDepthMap.swift",
        "3D/Ocean.swift",
        "3D/PointCloud.swift",
        "3D/PoseGraph.swift",
        "3D/RGBDFrame.swift",
        "3D/ScanGraph.swift",
        "3D/Scene.swift",
        "3D/SceneAnimation.swift",
        "3D/SceneExport.swift",
        "3D/SceneLoaderUSD.swift",
        "3D/SceneLoaderUSDAnimation.swift",
        "3D/SceneLoaderUSDLights.swift",
        "3D/SceneLoaderUSDPhysics.swift",
        "3D/SceneLoaderUSDSkinning.swift",
        "3D/ScenePlacement.swift",
        "3D/SceneSkeleton.swift",
        "3D/SceneSkinning.swift",
        "3D/SceneWriterUSD.swift",
        "3D/SkySun.swift",
        "3D/Stereo.swift",
        "3D/StrandField.swift",
        "3D/USD/USDCrateReader.swift",
        "3D/USD/USDCrateSupport.swift",
        "3D/USD/USDFile.swift",
        "3D/USD/USDTextParser.swift",
        "3D/USD/USDTypes.swift",
        "3D/USD/USDXform.swift",
        "3D/USD/USDZipArchive.swift",
        "3D/Volume.swift",
        "3D/WorldCloud.swift",
        "3D/ZipWriter.swift",
        "Color/Color.swift",
        "Color/ColorDistance.swift",
        "Color/ColorLUT.swift",
        "Color/ColorMatrix.swift",
        "Color/ColorOutput.swift",
        "Color/ColorSpaces.swift",
        "Color/ColorVision.swift",
        "Color/Colormap.swift",
        "Color/CosinePalette.swift",
        "Color/Dither.swift",
        "Color/ICCProfile.swift",
        "Color/Ink.swift",
        "Color/Paint.swift",
        "Color/Palette.swift",
        "Color/PaletteExtract.swift",
        "Color/PaletteImport.swift",
        "Color/PrintSeparation.swift",
        "Color/ProcessSeparation.swift",
        "Color/Ramp.swift",
        "Color/Shades.swift",
        "Color/SoftProof.swift",
        "Color/Spectrum.swift",
        "Compute/AttractorFlow.swift",
        "Compute/ComputeBuffer.swift",
        "Compute/ComputeKernel.swift",
        "Compute/ComputeTexture.swift",
        "Compute/ComputeTexture3D.swift",
        "Compute/Evolution.swift",
        "Compute/PPS.swift",
        "Compute/ParticleFluid.swift",
        "Compute/ParticleLenia.swift",
        "Compute/ParticleLife.swift",
        "Compute/Particles.swift",
        "Compute/Physarum.swift",
        "Compute/Simulation.swift",
        "Compute/SoftBodies.swift",
        "Compute/SpatialHash.swift",
        "Compute/Swarm.swift",
        "Compute/SwarmChemistry.swift",
        "Core/Accessibility.swift",
        "Core/AudioTapSource.swift",
        "Core/Automation.swift",
        "Core/CanvasSize.swift",
        "Core/CaptureAudioSource.swift",
        "Core/Checkpoint.swift",
        "Core/ClipPlayback.swift",
        "Core/CommandLineHelp.swift",
        "Core/Cues.swift",
        "Core/Displays.swift",
        "Core/Doctor.swift",
        "Core/Drawer+Brush.swift",
        "Core/Drawer+FeatureEdges.swift",
        "Core/Drawer+FillMedium.swift",
        "Core/Drawer+Images.swift",
        "Core/Drawer+Lines3D.swift",
        "Core/Drawer+Primitives.swift",
        "Core/Drawer+Tessellation.swift",
        "Core/Drawer+Text.swift",
        "Core/Drawer+Volume.swift",
        "Core/Drawer.swift",
        "Core/ExportAudioSource.swift",
        "Core/Exports.swift",
        "Core/FileError.swift",
        "Core/FrameProfile.swift",
        "Core/FrameRate.swift",
        "Core/FrameSource.swift",
        "Core/Held.swift",
        "Core/HeldObjects.swift",
        "Core/Installation.swift",
        "Core/InstallationLog.swift",
        "Core/Keyboard.swift",
        "Core/MenuBar.swift",
        "Core/MotionField.swift",
        "Core/PaperSize.swift",
        "Core/ParamListing.swift",
        "Core/ParamOverride.swift",
        "Core/Projection.swift",
        "Core/ProjectionCalibration.swift",
        "Core/Resources.swift",
        "Core/RunCarry.swift",
        "Core/Saved.swift",
        "Core/Schedule.swift",
        "Core/ScreenSaver.swift",
        "Core/Sketch.swift",
        "Core/SketchAppUIKit.swift",
        "Core/SketchCanvasUIKit.swift",
        "Core/SketchDescription.swift",
        "Core/SketchExtension.swift",
        "Core/SketchHost.swift",
        "Core/SketchView.swift",
        "Core/SoundClassification.swift",
        "Core/StatusText.swift",
        "Core/StillFrames.swift",
        "Core/Stylus.swift",
        "Core/Take.swift",
        "Core/TypedText.swift",
        "Core/Version.swift",
        "Core/VideoFeed.swift",
        "Core/View2D.swift",
        "Core/Wallpaper.swift",
        "Core/Widget.swift",
        "Data/DataFeed.swift",
        "Data/JSON.swift",
        "Data/NamedFile.swift",
        "Data/Place.swift",
        "Data/PushFeed.swift",
        "Data/PushTransport.swift",
        "Data/Table.swift",
        "Data/Weather.swift",
        "Deprecations.swift",
        "Drawing/ArcMode.swift",
        "Drawing/Batch.swift",
        "Drawing/BlendMode.swift",
        "Drawing/Brush.swift",
        "Drawing/FillMedium.swift",
        "Drawing/ImageSampling.swift",
        "Drawing/PathTracing.swift",
        "Drawing/PointMarker.swift",
        "Drawing/RenderQuality.swift",
        "Drawing/SDF.swift",
        "Drawing/SDF3D.swift",
        "Drawing/StrokeAlign.swift",
        "Drawing/StrokeCap.swift",
        "Drawing/StrokeDash.swift",
        "Drawing/StrokeDynamics.swift",
        "Drawing/StrokeJoin.swift",
        "Drawing/StrokeMark.swift",
        "Drawing/StrokeMedium.swift",
        "Drawing/StrokeProfile.swift",
        "Drawing/StrokeUnits.swift",
        "Drawing/ToneMap.swift",
        "Effects/Accumulator.swift",
        "Effects/Combine.swift",
        "Effects/Compose.swift",
        "Effects/Copies.swift",
        "Effects/DiffusionCurve.swift",
        "Effects/EffectPass.swift",
        "Effects/Feedback.swift",
        "Effects/Filter.swift",
        "Effects/FoilTable.swift",
        "Effects/Generator.swift",
        "Effects/LineSpray.swift",
        "Effects/RenderTarget.swift",
        "Effects/Shader.swift",
        "Effects/ShaderCheck.swift",
        "Effects/Sim.swift",
        "Effects/SimField.swift",
        "Effects/TextureTable.swift",
        "Effects/Visual.swift",
        "Effects/WatercolorSim.swift",
        "Effects/Wipe.swift",
        "Export/CaptureSource.swift",
        "Export/ContactSheet.swift",
        "Export/DXFExport.swift",
        "Export/EXRExport.swift",
        "Export/EmbroideryExport.swift",
        "Export/ExportError.swift",
        "Export/ExportMetadata.swift",
        "Export/FrameBytes.swift",
        "Export/FrameCopy.swift",
        "Export/FrameMemory.swift",
        "Export/GCodeExport.swift",
        "Export/GIFWriter.swift",
        "Export/GainMapExport.swift",
        "Export/PDFExport.swift",
        "Export/ProcessSeparationExport.swift",
        "Export/SVGExport.swift",
        "Export/SVGHatching.swift",
        "Export/SeparationExport.swift",
        "Export/SessionRecorder.swift",
        "Export/SlowMotion.swift",
        "Export/SpatialExport.swift",
        "Export/SpatialVideoExport.swift",
        "Export/Subframes.swift",
        "Export/VideoExport.swift",
        "Export/WebAssets.swift",
        "Export/WebControls.swift",
        "Export/WebExport.swift",
        "Export/WebFormula.swift",
        "Export/WebGraph.swift",
        "Export/WebLookup.swift",
        "Export/WebSources.swift",
        "Export/WebTrack.swift",
        "Geometry/Anamorphosis.swift",
        "Geometry/AntColony.swift",
        "Geometry/Apollonian.swift",
        "Geometry/Arc.swift",
        "Geometry/Attractors.swift",
        "Geometry/Bifurcation.swift",
        "Geometry/Billiard.swift",
        "Geometry/BlueNoiseThinning.swift",
        "Geometry/Boids.swift",
        "Geometry/CellularAutomata.swift",
        "Geometry/Chromatography.swift",
        "Geometry/Circle.swift",
        "Geometry/ClassicCurves.swift",
        "Geometry/Clothoid.swift",
        "Geometry/ConcaveHull.swift",
        "Geometry/ContourBending.swift",
        "Geometry/ContourQueries.swift",
        "Geometry/ConvexHull.swift",
        "Geometry/CoonsPatch.swift",
        "Geometry/CornerRadii.swift",
        "Geometry/CrackGrowth.swift",
        "Geometry/Crackle.swift",
        "Geometry/Crease.swift",
        "Geometry/CreasePattern.swift",
        "Geometry/Crowd.swift",
        "Geometry/DielectricBreakdown.swift",
        "Geometry/DifferentialGrowth.swift",
        "Geometry/DiffusionLimitedAggregation.swift",
        "Geometry/DoublePendulum.swift",
        "Geometry/Drainage.swift",
        "Geometry/DualContouring.swift",
        "Geometry/Ellipse.swift",
        "Geometry/Envelope.swift",
        "Geometry/Epicycles.swift",
        "Geometry/FacetField.swift",
        "Geometry/Fit.swift",
        "Geometry/FlowField.swift",
        "Geometry/ForceLayout.swift",
        "Geometry/FordCircles.swift",
        "Geometry/Fracture.swift",
        "Geometry/Fracture3D.swift",
        "Geometry/Frost.swift",
        "Geometry/GestureMark.swift",
        "Geometry/Girih.swift",
        "Geometry/Grid.swift",
        "Geometry/Guilloche.swift",
        "Geometry/Harmonograph.swift",
        "Geometry/Heightfield.swift",
        "Geometry/HexGrid.swift",
        "Geometry/HilbertOrder.swift",
        "Geometry/Hitomezashi.swift",
        "Geometry/HobbySpline.swift",
        "Geometry/Homography.swift",
        "Geometry/HopfFibration.swift",
        "Geometry/HyperbolicTiling.swift",
        "Geometry/IFS.swift",
        "Geometry/IKChain.swift",
        "Geometry/Ikat.swift",
        "Geometry/InversionFractal.swift",
        "Geometry/Isolines.swift",
        "Geometry/Isosurface.swift",
        "Geometry/Kleinian.swift",
        "Geometry/Knotwork.swift",
        "Geometry/Kolam.swift",
        "Geometry/Kuramoto.swift",
        "Geometry/LSystem.swift",
        "Geometry/LSystemExpression.swift",
        "Geometry/LineSegment.swift",
        "Geometry/Marbling.swift",
        "Geometry/Maze.swift",
        "Geometry/Meander.swift",
        "Geometry/MedialAxis.swift",
        "Geometry/MeshGrowth.swift",
        "Geometry/MeshOperators.swift",
        "Geometry/MeshReactionDiffusion.swift",
        "Geometry/Metaballs.swift",
        "Geometry/MobiusMap.swift",
        "Geometry/NBody.swift",
        "Geometry/OverlappingWFC.swift",
        "Geometry/Packing.swift",
        "Geometry/ParametricLSystem.swift",
        "Geometry/ParametricLSystemParsing.swift",
        "Geometry/ParametricLSystemPresets.swift",
        "Geometry/ParametricLSystemTurtle.swift",
        "Geometry/ParquetDeformation.swift",
        "Geometry/ParticleSurface.swift",
        "Geometry/Path.swift",
        "Geometry/Patina.swift",
        "Geometry/Penrose.swift",
        "Geometry/Percolation.swift",
        "Geometry/PlaneCurve.swift",
        "Geometry/PointGrid3.swift",
        "Geometry/PoissonDisk.swift",
        "Geometry/Polyomino.swift",
        "Geometry/Population.swift",
        "Geometry/PowerDiagram.swift",
        "Geometry/Pursuit.swift",
        "Geometry/RadialBasis.swift",
        "Geometry/Rectangle.swift",
        "Geometry/RectanglePacking.swift",
        "Geometry/Regions.swift",
        "Geometry/SDFOutline.swift",
        "Geometry/SVGImport.swift",
        "Geometry/Sampling.swift",
        "Geometry/Schottky.swift",
        "Geometry/ShadowArt.swift",
        "Geometry/Shape.swift",
        "Geometry/ShapeBoolean.swift",
        "Geometry/ShapeCuts.swift",
        "Geometry/ShapeGrammar.swift",
        "Geometry/ShapeMemory.swift",
        "Geometry/ShapeMorph.swift",
        "Geometry/ShapeSampling.swift",
        "Geometry/ShapeTriangulator.swift",
        "Geometry/SingleLine.swift",
        "Geometry/SpaceColonization.swift",
        "Geometry/SpanningTree.swift",
        "Geometry/SpatialIndex.swift",
        "Geometry/SpatialKDTree.swift",
        "Geometry/Spectre.swift",
        "Geometry/Spirolateral.swift",
        "Geometry/Steering.swift",
        "Geometry/Stipple.swift",
        "Geometry/StraightSkeleton.swift",
        "Geometry/StringArt.swift",
        "Geometry/Subdivision.swift",
        "Geometry/SubdivisionSurface.swift",
        "Geometry/SurfaceReconstruction.swift",
        "Geometry/SurfaceSampling.swift",
        "Geometry/TenPrint.swift",
        "Geometry/Tensegrity.swift",
        "Geometry/Terrazzo.swift",
        "Geometry/Tessellation.swift",
        "Geometry/TriangleGrid.swift",
        "Geometry/Truchet.swift",
        "Geometry/Turmite.swift",
        "Geometry/Turtle.swift",
        "Geometry/UlamSpiral.swift",
        "Geometry/Walks.swift",
        "Geometry/WangTiles.swift",
        "Geometry/Watercolor.swift",
        "Geometry/WaveFunctionCollapse.swift",
        "Geometry/WoodGrain.swift",
        "Image/Autostereogram.swift",
        "Image/Buddhabrot.swift",
        "Image/FractalFlame.swift",
        "Image/Halftone.swift",
        "Image/Histogram.swift",
        "Image/Image.swift",
        "Image/ImageResize.swift",
        "Image/PhotoMosaic.swift",
        "Image/PixelSort.swift",
        "Image/SeamCarve.swift",
        "Image/SegmentationImages.swift",
        "Image/SlitScan.swift",
        "Live/AxisWidget.swift",
        "Live/CameraOrientationState.swift",
        "Live/CuesCard.swift",
        "Live/DisplayWall.swift",
        "Live/FrameStats.swift",
        "Live/HTTPRequestHead.swift",
        "Live/Inspector.swift",
        "Live/InstallationHost.swift",
        "Live/Param.swift",
        "Live/ParamNumberField.swift",
        "Live/ProjectionCalibrator.swift",
        "Live/SourcePick.swift",
        "Live/StatsPanel.swift",
        "Live/Supervisor.swift",
        "Live/TimelineModel.swift",
        "Live/TimelinePanel.swift",
        "Live/VariationCard.swift",
        "Live/WindowChrome.swift",
        "Math/Box3.swift",
        "Math/Chladni.swift",
        "Math/Complex.swift",
        "Math/ComplexPlane.swift",
        "Math/DampedSpring.swift",
        "Math/DeBruijn.swift",
        "Math/Derivatives.swift",
        "Math/Easing.swift",
        "Math/Formula.swift",
        "Math/Fraction.swift",
        "Math/GaborNoise.swift",
        "Math/Integration.swift",
        "Math/MarkovChain.swift",
        "Math/Math.swift",
        "Math/Narrowing.swift",
        "Math/Noise.swift",
        "Math/NoiseFields.swift",
        "Math/NoiseVariants.swift",
        "Math/OneEuroFilter.swift",
        "Math/Pace.swift",
        "Math/Primes.swift",
        "Math/Random.swift",
        "Math/Ray3.swift",
        "Math/ResponseCurve.swift",
        "Math/Rotation3D.swift",
        "Math/Sway.swift",
        "Math/Tempo.swift",
        "Math/Timeline.swift",
        "Math/Vector.swift",
        "Math/Vector2.swift",
        "Math/Vector3.swift",
        "Renderer/CanvasSampler.swift",
        "Renderer/FrameCapture.swift",
        "Renderer/LinearFrameCapture.swift",
        "Renderer/MetalRenderer+Caustics.swift",
        "Renderer/MetalRenderer+DepthOfField.swift",
        "Renderer/MetalRenderer+Effects.swift",
        "Renderer/MetalRenderer+Flare.swift",
        "Renderer/MetalRenderer+IBL.swift",
        "Renderer/MetalRenderer+Interpolation.swift",
        "Renderer/MetalRenderer+Lights.swift",
        "Renderer/MetalRenderer+NoMetalFX.swift",
        "Renderer/MetalRenderer+Overlay.swift",
        "Renderer/MetalRenderer+PathTrace.swift",
        "Renderer/MetalRenderer+Pipelines.swift",
        "Renderer/MetalRenderer+RTInstances.swift",
        "Renderer/MetalRenderer+Scattering.swift",
        "Renderer/MetalRenderer+Targets.swift",
        "Renderer/MetalRenderer+Upscaling.swift",
        "Renderer/MetalRenderer+Volume.swift",
        "Renderer/MetalRenderer.swift",
        "Renderer/PassStorage.swift",
        "Renderer/PlatformGPU.swift",
        "Renderer/ShaderIncludes.swift",
        "Renderer/SpectralTaps.swift",
        "Text/BitmapFont+BDF.swift",
        "Text/BitmapFont+Builtin.swift",
        "Text/BitmapFont+Playdate.swift",
        "Text/BitmapFont+Resource.swift",
        "Text/BitmapFont.swift",
        "Text/ColorGlyphs.swift",
        "Text/GlyphAtlas.swift",
        "Text/GlyphMosaic.swift",
        "Text/LineBreaks.swift",
        "Text/OutlineFont.swift",
        "Text/StrokeFont+Builtin.swift",
        "Text/StrokeFont+JHF.swift",
        "Text/StrokeFont+Resource.swift",
        "Text/StrokeFont.swift",
        "Text/TextAlign.swift",
        "Text/TextClusters.swift",
        "Text/TextGlyph.swift"
      ],
      "target_dependencies" : [
        "CLibtess2",
        "CClipper2",
        "COllinShaders",
        "CHosekWilkie",
        "CMikkTSpace",
        "CSpectralData",
        "OllinShaderText",
        "OllinExpander",
        "OllinCommandFlags"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CSyphon",
      "module_type" : "ClangTarget",
      "name" : "CSyphon",
      "path" : "External/CSyphon",
      "product_memberships" : [
        "OllinSyphon",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "SyphonCFMessageReceiver.m",
        "SyphonCFMessageSender.m",
        "SyphonClientBase.m",
        "SyphonClientConnectionManager.m",
        "SyphonDispatch.c",
        "SyphonMessageQueue.m",
        "SyphonMessageReceiver.m",
        "SyphonMessageSender.m",
        "SyphonMessaging.m",
        "SyphonMetalClient.m",
        "SyphonMetalServer.m",
        "SyphonPrivate.m",
        "SyphonServerBase.m",
        "SyphonServerConnectionManager.m",
        "SyphonServerDirectory.m",
        "SyphonServerRendererMetal.m"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CSpectralData",
      "module_type" : "ClangTarget",
      "name" : "CSpectralData",
      "path" : "External/CSpectralData",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinCheck"
      ],
      "sources" : [
        "Source/ollin_spectral_data.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "COllinSourceKit",
      "module_type" : "ClangTarget",
      "name" : "COllinSourceKit",
      "path" : "Sources/COllinSourceKit",
      "product_memberships" : [
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "COllinSourceKit.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "COllinShaders",
      "module_type" : "ClangTarget",
      "name" : "COllinShaders",
      "path" : "Sources/COllinShaders",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "COllinShaders",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinCheck"
      ],
      "sources" : [
        "COllinShaders.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "COllinAllocationWatch",
      "module_type" : "ClangTarget",
      "name" : "COllinAllocationWatch",
      "path" : "Tests/COllinAllocationWatch",
      "sources" : [
        "AllocationWatch.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CMikkTSpace",
      "module_type" : "ClangTarget",
      "name" : "CMikkTSpace",
      "path" : "External/CMikkTSpace",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinCheck"
      ],
      "sources" : [
        "Source/mikktspace.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CLibtess2",
      "module_type" : "ClangTarget",
      "name" : "CLibtess2",
      "path" : "External/CLibtess2",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinCheck"
      ],
      "sources" : [
        "Source/bucketalloc.c",
        "Source/dict.c",
        "Source/geom.c",
        "Source/mesh.c",
        "Source/priorityq.c",
        "Source/sweep.c",
        "Source/tess.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CJolt",
      "module_type" : "ClangTarget",
      "name" : "CJolt",
      "path" : "External/CJolt",
      "product_memberships" : [
        "OllinPhysics",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "Jolt/AABBTree/AABBTreeBuilder.cpp",
        "Jolt/Compute/ComputeSystem.cpp",
        "Jolt/Core/Color.cpp",
        "Jolt/Core/Factory.cpp",
        "Jolt/Core/IssueReporting.cpp",
        "Jolt/Core/JobSystemSingleThreaded.cpp",
        "Jolt/Core/JobSystemThreadPool.cpp",
        "Jolt/Core/JobSystemWithBarrier.cpp",
        "Jolt/Core/LinearCurve.cpp",
        "Jolt/Core/Memory.cpp",
        "Jolt/Core/Profiler.cpp",
        "Jolt/Core/RTTI.cpp",
        "Jolt/Core/Semaphore.cpp",
        "Jolt/Core/StringTools.cpp",
        "Jolt/Core/TickCounter.cpp",
        "Jolt/Geometry/ConvexHullBuilder.cpp",
        "Jolt/Geometry/ConvexHullBuilder2D.cpp",
        "Jolt/Geometry/Indexify.cpp",
        "Jolt/Geometry/OrientedBox.cpp",
        "Jolt/Math/Vec3.cpp",
        "Jolt/ObjectStream/ObjectStream.cpp",
        "Jolt/ObjectStream/ObjectStreamBinaryIn.cpp",
        "Jolt/ObjectStream/ObjectStreamBinaryOut.cpp",
        "Jolt/ObjectStream/ObjectStreamIn.cpp",
        "Jolt/ObjectStream/ObjectStreamOut.cpp",
        "Jolt/ObjectStream/ObjectStreamTextIn.cpp",
        "Jolt/ObjectStream/ObjectStreamTextOut.cpp",
        "Jolt/ObjectStream/SerializableObject.cpp",
        "Jolt/ObjectStream/TypeDeclarations.cpp",
        "Jolt/Physics/Body/Body.cpp",
        "Jolt/Physics/Body/BodyCreationSettings.cpp",
        "Jolt/Physics/Body/BodyInterface.cpp",
        "Jolt/Physics/Body/BodyManager.cpp",
        "Jolt/Physics/Body/MassProperties.cpp",
        "Jolt/Physics/Body/MotionProperties.cpp",
        "Jolt/Physics/Character/Character.cpp",
        "Jolt/Physics/Character/CharacterBase.cpp",
        "Jolt/Physics/Character/CharacterVirtual.cpp",
        "Jolt/Physics/Collision/BroadPhase/BroadPhase.cpp",
        "Jolt/Physics/Collision/BroadPhase/BroadPhaseBruteForce.cpp",
        "Jolt/Physics/Collision/BroadPhase/BroadPhaseQuadTree.cpp",
        "Jolt/Physics/Collision/BroadPhase/QuadTree.cpp",
        "Jolt/Physics/Collision/CastConvexVsTriangles.cpp",
        "Jolt/Physics/Collision/CastSphereVsTriangles.cpp",
        "Jolt/Physics/Collision/CollideConvexVsTriangles.cpp",
        "Jolt/Physics/Collision/CollideSphereVsTriangles.cpp",
        "Jolt/Physics/Collision/CollisionDispatch.cpp",
        "Jolt/Physics/Collision/CollisionGroup.cpp",
        "Jolt/Physics/Collision/EstimateCollisionResponse.cpp",
        "Jolt/Physics/Collision/GroupFilter.cpp",
        "Jolt/Physics/Collision/GroupFilterTable.cpp",
        "Jolt/Physics/Collision/ManifoldBetweenTwoFaces.cpp",
        "Jolt/Physics/Collision/NarrowPhaseQuery.cpp",
        "Jolt/Physics/Collision/NarrowPhaseStats.cpp",
        "Jolt/Physics/Collision/PhysicsMaterial.cpp",
        "Jolt/Physics/Collision/PhysicsMaterialSimple.cpp",
        "Jolt/Physics/Collision/Shape/BoxShape.cpp",
        "Jolt/Physics/Collision/Shape/CapsuleShape.cpp",
        "Jolt/Physics/Collision/Shape/CompoundShape.cpp",
        "Jolt/Physics/Collision/Shape/ConvexHullShape.cpp",
        "Jolt/Physics/Collision/Shape/ConvexShape.cpp",
        "Jolt/Physics/Collision/Shape/CylinderShape.cpp",
        "Jolt/Physics/Collision/Shape/DecoratedShape.cpp",
        "Jolt/Physics/Collision/Shape/EmptyShape.cpp",
        "Jolt/Physics/Collision/Shape/HeightFieldShape.cpp",
        "Jolt/Physics/Collision/Shape/MeshShape.cpp",
        "Jolt/Physics/Collision/Shape/MutableCompoundShape.cpp",
        "Jolt/Physics/Collision/Shape/OffsetCenterOfMassShape.cpp",
        "Jolt/Physics/Collision/Shape/PlaneShape.cpp",
        "Jolt/Physics/Collision/Shape/RotatedTranslatedShape.cpp",
        "Jolt/Physics/Collision/Shape/ScaledShape.cpp",
        "Jolt/Physics/Collision/Shape/Shape.cpp",
        "Jolt/Physics/Collision/Shape/SphereShape.cpp",
        "Jolt/Physics/Collision/Shape/StaticCompoundShape.cpp",
        "Jolt/Physics/Collision/Shape/TaperedCapsuleShape.cpp",
        "Jolt/Physics/Collision/Shape/TaperedCylinderShape.cpp",
        "Jolt/Physics/Collision/Shape/TriangleShape.cpp",
        "Jolt/Physics/Collision/TransformedShape.cpp",
        "Jolt/Physics/Constraints/ConeConstraint.cpp",
        "Jolt/Physics/Constraints/Constraint.cpp",
        "Jolt/Physics/Constraints/ConstraintManager.cpp",
        "Jolt/Physics/Constraints/ContactConstraintManager.cpp",
        "Jolt/Physics/Constraints/DistanceConstraint.cpp",
        "Jolt/Physics/Constraints/FixedConstraint.cpp",
        "Jolt/Physics/Constraints/GearConstraint.cpp",
        "Jolt/Physics/Constraints/HingeConstraint.cpp",
        "Jolt/Physics/Constraints/MotorSettings.cpp",
        "Jolt/Physics/Constraints/PathConstraint.cpp",
        "Jolt/Physics/Constraints/PathConstraintPath.cpp",
        "Jolt/Physics/Constraints/PathConstraintPathHermite.cpp",
        "Jolt/Physics/Constraints/PointConstraint.cpp",
        "Jolt/Physics/Constraints/PulleyConstraint.cpp",
        "Jolt/Physics/Constraints/RackAndPinionConstraint.cpp",
        "Jolt/Physics/Constraints/SixDOFConstraint.cpp",
        "Jolt/Physics/Constraints/SliderConstraint.cpp",
        "Jolt/Physics/Constraints/SpringSettings.cpp",
        "Jolt/Physics/Constraints/SwingTwistConstraint.cpp",
        "Jolt/Physics/Constraints/TwoBodyConstraint.cpp",
        "Jolt/Physics/DeterminismLog.cpp",
        "Jolt/Physics/Hair/Hair.cpp",
        "Jolt/Physics/Hair/HairSettings.cpp",
        "Jolt/Physics/Hair/HairShaders.cpp",
        "Jolt/Physics/Hair/RegisterHair.cpp",
        "Jolt/Physics/IslandBuilder.cpp",
        "Jolt/Physics/LargeIslandSplitter.cpp",
        "Jolt/Physics/PhysicsScene.cpp",
        "Jolt/Physics/PhysicsSystem.cpp",
        "Jolt/Physics/PhysicsUpdateContext.cpp",
        "Jolt/Physics/Ragdoll/Ragdoll.cpp",
        "Jolt/Physics/SoftBody/SoftBodyCreationSettings.cpp",
        "Jolt/Physics/SoftBody/SoftBodyMotionProperties.cpp",
        "Jolt/Physics/SoftBody/SoftBodyShape.cpp",
        "Jolt/Physics/SoftBody/SoftBodySharedSettings.cpp",
        "Jolt/Physics/StateRecorderImpl.cpp",
        "Jolt/Physics/Vehicle/MotorcycleController.cpp",
        "Jolt/Physics/Vehicle/TrackedVehicleController.cpp",
        "Jolt/Physics/Vehicle/VehicleAntiRollBar.cpp",
        "Jolt/Physics/Vehicle/VehicleCollisionTester.cpp",
        "Jolt/Physics/Vehicle/VehicleConstraint.cpp",
        "Jolt/Physics/Vehicle/VehicleController.cpp",
        "Jolt/Physics/Vehicle/VehicleDifferential.cpp",
        "Jolt/Physics/Vehicle/VehicleEngine.cpp",
        "Jolt/Physics/Vehicle/VehicleTrack.cpp",
        "Jolt/Physics/Vehicle/VehicleTransmission.cpp",
        "Jolt/Physics/Vehicle/Wheel.cpp",
        "Jolt/Physics/Vehicle/WheeledVehicleController.cpp",
        "Jolt/RegisterTypes.cpp",
        "Jolt/Skeleton/SkeletalAnimation.cpp",
        "Jolt/Skeleton/Skeleton.cpp",
        "Jolt/Skeleton/SkeletonMapper.cpp",
        "Jolt/Skeleton/SkeletonPose.cpp",
        "Jolt/TriangleSplitter/TriangleSplitter.cpp",
        "Jolt/TriangleSplitter/TriangleSplitterBinning.cpp",
        "Jolt/TriangleSplitter/TriangleSplitterMean.cpp",
        "src/cjolt.cpp"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CHosekWilkie",
      "module_type" : "ClangTarget",
      "name" : "CHosekWilkie",
      "path" : "External/CHosekWilkie",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinCheck"
      ],
      "sources" : [
        "Source/ArHosekSkyModel.c",
        "Source/ollin_hosek_bridge.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CClipper2",
      "module_type" : "ClangTarget",
      "name" : "CClipper2",
      "path" : "External/CClipper2",
      "product_memberships" : [
        "Ollin",
        "OllinAudio",
        "OllinOSC",
        "OllinDMX",
        "OllinLaser",
        "OllinMIDI",
        "OllinMQTT",
        "OllinHaptics",
        "OllinSerial",
        "OllinBluetooth",
        "OllinRemote",
        "OllinRoom",
        "OllinPhysics",
        "OllinVision",
        "OllinVideo",
        "OllinSyphon",
        "OllinCamera",
        "OllinRecord3D",
        "OllinPhone",
        "OllinScreen",
        "OllinController",
        "OllinSamplePhotos",
        "OllinTether",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinNew",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples",
        "OllinDoctor",
        "OllinCheck"
      ],
      "sources" : [
        "Clipper2Lib/src/clipper.engine.cpp",
        "Clipper2Lib/src/clipper.offset.cpp",
        "Clipper2Lib/src/clipper.rectclip.cpp",
        "Clipper2Lib/src/clipper.triangulation.cpp",
        "src/cclipper2.cpp"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CBox2D",
      "module_type" : "ClangTarget",
      "name" : "CBox2D",
      "path" : "External/CBox2D",
      "product_memberships" : [
        "OllinPhysics",
        "OllinRun",
        "OllinProjectGenerator",
        "OllinLiveCoding",
        "OllinLive",
        "OllinGuideSnippets",
        "OllinGuideFigures",
        "OllinExamples"
      ],
      "sources" : [
        "src/aabb.c",
        "src/arena_allocator.c",
        "src/array.c",
        "src/bitset.c",
        "src/body.c",
        "src/broad_phase.c",
        "src/constraint_graph.c",
        "src/contact.c",
        "src/contact_solver.c",
        "src/core.c",
        "src/distance.c",
        "src/distance_joint.c",
        "src/dynamic_tree.c",
        "src/geometry.c",
        "src/hull.c",
        "src/id_pool.c",
        "src/island.c",
        "src/joint.c",
        "src/manifold.c",
        "src/math_functions.c",
        "src/motor_joint.c",
        "src/mouse_joint.c",
        "src/mover.c",
        "src/prismatic_joint.c",
        "src/revolute_joint.c",
        "src/sensor.c",
        "src/shape.c",
        "src/solver.c",
        "src/solver_set.c",
        "src/table.c",
        "src/timer.c",
        "src/types.c",
        "src/weld_joint.c",
        "src/wheel_joint.c",
        "src/world.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.