The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Ollin, reference main (be1901), with Swift 6.4 for macOS (SPM) on 28 Oct 2026 00:37:06 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/eaviles/Ollin.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/eaviles/Ollin
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at be1901e The ground under the sky, the cloud before the sun, and a tessellator that never takes the window down. The lower half of a `.sky` environment whose sun lights the scene was the sky's mirror dimmed by the ground albedo, which left the sun's beam out of the ground: a matte ground at albedo 0.3 is about four times that mirror, so a face turned down and away from the sun read dark. The sun-lit bake now fills the lower hemisphere with the radiance a level matte ground really has, one value in every direction, the albedo times the level irradiance of sky and beam over pi: both generators leave the mirrored hemisphere black under a flag, one kernel reduces the baked upper hemisphere itself (cosine and solid-angle weighted, so a cloudy sky's ground is lit by the cloudy sky) and adds the beam's expected share, and a fill kernel paints the rows, with `SkySun.levelIrradiance` and `groundRadiance` as the CPU twins for the exposure, which now counts the ground over its half of the sphere and so drops about 14% at that sky. A face turned down reads the sunlit ground, the backdrop below the horizon is that one flat ground, a white ball's sunlit side stands out from its far side by about five times rather than eight, and a sky whose sun is not a light keeps the mirror byte-identical. Under a cloudscape the sun kept 1 minus the coverage of its beam whether the backdrop showed it in a gap or behind a cloud. The bake now marches the cloud shell along the sun's own direction with the view march's extinction and the backdrop's horizon fade, so the share is the dimming the backdrop gives the disc, written beside the ground into 32 bytes of shared memory; the renderer hands it to the drawer at the top of every frame path, before anything packs the lights, a frame late in a window and exact in a headless frame, which bakes a missing key on its own command buffer and waits, and `skySunLight()` scales the beam by it while the exposure keeps the expected share, so a passing cloud darkens the scene rather than swinging the exposure. Measured: the CPU irradiance reads the model's own numbers within 0.03%, the baked ground matches the CPU model within 0.2% and a traced white plane within 5%, a plate's underside reads the trace's own ratio and a matte floor's 0.3, the sun keeps its whole beam in a gap and 0.118 behind a cloud where the backdrop dims the disc to 0.146. Three references, the media of sixteen examples, and two Guide figures lit by the sky's own sun are re-rendered; the fifteen other figures under a sky light their set with a preset's own key, so the sun never joins and their bake did not move a byte. Apart from that, a closed `curveThrough` ring that had collapsed to under 1% of its area, crossing itself hundreds of times within a few pixels with points on top of each other, ended a live window three times from `withClip` and `drawShape` on an assertion inside the fill tessellator, whose sweep had lost its vertex order in single precision. The tessellator runs in double now (one noted line in the vendored header, which the web page's build shares), its asserts are compiled out in every build as the page's build always had them, and the expander cleans a fill's input first: consecutive points within a millionth of the largest coordinate merge, a ring with nothing to fill is dropped, and a ring that crosses itself is kept whole, since a figure eight has no signed area and fills two lobes. The cleaning alone was luck (it rescued two generated rings and not a third, seven in a hundred thousand), the double passed a quarter million without an assert at about 15% more per pathological ring, and every glyph, fill, SVG, and page suite stayed byte-identical. Twelve tests and seventeen cases across the two suites, each held to a model, a trace, or a construction, and eleven planted defects each red in its own test: the ground's reduce without its cosine, the fill never painted, the CPU quadrature without its cosine, the shell's extinction doubled, the headless sync not waiting, the closing pair kept, a ring along a line kept, a figure eight dropped by its signed area, the merging distance a ten-thousandth of the coordinates, and the old tessellator's precision and asserts restored, which aborts the ring test's process.
Updating files:  64% (3699/5724)
Updating files:  65% (3721/5724)
Updating files:  66% (3778/5724)
Updating files:  67% (3836/5724)
Updating files:  68% (3893/5724)
Updating files:  69% (3950/5724)
Updating files:  70% (4007/5724)
Updating files:  71% (4065/5724)
Updating files:  72% (4122/5724)
Updating files:  73% (4179/5724)
Updating files:  74% (4236/5724)
Updating files:  75% (4293/5724)
Updating files:  76% (4351/5724)
Updating files:  77% (4408/5724)
Updating files:  78% (4465/5724)
Updating files:  79% (4522/5724)
Updating files:  80% (4580/5724)
Updating files:  81% (4637/5724)
Updating files:  82% (4694/5724)
Updating files:  83% (4751/5724)
Updating files:  84% (4809/5724)
Updating files:  85% (4866/5724)
Updating files:  86% (4923/5724)
Updating files:  87% (4980/5724)
Updating files:  88% (5038/5724)
Updating files:  89% (5095/5724)
Updating files:  90% (5152/5724)
Updating files:  91% (5209/5724)
Updating files:  92% (5267/5724)
Updating files:  93% (5324/5724)
Updating files:  94% (5381/5724)
Updating files:  95% (5438/5724)
Updating files:  96% (5496/5724)
Updating files:  97% (5553/5724)
Updating files:  98% (5610/5724)
Updating files:  99% (5667/5724)
Updating files: 100% (5724/5724)
Updating files: 100% (5724/5724), done.
Cloned https://github.com/eaviles/Ollin.git
Revision (git rev-parse @):
be1901e42175fd2fdf34fbdfae8f727d5a1f0846
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/eaviles/Ollin.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "ollin",
      "name": "Ollin",
      "url": "https://github.com/eaviles/Ollin.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Ollin",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/eaviles/Ollin.git
[1/55752] Fetching ollin
Fetched https://github.com/eaviles/Ollin.git (69.11s)
Creating working copy for https://github.com/eaviles/Ollin.git
Working copy of https://github.com/eaviles/Ollin.git resolved at main (be1901e)
warning: '.resolve-product-dependencies': dependency 'ollin' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/eaviles/Ollin.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Provisioning 5 / 88]
[Pre-planning 1 / 2542]
[Planning 1516 / 2542]
[Planning deferred tasks]
[Constructing 946 / 5400]
[Starting]
[76 / 1130] OllinSamplePhotos
[369 / 1130] CClipper2
[453 / 1130] Ollin_OllinRemote
[459 / 1130] Ollin_OllinTests
[461 / 1130]
[472 / 1138] OllinWebGate
[482 / 1191] CJolt
[483 / 1214]
[495 / 1267]
[502 / 1267]
[512 / 1267] CJolt
[513 / 1267]
[521 / 1267] CJolt
[527 / 1267]
[530 / 1267] CJolt
[531 / 1267] OllinExpander
[532 / 1267]
[544 / 1267] CJolt
[550 / 1267]
[552 / 1267]
[554 / 1267]
[556 / 1267]
[560 / 1267] CJolt
[562 / 1267]
[567 / 1267] CJolt
[570 / 1267] CJolt
[572 / 1267] CJolt
[573 / 1267]
[577 / 1267] CJolt
[579 / 1267] CJolt
[583 / 1267] OllinWebGate
[584 / 1267] OllinUSBMux
[585 / 1267] OllinWebGate
[594 / 1267] OllinUSBMux
[602 / 1267] OllinShaderText
[619 / 1267] OllinLink
[636 / 1267] CJolt
[638 / 1267] CJolt
[640 / 1267] OllinTestSupport
[645 / 1267] CJolt
[646 / 1267] OllinTestSupport
[655 / 1267] CJolt
[656 / 1267] CJolt
[657 / 1267] CJolt
[661 / 1267] CJolt
[663 / 1267] CJolt
[664 / 1267] CJolt
[665 / 1267] CJolt
[670 / 1267] CJolt
[672 / 1267] CJolt
[673 / 1267] CJolt
[674 / 1267] CJolt
[678 / 1267] CJolt
[681 / 1267] CJolt
[683 / 1267] CJolt
[685 / 1267] CJolt
[688 / 1267] CJolt
[690 / 1267] CJolt
[693 / 1267] CJolt
[694 / 1267] CJolt
[696 / 1267] CJolt
[698 / 1267] CJolt
[702 / 1267] CJolt
[703 / 1267] CJolt
[704 / 1267] CJolt
[706 / 1267] CJolt
[708 / 1267] CJolt
[711 / 1267] CJolt
[712 / 1267] CJolt
[713 / 1267] CJolt
[715 / 1267] CJolt
[717 / 1267] CClipper2
[721 / 1267] CClipper2
[722 / 1267]
[726 / 1267]
[730 / 1267]
[734 / 1267]
[742 / 1267]
[747 / 1267]
[750 / 1267] OllinShaderText
[751 / 1267] CClipper2
[754 / 1267]
[767 / 1267] OllinExpander
[772 / 1267]
[776 / 1267] OllinCommandFlags
[785 / 1267]
[796 / 1267] CMikkTSpace
[811 / 1287] CLibtess2
[837 / 1296] CLibtess2
[860 / 1296] CBox2D
[880 / 1296] CBox2D
[898 / 1296] CLibtess2
[920 / 1296] CBox2D
[933 / 1296]
[945 / 1298] OllinExpander
[956 / 1298]
[959 / 1298] OllinProjects
[968 / 1309] OllinProjects
[971 / 1309] OllinProjects
[977 / 1310] OllinProjects
[985 / 1310] CSyphon
[993 / 1310] CSyphon
[1004 / 1321] OllinReference
[1005 / 1321] OllinReference
[1007 / 1321]
[1019 / 1384]
[1028 / 1384]
[1036 / 1384] OllinReference
[1040 / 1385]
[1045 / 1385] OllinReference
[1048 / 1387] OllinReference
[1052 / 1387]
[1058 / 1387]
[1059 / 1387]
[1062 / 1387]
[1064 / 1387]
[1074 / 1387] Ollin
[1074 / 1387] OllinDocs-product
[1076 / 1387] Ollin
[1077 / 1387] Ollin
[1078 / 1387] Ollin
[1079 / 1387] Ollin
[1080 / 1387] Ollin
[1081 / 1387] Ollin
[1082 / 1387] Ollin
[1083 / 1387] Ollin
[1084 / 1387] Ollin
[1086 / 1387] Ollin
[1091 / 1387] Ollin
[1092 / 1387] OllinVision
[1093 / 1388]
[1096 / 1389] OllinVision
[1099 / 1402] OllinCheck-product
[1103 / 1406]
[1104 / 1406] OllinVideo
[1110 / 1406] OllinVideo
[1113 / 1406] OllinVision
[1115 / 1406] OllinVision
[1116 / 1406] OllinVision
[1119 / 1406] OllinVision
[1124 / 1406] OllinVision
[1126 / 1406] OllinVision-product
[1129 / 1407]
[1131 / 1410] OllinScreen
[1132 / 1410] OllinSceneImport
[1132 / 1410]
[1134 / 1417] OllinRuntime
[1135 / 1421] OllinRoom
[1136 / 1421] OllinRemote
[1138 / 1430] OllinRecord3D
[1140 / 1436] OllinSamplePhotos
[1142 / 1458] OllinSerial
[1159 / 1471]
[1160 / 1471] OllinScreen
[1161 / 1471] OllinSyphon
[1187 / 1495]
[1194 / 1495] OllinScreen
[1199 / 1495] OllinSyphon
[1202 / 1495] OllinRoom
[1207 / 1495] OllinPhone
[1215 / 1495] OllinSyphon
[1236 / 1495] OllinPhysics
[1248 / 1495] OllinRuntime
[1251 / 1495] OllinSamplePhotos
[1253 / 1495] OllinRuntime
[1256 / 1495] OllinRoom
[1261 / 1495] OllinRemote
[1263 / 1495] OllinRemote-product
[1266 / 1495] OllinRecord3D
[1267 / 1495] OllinRecord3D-product
[1271 / 1495] OllinPhysics
[1275 / 1495] OllinRuntime
[1278 / 1495] OllinRoom
[1282 / 1495] OllinPhysics
[1283 / 1495] OllinPhone
[1284 / 1495] OllinPhone
[1285 / 1495] OllinPhone
[1287 / 1495] OllinPhone-product
[1289 / 1495] OllinPhone
[1291 / 1495] OllinPhone
[1292 / 1495] OllinNew-product
[1295 / 1507] OllinOSC
[1297 / 1507] OllinMIDI
[1298 / 1507] OllinLaser
[1299 / 1507] OllinHaptics
[1302 / 1529] OllinOSC
[1304 / 1529] OllinMIDI
[1306 / 1538] OllinDMX
[1309 / 1546] OllinOSC
[1326 / 1550] OllinMIDI
[1332 / 1550] OllinLaser
[1338 / 1550] OllinTether-product
[1340 / 1550] OllinTether-product
[1350 / 1550] OllinDoctor-product
[1352 / 1560] OllinOSC
[1362 / 1571]
[1364 / 1579] OllinOSC-product
[1377 / 1592]
[1382 / 1592] OllinCamera
[1403 / 1592] OllinMQTT-product
[1405 / 1592] OllinMIDI
[1408 / 1592] OllinPhone
[1410 / 1592] OllinMIDI
[1414 / 1592] OllinMQTT
[1421 / 1592] OllinHaptics
[1423 / 1592] OllinMIDI
[1426 / 1592] OllinHaptics
[1438 / 1592] OllinDMX
[1440 / 1592] OllinDMX
[1446 / 1592] OllinDiagram
[1449 / 1592] OllinController
[1454 / 1592] OllinCamera
[1456 / 1592] OllinCamera-product
[1458 / 1592] OllinBluetooth-product
[1461 / 1592] OllinDMX
[1464 / 1592] OllinAudio
[1468 / 1592] OllinAudio
[1473 / 1592] OllinAudio
[1474 / 1592] OllinAudio
[1475 / 1592] OllinBluetooth
[1476 / 1592] Ollin
[1483 / 1594]
[1485 / 1595] OllinTether-product
[1489 / 1600] OllinRun-product
[1492 / 1602] OllinTether-product
[1504 / 1602]
[1508 / 1605]
[1511 / 1609] OllinGuideFigures-product
[1511 / 1609] OllinCheck-product
[1512 / 1609] OllinTether-product
[1515 / 1609] OllinTether-product
[1521 / 1609] OllinSceneImport
[1527 / 1609] OllinPhone
[1534 / 1609] OllinDoctor-product
[1539 / 1609] OllinCamera
[1540 / 1609] OllinBluetooth
[1542 / 1609] OllinProjectGenerator-product
[1552 / 1633] OllinProjectGenerator-product
[1555 / 1653] OllinNew-product
[1558 / 1653] OllinGuideSnippets-product
[1566 / 1653] OllinLiveCoding-product
[1570 / 1653] OllinLiveCoding-product
[1573 / 1653] OllinLiveCoding-product
[1575 / 1653] OllinLive-product
[1576 / 1653] OllinNew-product
[1578 / 1653] OllinLive-product
[1582 / 1653] OllinLive-product
[1586 / 1653] OllinGuideSnippets-product
[1588 / 1653] OllinLiveCoding-product
[1591 / 1653] OllinExamples-product
[1594 / 1653] OllinExamples-product
[1595 / 1653] OllinExamples-product
[1596 / 1653] OllinExamples-product
[1601 / 1653]
[1606 / 1653] OllinScreen-product
[1611 / 1653] OllinMQTT-product
[1612 / 1653]
[1616 / 1653] OllinMQTT-product
[1623 / 1653] OllinDMX-product
[1628 / 1653] OllinAudio-product
[1629 / 1653] OllinCheck-product
[1629 / 1653] OllinNew-product
[1631 / 1653] OllinTether-product
[1632 / 1653] OllinTether-product
[1633 / 1653] OllinGuideFigures-product
[1635 / 1653] OllinProjectGenerator-product
[1637 / 1653] OllinLive-product
[1640 / 1653] OllinLiveCoding-product
[1644 / 1653] OllinLiveCoding-product
[1645 / 1653] OllinGuideFigures-product
[1648 / 1653] OllinGuideFigures-product
[1649 / 1653] OllinExamples-product
[1651 / 1653] OllinExamples-product
[1652 / 1653] OllinExamples-product
Build complete! (69.20 sec)
/Users/admin/builder/spi-builder-workspace/External/CLibtess2/Source/priorityq.c:212:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
  211 |                         pq->nodes = (PQnode *)alloc->memrealloc( alloc->userData, pq->nodes, 
      |                                               ~~~~~
  212 |                                 (size_t)((pq->max + 1) * sizeof( pq->nodes[0] )));
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/External/CLibtess2/Source/priorityq.c:218:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
  217 |                         pq->handles = (PQhandleElem *)alloc->memrealloc( alloc->userData, pq->handles,
      |                                                       ~~~~~
  218 |                                 (size_t) ((pq->max + 1) * sizeof( pq->handles[0] )));
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/External/CLibtess2/Source/priorityq.c:354:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
  353 |         pq->order = (PQkey **)alloc->memalloc( alloc->userData,
      |                               ~~~~~
  354 |                                                                                   (size_t)((pq->size+1) * sizeof(pq->order[0])) );
      |                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/External/CLibtess2/Source/priorityq.c:441:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
  440 |                         pq->keys = (PQkey *)alloc->memrealloc( alloc->userData, pq->keys, 
      |                                             ~~~~~
  441 |                                 (size_t)(pq->max * sizeof( pq->keys[0] )));
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
/Users/admin/builder/spi-builder-workspace/External/CLibtess2/Source/bucketalloc.c:66:62: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
   66 |         bucket = (Bucket*)ba->alloc->memalloc( ba->alloc->userData, size );
      |                           ~~                                        ^~~~
1 warning generated.
/Users/admin/builder/spi-builder-workspace/External/CSyphon/SyphonServerBase.m:253:72: warning: 'kIOSurfaceIsGlobal' is deprecated: first deprecated in macOS 10.11 - Global surfaces are insecure [-Wdeprecated-declarations]
  253 |         NSDictionary<NSString *, id> *surfaceAttributes = @{(NSString*)kIOSurfaceIsGlobal: @(YES),
      |                                                                        ^
In module 'IOSurface' imported from /Users/admin/builder/spi-builder-workspace/External/CSyphon/SyphonServerConnectionManager.h:32:
/Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/IOSurface.framework/Headers/IOSurfaceRef.h:101:26: note: 'kIOSurfaceIsGlobal' has been explicitly marked deprecated here
  101 | extern const CFStringRef kIOSurfaceIsGlobal                                 API_DEPRECATED("Global surfaces are insecure",macos(10.6,10.11), ios(11.0,11.0), watchos(4.0,4.0), tvos(11.0,11.0));
      |                          ^
1 warning generated.
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Text/BitmapFont+Playdate.swift:31:26: warning: no calls to throwing functions occur within 'try' expression [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
 29 |     /// when the text has no usable glyphs or its strike can't be decoded.
 30 |     init(fnt text: String) throws {
 31 |         guard let font = try? BitmapFont(fnt: text, externalStrike: { nil }) else {
    |                          `- warning: no calls to throwing functions occur within 'try' expression [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
 32 |             throw FileError.unreadable(nil, "holds no Playdate glyphs, or a strike that can't be decoded")
 33 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Text/BitmapFont+Playdate.swift:56:26: warning: no calls to throwing functions occur within 'try' expression [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
 54 |         let directory = url.deletingLastPathComponent()
 55 |         let base = url.deletingPathExtension().lastPathComponent
 56 |         guard let font = try? BitmapFont(fnt: text, externalStrike: {
    |                          `- warning: no calls to throwing functions occur within 'try' expression [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
 57 |             BitmapFont.findExternalStrike(base: base, in: directory)
 58 |         }) else {
[#UnnecessaryEffectMarker]: <https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker>
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Core/SketchView.swift:4560:21: warning: left side of nil coalescing operator '??' has non-optional type 'ICCProfile', so the right side is never used
4558 |                 let expanded = (named as NSString).expandingTildeInPath
4559 |                 profile = try? ICCProfile(contentsOf: URL(fileURLWithPath: expanded))
4560 |                     ?? ICCProfile.installed(named: named)
     |                     `- warning: left side of nil coalescing operator '??' has non-optional type 'ICCProfile', so the right side is never used
4561 |                 guard profile != nil else {
4562 |                     let installed = ICCProfile.installed().filter { $0.space == .cmyk }
/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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
1059 |                     Button("Reset all") {
1060 |                         noteClearingReset?.perform(nil)
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Core/Drawer+Tessellation.swift:417:13: warning: initialization of immutable value 'miterLimit' was never used; consider replacing with assignment to '_' or removing it [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
 415 |
 416 |         let fw = 1.0 / ctmScale                 // ~1px AA fringe in screen space
 417 |         let miterLimit = 8.0
     |             `- warning: initialization of immutable value 'miterLimit' was never used; consider replacing with assignment to '_' or removing it [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
 418 |         // Half-width per path vertex. A uniform stroke keeps one constant, which is
 419 |         // what makes its geometry and coverage identical to the pre-profile path.
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Geometry/SDFOutline.swift:546:9: warning: variable 'p' was never mutated; consider changing to 'let' constant [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
544 | private func sdBlobbyCross(_ pos: Vector2, _ he: Double) -> Double {
545 |     let a = Vector2(abs(pos.x), abs(pos.y))
546 |     var p = Vector2(abs(a.x - a.y), 1 - a.x - a.y) / 2.0.squareRoot()
    |         `- warning: variable 'p' was never mutated; consider changing to 'let' constant [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated\VariableNeverMutated]8;;\]
547 |     let pp = (he - p.y - 0.25 / he) / (6 * he)
548 |     let q = p.x / (he * he * 16)
[#VariableNeverMutated]: <https://docs.swift.org/compiler/documentation/diagnostics/variable-never-mutated>
/Users/admin/builder/spi-builder-workspace/Sources/Ollin/Export/FrameMemory.swift:62:28: warning: capture of 'pointer' with non-Sendable type 'UnsafeMutableRawPointer' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
60 |         let pointer = memory.allocate(byteCount: length)
61 |         return device.makeBuffer(bytesNoCopy: pointer, length: length, options: .storageModeShared) { _, _ in
62 |             memory.release(pointer, byteCount: length)
   |                            `- warning: capture of 'pointer' with non-Sendable type 'UnsafeMutableRawPointer' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
63 |         }
64 |     }
Swift.UnsafeMutableRawPointer:1:23: note: struct 'UnsafeMutableRawPointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeMutableRawPointer : @unsafe _Pointer {
  |                       `- note: struct 'UnsafeMutableRawPointer' does not conform to the 'Sendable' protocol
2 |     public typealias Pointee = UInt8
3 |     public let _rawValue: Builtin.RawPointer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
571 |         thread.name = "dev.ollin.phone.proxy"
572 |         thread.start()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/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()
/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)")` [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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)")` [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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)")` [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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)")` [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
167 |                         + Text(objection ?? option.summary).font(.system(size: 10.5)).foregroundColor(.secondary)
168 |                 } else {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/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()
/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 | }
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",
        "BoundsIndexTests.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",
        "DrawingInvariantTests.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",
        "HandDrawnTests.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",
        "LayerReadbackTests.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",
        "MatchingTests.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",
        "SpatialIndex3DTests.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",
        "TessellationRobustnessTests.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",
        "SoftContactTests.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",
        "SoftRigidContact.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/LayerHistory.swift",
        "Effects/LayerReadback.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/BoundsIndex.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/HandDrawn.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/Matching.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/SpatialIndex3D.swift",
        "Geometry/SpatialKDTree.swift",
        "Geometry/SpatialKDTree3.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"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/eaviles/ollin/main
Repository:               eaviles/Ollin
Swift version used:       6.4
Target:                   Ollin
Extracting symbol information for 'Ollin'...
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin (1.60s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (3.99s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3849] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.23s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.04s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Building for debugging...
[Planning 1 / 95]
[Planning deferred tasks]
[18 / 41]
[20 / 43] Snippets
[29 / 92]
[32 / 92]
[37 / 92]
[39 / 92]
[43 / 92]
[45 / 92]
[48 / 92]
[51 / 92]
[52 / 92]
[53 / 92]
[54 / 92]
[65 / 92] SymbolKit
[66 / 92] Snippets
[83 / 92] snippet-extract-product
[84 / 93] SymbolKit
[84 / 93] Snippets
[90 / 97] snippet-extract-product
[93 / 97] snippet-extract-product
[95 / 97] snippet-extract-product
Build complete! (5.41 sec)
Building for debugging...
[Pre-planning 1 / 332]
[Planning deferred tasks]
[6 / 54] CLibtess2
[10 / 33] OllinExpander
In file included from <extract-api-includes>:1:
In file included from /Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.h:13:
In file included from /Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.core.h:13:
/Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.version.h:4:1: error: unknown type name 'constexpr'
    4 | constexpr auto CLIPPER2_VERSION = "2.0.1";
      | ^
/Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.version.h:4:16: error: illegal storage class on file-scoped variable
    4 | constexpr auto CLIPPER2_VERSION = "2.0.1";
      |                ^
In file included from <extract-api-includes>:1:
In file included from /Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.h:13:
/Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.core.h:14:10: fatal error: 'cstdint' file not found
   14 | #include <cstdint>
      |          ^~~~~~~~~
3 errors generated.
error: ExtractAPI /Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/arm64/CClipper2.symbolgraphs/CClipper2.symbols.json failed with a nonzero exit code. Command line:     cd /Users/admin/builder/spi-builder-workspace
    /Applications/Xcode-27.0.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -extract-api --extract-api-ignores\=/Applications/Xcode-27.0.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/swift/compatibility-symbols -o /Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/arm64/CClipper2.symbolgraphs/CClipper2.symbols.json --target\=arm64-apple-macos26.0 -isysroot /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -I/Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/include -I/Users/admin/builder/spi-builder-workspace/External/CClipper2/include -I/Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/Ollin.build/Debug/CClipper2-t.build/DerivedSources-normal/arm64 -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/Ollin.build/Debug/CClipper2-t.build/DerivedSources/arm64 -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/Ollin.build/Debug/CClipper2-t.build/DerivedSources -F/Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug -iframework /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -fmodules -fmodules-cache-path\=/Users/admin/builder/spi-builder-workspace/.build/out/ModuleCache.noindex -fobjc-arc -DSWIFT_PACKAGE -DDEBUG\=1 --product-name\=CClipper2 -fmodule-name\=CClipper2 -x objective-c-header /Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.h /Users/admin/builder/spi-builder-workspace/External/CClipper2/include/cclipper2.h
error: Build failed
error: unspecified("fatalError")
Extracting symbol information for 'Ollin'...
Building for debugging...
Build complete! (0.44 sec)
Building for debugging...
[Using on-disk description]
[1 / 37]
In file included from <extract-api-includes>:1:
In file included from /Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.h:13:
In file included from /Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.core.h:13:
/Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.version.h:4:1: error: unknown type name 'constexpr'
    4 | constexpr auto CLIPPER2_VERSION = "2.0.1";
      | ^
/Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.version.h:4:16: error: illegal storage class on file-scoped variable
    4 | constexpr auto CLIPPER2_VERSION = "2.0.1";
      |                ^
In file included from <extract-api-includes>:1:
In file included from /Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.h:13:
/Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.core.h:14:10: fatal error: 'cstdint' file not found
   14 | #include <cstdint>
      |          ^~~~~~~~~
3 errors generated.
error: ExtractAPI /Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/arm64/CClipper2.symbolgraphs/CClipper2.symbols.json failed with a nonzero exit code. Command line:     cd /Users/admin/builder/spi-builder-workspace
    /Applications/Xcode-27.0.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -extract-api --extract-api-ignores\=/Applications/Xcode-27.0.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/swift/compatibility-symbols -o /Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/arm64/CClipper2.symbolgraphs/CClipper2.symbols.json --target\=arm64-apple-macos26.0 -isysroot /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk -I/Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/include -I/Users/admin/builder/spi-builder-workspace/External/CClipper2/include -I/Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/Ollin.build/Debug/CClipper2-t.build/DerivedSources-normal/arm64 -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/Ollin.build/Debug/CClipper2-t.build/DerivedSources/arm64 -I/Users/admin/builder/spi-builder-workspace/.build/out/Intermediates.noindex/Ollin.build/Debug/CClipper2-t.build/DerivedSources -F/Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug -iframework /Applications/Xcode-27.0.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -fmodules -fmodules-cache-path\=/Users/admin/builder/spi-builder-workspace/.build/out/ModuleCache.noindex -fobjc-arc -DSWIFT_PACKAGE -DDEBUG\=1 --product-name\=CClipper2 -fmodule-name\=CClipper2 -x objective-c-header /Users/admin/builder/spi-builder-workspace/External/CClipper2/Clipper2Lib/include/clipper2/clipper.h /Users/admin/builder/spi-builder-workspace/External/CClipper2/include/cclipper2.h
error: Build failed
error: unspecified("fatalError")
Error while generating docs: retryLimitExceeded(lastError: Optional(Shell command failed:
    env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift package --allow-writing-to-directory .docs/eaviles/ollin/main generate-documentation --emit-digest --disable-indexing --output-path .docs/eaviles/ollin/main --hosting-base-path eaviles/ollin/main --source-service github --source-service-base-url https://github.com/eaviles/Ollin/blob/main --checkout-path $PWD --target Ollin))
✅  Doc result (failed) reported
Done.