The Swift Package Index logo.Swift Package Index

Build Information

Failed to build PianoRoll, reference 1.0.7 (49e5b6), with Swift 6.4 for tvOS using Xcode 27.0 on 18 Sep 2026 20:21:43 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme PianoRoll -destination generic/platform=tvOS

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AudioKit/PianoRoll.git
Reference: 1.0.7
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/AudioKit/PianoRoll
 * tag               1.0.7      -> FETCH_HEAD
HEAD is now at 49e5b61 Reorder PianoRollNote params (#14)
Cloned https://github.com/AudioKit/PianoRoll.git
Revision (git rev-parse @):
49e5b619ffbd581431b5baa99054fa1a6982c404
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/AudioKit/PianoRoll.git at 1.0.7
========================================
Build
========================================
Selected platform:         tvOS
Swift version:             6.4
Building package at path:  $PWD
https://github.com/AudioKit/PianoRoll.git
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolve Package Graph
Resolved source packages:
  PianoRoll: /Users/admin/builder/spi-builder-workspace
resolved source packages: PianoRoll
2026-09-18 16:20:48.035 xcodebuild[557:3036] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PianoRoll",
  "name" : "PianoRoll",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "PianoRoll",
      "targets" : [
        "PianoRoll"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PianoRollTests",
      "module_type" : "SwiftTarget",
      "name" : "PianoRollTests",
      "path" : "Tests/PianoRollTests",
      "sources" : [
        "PianoRollTests.swift"
      ],
      "target_dependencies" : [
        "PianoRoll"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PianoRoll",
      "module_type" : "SwiftTarget",
      "name" : "PianoRoll",
      "path" : "Sources/PianoRoll",
      "product_memberships" : [
        "PianoRoll"
      ],
      "sources" : [
        "PianoRoll.swift",
        "PianoRollGrid.swift",
        "PianoRollModel.swift",
        "PianoRollNote.swift",
        "PianoRollNoteView.swift",
        "PreferenceKeys.swift",
        "VerticalPianoRollNoteView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
{
  "workspace" : {
    "name" : "PianoRoll",
    "schemes" : [
      "PianoRoll"
    ]
  }
}
2026-09-18 16:21:28.657 xcodebuild[655:3937] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme PianoRoll -destination generic/platform=tvOS
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme PianoRoll -destination generic/platform=tvOS
Resolve Package Graph
Resolved source packages:
  PianoRoll: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
    Target 'PianoRoll-product' in project 'PianoRoll'
        ➜ Explicit dependency on target 'PianoRoll' in project 'PianoRoll'
    Target 'PianoRoll' in project 'PianoRoll' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ExecuteExternalTool /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -v -E -dM -isysroot /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -x c -c /dev/null
ExecuteExternalTool /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc --version
ExecuteExternalTool /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -version_details
ReadFileContents /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/docc/features.json
Build description signature: 5948d5cc51b904c70b72ac4c91a8ae5f
Build description path: /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/XCBuildData/5948d5cc51b904c70b72ac4c91a8ae5f.xcbuilddata
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/CompilationCache.noindex
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/CompilationCache.noindex
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PrecompiledHeaders
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PrecompiledHeaders
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/EagerLinkingTBDs/Debug-appletvos
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/EagerLinkingTBDs/Debug-appletvos
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos
CreateBuildDirectory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PackageFrameworks
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-create-build-directory /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PackageFrameworks
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/PianoRoll.DependencyStaticMetadataFileList (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/PianoRoll.DependencyStaticMetadataFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/PianoRoll.DependencyMetadataFileList (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/PianoRoll.DependencyMetadataFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/PianoRoll.modulemap (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/PianoRoll.modulemap
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-OutputFileMap.json (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-OutputFileMap.json
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.SwiftFileList (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.SwiftFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.LinkFileList (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.LinkFileList
WriteAuxiliaryFile /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.SwiftConstValuesFileList (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    write-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.SwiftConstValuesFileList
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/GeneratedModuleMaps-appletvos/PianoRoll.modulemap /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/PianoRoll.modulemap (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/PianoRoll.modulemap /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/GeneratedModuleMaps-appletvos
SwiftDriver PianoRoll normal arm64 com.apple.xcode.tools.swift.compiler (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name PianoRoll -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -target arm64-apple-tvos15.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_float-8ZJAYZ85YBOAOP52Y9H6IUNP3.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/SwiftShims-8N4EXJ4RUJTR8K9OO3CMOH1EP.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/ptrcheck-2AZ6B5IBYD3RRRTFWN2ONASY3.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_AvailabilityInternal-BV2EDDP0MI5QJDDPEEV4D9D3V.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_SwiftConcurrencyShims-BY5PD8KF1L5KF6F4Q69HE3TJ4.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/ptrauth-8X2KEPL7CTRPS40TUB9APHPK6.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stdarg-BO2OCAUYVAXDRVQWQ8ISKGNUQ.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stdbool-AHRDH5EKLY6D04C5E42F3VCQI.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stddef-9ZJZ6FDEZNKTZU8YLPMFT9RAQ.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/DeveloperToolsSupport-B1X8RI63V48AJRTH2RK6JAARV.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_DarwinFoundation1-JOTYMOA1YZCIJ2NON6FQ848O.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_DarwinFoundation2-AOGAN1O02NKXRJN5V73AV3V3M.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_limits-7JU2HP127LIT1X9E2V3D8WZ1.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_tgmath-7ULT1EUHDHW4OZPSTT33H6QGE.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/string_h-6EVHP7A717OUS5DMC78F79HWO.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stdint-6NFTB6IBKS143IVPGT1EKB7HO.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/sys_types-8GCAV1YMG5UUGHUID3CA20TCH.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_stdatomic-3YXHN678NGYM3NL9POJ2HVEIF.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_intrinsics-437O2R2NID4WAQVENR63GR82C.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_DarwinFoundation3-8SR3855WDFHQPR6G9GHOI2C07.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_Builtin_inttypes-6X1IQ3QK9KEVKXOK9Y79EW7J3.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Darwin-DBSQAVBBPC3D2OMU5ZI2RXMST.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/simd-117QUXEUT3Z7UQCUYWV2UA228.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/MachO-EH3F5PJCIZG05NO51CEFSZYPW.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/ObjectiveC-5250FDCE56N8508OR6XUYDKZM.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/os_object-E2DGZ0SX0TULQHULZRPO6OKNW.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/os_workgroup-DBUFF7811DKMX7VPBOJPGGF1U.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Spatial-7U8NLEFXSB8BR7PJQGVMF5A4Q.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Dispatch-1QL58A0V50C39KVAIC6C38SHL.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreFoundation-7TPJ7ENDC4L1A1ESHYI9TXS0D.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/XPC-6O2DJFT3QUJ7QKTD3SNUB6PCR.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/os-3GJI8H0BNAEZPQPQ1V0VVY3FY.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CFNetwork-2CUR2VK9S3S3WPFXPNXNUWYGN.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreAudioTypes-E7EH96HAL3G83QSWLT7VWYIP4.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreGraphics-CWSP3J98S2658BYCVL6RP99T3.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Security-8VMXEKVDA3MHUH9AOTP905DID.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreAudio-6IR1XRM0Q9YQZMFW89F3H4V3X.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Foundation-BSSIP64DIGUKMAYJOG1WPQ78X.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreText-59NY7PABM0I4V978161FOC04A.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/ImageIO-88D4CLEBD4CLWQKT78PZ6H1O8.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/UserNotifications-E9ZW5TH066WIJWH9080RC5NG4.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/UIUtilities-6ZFJ1AK4H8IBGEBMYQBWGBYLK.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Accessibility-B6BODGZ4MQQTY0PBC4SHRP009.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/IOSurface-38FJ1CKX9FV2RD97O64Z7QB17.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/UniformTypeIdentifiers-95CC8U42ZA9STP5K6GP9ZVJS5.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreData-DYMPHH3PH8AX9I1FHA4VFJ675.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/OSLog-7OT6HHTMY0ZFEQJ095LJZ6NLC.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreTransferable-7V4O8DATEQ9F7SDNTCW8YWLG3.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/_LocationEssentials-ETSJ65FELPWR8WH8G49R1DF2E.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/DataDetection-37JIYZ2GWDA1L166PP1D9JKAF.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Symbols-B5AU9VM9Y7NU79RLMH13Z4IFM.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreLocation-YVXXAOMVX0JH2KO1XTTKTY51.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/OpenGLES-4NY99CNDU9WUNUYEIXSS1QFGE.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/Metal-2KYBS7IML1SD788M91YV7Q0CC.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreVideo-DPU0PB5X0XLSVA2ETRGI6FJBM.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreImage-7S2AFJ8EIY3DUFYLEAX1JR1QV.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/QuartzCore-DJSYAWKXFGVSAK5CQMOB3JSR.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/CoreMedia-4OUKVT03LV547KZJDPPJRJ4F8.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/SwiftUICore-543QU5V2NHKUFCYFJDKUJ7NYG.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/UIKit-1TKWN7VC2X6N3ITMRVA2G0EB2.pcm
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/SwiftUI-7BV1YDT6IZWW6B8OC6ENV0Y0F.pcm
SwiftCompile normal arm64 Compiling\ PreferenceKeys.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PreferenceKeys.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PreferenceKeys.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PreferenceKeys.swift
SwiftCompile normal arm64 Compiling\ VerticalPianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:84:31: error: 'DragGesture' is unavailable in tvOS
 82 |         // the drag is completed, so the entire drag is recorded
 83 |         // as a single undo.
 84 |         let noteDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                               `- error: 'DragGesture' is unavailable in tvOS
 85 |             .updating($offset) { value, state, _ in
 86 |                 state = value.translation
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:84:31: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 82 |         // the drag is completed, so the entire drag is recorded
 83 |         // as a single undo.
 84 |         let noteDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                               `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 85 |             .updating($offset) { value, state, _ in
 86 |                 state = value.translation
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:102:33: error: 'DragGesture' is unavailable in tvOS
100 |             }
101 |
102 |         let heightDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                                 `- error: 'DragGesture' is unavailable in tvOS
103 |             .updating($heightOffset) { value, state, _ in
104 |                 state = value.translation.height
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:102:33: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
100 |             }
101 |
102 |         let heightDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                                 `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
103 |             .updating($heightOffset) { value, state, _ in
104 |                 state = value.translation.height
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:125:14: error: 'onHover(perform:)' is unavailable in tvOS
123 |                 .opacity(editable ? lineOpacity : 0)
124 |         }
125 |             .onHover { over in hovering = over }
    |              `- error: 'onHover(perform:)' is unavailable in tvOS
126 |             .padding(1) // so we can see consecutive notes
127 |             .frame(width: gridSize.height,
SwiftUI.View.onHover:2:36: note: 'onHover(perform:)' has been explicitly marked unavailable here
1 | protocol View {
2 | @inlinable nonisolated public func onHover(perform action: @escaping (Bool) -> Void) -> some View
  |                                    `- note: 'onHover(perform:)' has been explicitly marked unavailable here
3 |   }
4 |
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollModel.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNote.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PreferenceKeys.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/VerticalPianoRollNoteView.d -emit-const-values-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/VerticalPianoRollNoteView.swiftconstvalues -emit-reference-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/VerticalPianoRollNoteView.swiftdeps -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/VerticalPianoRollNoteView.dia -target arm64-apple-tvos15.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PianoRoll -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-tvos27.0 -target-sdk-version 27.0 -target-sdk-name appletvos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/VerticalPianoRollNoteView.o -debug-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule -index-unit-output-path /PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/VerticalPianoRollNoteView.o -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -index-system-modules
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile VerticalPianoRollNoteView.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ PianoRoll (in target 'PianoRoll' from project 'PianoRoll')
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift:13:9: warning: stored property 'layout' of 'Sendable'-conforming struct 'PianoRollGrid' has non-Sendable type 'PianoRoll.Layout'; this is an error in the Swift 6 language mode
11 |     var length: Int
12 |     var height: Int
13 |     var layout: PianoRoll.Layout
   |         `- warning: stored property 'layout' of 'Sendable'-conforming struct 'PianoRollGrid' has non-Sendable type 'PianoRoll.Layout'; this is an error in the Swift 6 language mode
14 |
15 |     func path(in rect: CGRect) -> Path {
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:9:17: note: consider making enum 'Layout' conform to the 'Sendable' protocol
  7 | /// Note: Requires macOS 12 / iOS 15 due to SwiftUI bug (crashes in SwiftUI when deleting notes).
  8 | public struct PianoRoll: View {
  9 |     public enum Layout {
    |                 `- note: consider making enum 'Layout' conform to the 'Sendable' protocol
 10 |         case horizontal
 11 |         case vertical
SwiftCompile normal arm64 (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ PianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:83:31: error: 'DragGesture' is unavailable in tvOS
 81 |         // the drag is completed, so the entire drag is recorded
 82 |         // as a single undo.
 83 |         let noteDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                               `- error: 'DragGesture' is unavailable in tvOS
 84 |             .updating($offset) { value, state, _ in
 85 |                 state = value.translation
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:83:31: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 81 |         // the drag is completed, so the entire drag is recorded
 82 |         // as a single undo.
 83 |         let noteDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                               `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 84 |             .updating($offset) { value, state, _ in
 85 |                 state = value.translation
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:98:33: error: 'DragGesture' is unavailable in tvOS
 96 |             }
 97 |
 98 |         let lengthDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                                 `- error: 'DragGesture' is unavailable in tvOS
 99 |             .updating($lengthOffset) { value, state, _ in
100 |                 state = value.translation.width
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:98:33: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 96 |             }
 97 |
 98 |         let lengthDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                                 `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 99 |             .updating($lengthOffset) { value, state, _ in
100 |                 state = value.translation.width
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:121:14: error: 'onHover(perform:)' is unavailable in tvOS
119 |                 .opacity(editable ? lineOpacity : 0)
120 |         }
121 |             .onHover { over in hovering = over }
    |              `- error: 'onHover(perform:)' is unavailable in tvOS
122 |             .padding(1) // so we can see consecutive notes
123 |             .frame(width: max(gridSize.width, gridSize.width * CGFloat(note.length) + lengthOffset),
SwiftUI.View.onHover:2:36: note: 'onHover(perform:)' has been explicitly marked unavailable here
1 | protocol View {
2 | @inlinable nonisolated public func onHover(perform action: @escaping (Bool) -> Void) -> some View
  |                                    `- note: 'onHover(perform:)' has been explicitly marked unavailable here
3 |   }
4 |
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollModel.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNote.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PreferenceKeys.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.d -emit-const-values-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.swiftconstvalues -emit-reference-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.swiftdeps -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.dia -target arm64-apple-tvos15.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PianoRoll -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-tvos27.0 -target-sdk-version 27.0 -target-sdk-name appletvos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.o -debug-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule -index-unit-output-path /PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.o -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -index-system-modules
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PianoRollNoteView.swift
SwiftCompile normal arm64 Compiling\ PianoRollNote.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNote.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNote.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PianoRollNote.swift
SwiftCompile normal arm64 Compiling\ PianoRollModel.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollModel.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollModel.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PianoRollModel.swift
SwiftCompile normal arm64 Compiling\ PianoRollGrid.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PianoRollGrid.swift
SwiftCompile normal arm64 Compiling\ PianoRoll.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift (in target 'PianoRoll' from project 'PianoRoll')
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:59:31: error: 'DragGesture' is unavailable in tvOS
 57 |     public var body: some View {
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    |                               `- error: 'DragGesture' is unavailable in tvOS
 60 |                 let location = value.location
 61 |                 var note: PianoRollNote
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:59:31: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 57 |     public var body: some View {
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    |                               `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 60 |                 let location = value.location
 61 |                 var note: PianoRollNote
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:83:37: error: 'TapGesture' is only available in tvOS 16.0 or newer
  6 | ///
  7 | /// Note: Requires macOS 12 / iOS 15 due to SwiftUI bug (crashes in SwiftUI when deleting notes).
  8 | public struct PianoRoll: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     public enum Layout {
 10 |         case horizontal
    :
 55 |
 56 |     /// SwiftUI view with grid and ability to add, delete and modify notes
 57 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    :
 81 |                 .foregroundColor(gridColor)
 82 |                 .contentShape(Rectangle())
 83 |                 .gesture(editable ? TapGesture().sequenced(before: dragGesture) : nil)
    |                                     |- error: 'TapGesture' is only available in tvOS 16.0 or newer
    |                                     `- note: add 'if #available' version check
 84 |             ForEach(model.notes) { note in
 85 |                 switch layout {
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:96:23: error: 'onTapGesture(count:perform:)' is only available in tvOS 16.0 or newer
  6 | ///
  7 | /// Note: Requires macOS 12 / iOS 15 due to SwiftUI bug (crashes in SwiftUI when deleting notes).
  8 | public struct PianoRoll: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     public enum Layout {
 10 |         case horizontal
    :
 55 |
 56 |     /// SwiftUI view with grid and ability to add, delete and modify notes
 57 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    :
 94 |                         editable: editable,
 95 |                         lineOpacity: noteLineOpacity
 96 |                     ).onTapGesture {
    |                       |- error: 'onTapGesture(count:perform:)' is only available in tvOS 16.0 or newer
    |                       `- note: add 'if #available' version check
 97 |                         guard editable else { return }
 98 |                         model.notes.removeAll(where: { $0 == note })
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:111:23: error: 'onTapGesture(count:perform:)' is only available in tvOS 16.0 or newer
  6 | ///
  7 | /// Note: Requires macOS 12 / iOS 15 due to SwiftUI bug (crashes in SwiftUI when deleting notes).
  8 | public struct PianoRoll: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     public enum Layout {
 10 |         case horizontal
    :
 55 |
 56 |     /// SwiftUI view with grid and ability to add, delete and modify notes
 57 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    :
109 |                         editable: editable,
110 |                         lineOpacity: noteLineOpacity
111 |                     ).onTapGesture {
    |                       |- error: 'onTapGesture(count:perform:)' is only available in tvOS 16.0 or newer
    |                       `- note: add 'if #available' version check
112 |                         guard editable else { return }
113 |                         model.notes.removeAll(where: { $0 == note })
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c -primary-file /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollModel.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNote.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PreferenceKeys.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-20eae9349288103f4f53f1435fdc0e13.d -emit-const-values-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-20eae9349288103f4f53f1435fdc0e13.swiftconstvalues -emit-reference-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-20eae9349288103f4f53f1435fdc0e13.swiftdeps -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-20eae9349288103f4f53f1435fdc0e13.dia -target arm64-apple-tvos15.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PianoRoll -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-tvos27.0 -target-sdk-version 27.0 -target-sdk-name appletvos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-20eae9349288103f4f53f1435fdc0e13.o -debug-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule -index-unit-output-path /PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-20eae9349288103f4f53f1435fdc0e13.o -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -index-system-modules
SwiftCompile normal arm64 (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftDriverJobDiscovery normal arm64 Emitting module for PianoRoll (in target 'PianoRoll' from project 'PianoRoll')
SwiftDriver\ Compilation\ Requirements PianoRoll normal arm64 com.apple.xcode.tools.swift.compiler (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-Swift-Compilation-Requirements -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name PianoRoll -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -target arm64-apple-tvos15.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftMergeGeneratedHeaders /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/GeneratedModuleMaps-appletvos/PianoRoll-Swift.h /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-Swift.h (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-swiftHeaderTool -arch arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-Swift.h -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/GeneratedModuleMaps-appletvos/PianoRoll-Swift.h
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PianoRoll.swiftmodule/arm64-apple-tvos.swiftmodule /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -rename /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PianoRoll.swiftmodule/arm64-apple-tvos.swiftmodule
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PianoRoll.swiftmodule/arm64-apple-tvos.swiftdoc /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftdoc (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -rename /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftdoc /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PianoRoll.swiftmodule/arm64-apple-tvos.swiftdoc
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PianoRoll.swiftmodule/arm64-apple-tvos.abi.json /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.abi.json (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -rename /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.abi.json /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PianoRoll.swiftmodule/arm64-apple-tvos.abi.json
Copy /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PianoRoll.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftsourceinfo (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks -rename /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftsourceinfo /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/PianoRoll.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-18 16:21:30.367 xcodebuild[657:3999] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64 Compiling\ VerticalPianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
	SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
	SwiftCompile normal arm64 Compiling\ PianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
	SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
	SwiftCompile normal arm64 Compiling\ PianoRoll.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift (in target 'PianoRoll' from project 'PianoRoll')
	SwiftCompile normal arm64 (in target 'PianoRoll' from project 'PianoRoll')
	Building workspace PianoRoll with scheme PianoRoll
(7 failures)
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
  PianoRoll: /Users/admin/builder/spi-builder-workspace
resolved source packages: PianoRoll
2026-09-18 16:21:40.257 xcodebuild[770:4563] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PianoRoll",
  "name" : "PianoRoll",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "PianoRoll",
      "targets" : [
        "PianoRoll"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PianoRollTests",
      "module_type" : "SwiftTarget",
      "name" : "PianoRollTests",
      "path" : "Tests/PianoRollTests",
      "sources" : [
        "PianoRollTests.swift"
      ],
      "target_dependencies" : [
        "PianoRoll"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PianoRoll",
      "module_type" : "SwiftTarget",
      "name" : "PianoRoll",
      "path" : "Sources/PianoRoll",
      "product_memberships" : [
        "PianoRoll"
      ],
      "sources" : [
        "PianoRoll.swift",
        "PianoRollGrid.swift",
        "PianoRollModel.swift",
        "PianoRollNote.swift",
        "PianoRollNoteView.swift",
        "PreferenceKeys.swift",
        "VerticalPianoRollNoteView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
{
  "workspace" : {
    "name" : "PianoRoll",
    "schemes" : [
      "PianoRoll"
    ]
  }
}
2026-09-18 16:21:41.456 xcodebuild[778:4630] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme PianoRoll -destination generic/platform=tvOS
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme PianoRoll -destination generic/platform=tvOS
Resolve Package Graph
Resolved source packages:
  PianoRoll: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
    Target 'PianoRoll-product' in project 'PianoRoll'
        ➜ Explicit dependency on target 'PianoRoll' in project 'PianoRoll'
    Target 'PianoRoll' in project 'PianoRoll' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache
SwiftDriver PianoRoll normal arm64 com.apple.xcode.tools.swift.compiler (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name PianoRoll -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -target arm64-apple-tvos15.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ PianoRollNote.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNote.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNote.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PianoRollNote.swift
SwiftCompile normal arm64 Compiling\ PianoRollGrid.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PianoRollGrid.swift
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift:13:9: warning: stored property 'layout' of 'Sendable'-conforming struct 'PianoRollGrid' has non-Sendable type 'PianoRoll.Layout'; this is an error in the Swift 6 language mode
11 |     var length: Int
12 |     var height: Int
13 |     var layout: PianoRoll.Layout
   |         `- warning: stored property 'layout' of 'Sendable'-conforming struct 'PianoRollGrid' has non-Sendable type 'PianoRoll.Layout'; this is an error in the Swift 6 language mode
14 |
15 |     func path(in rect: CGRect) -> Path {
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:9:17: note: consider making enum 'Layout' conform to the 'Sendable' protocol
  7 | /// Note: Requires macOS 12 / iOS 15 due to SwiftUI bug (crashes in SwiftUI when deleting notes).
  8 | public struct PianoRoll: View {
  9 |     public enum Layout {
    |                 `- note: consider making enum 'Layout' conform to the 'Sendable' protocol
 10 |         case horizontal
 11 |         case vertical
SwiftCompile normal arm64 Compiling\ PianoRoll.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:59:31: error: 'DragGesture' is unavailable in tvOS
 57 |     public var body: some View {
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    |                               `- error: 'DragGesture' is unavailable in tvOS
 60 |                 let location = value.location
 61 |                 var note: PianoRollNote
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:59:31: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 57 |     public var body: some View {
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    |                               `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 60 |                 let location = value.location
 61 |                 var note: PianoRollNote
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:83:37: error: 'TapGesture' is only available in tvOS 16.0 or newer
  6 | ///
  7 | /// Note: Requires macOS 12 / iOS 15 due to SwiftUI bug (crashes in SwiftUI when deleting notes).
  8 | public struct PianoRoll: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     public enum Layout {
 10 |         case horizontal
    :
 55 |
 56 |     /// SwiftUI view with grid and ability to add, delete and modify notes
 57 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    :
 81 |                 .foregroundColor(gridColor)
 82 |                 .contentShape(Rectangle())
 83 |                 .gesture(editable ? TapGesture().sequenced(before: dragGesture) : nil)
    |                                     |- error: 'TapGesture' is only available in tvOS 16.0 or newer
    |                                     `- note: add 'if #available' version check
 84 |             ForEach(model.notes) { note in
 85 |                 switch layout {
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:96:23: error: 'onTapGesture(count:perform:)' is only available in tvOS 16.0 or newer
  6 | ///
  7 | /// Note: Requires macOS 12 / iOS 15 due to SwiftUI bug (crashes in SwiftUI when deleting notes).
  8 | public struct PianoRoll: View {
    |               `- note: add '@available' attribute to enclosing struct
  9 |     public enum Layout {
 10 |         case horizontal
    :
 55 |
 56 |     /// SwiftUI view with grid and ability to add, delete and modify notes
 57 |     public var body: some View {
    |                `- note: add '@available' attribute to enclosing property
 58 |         ZStack(alignment: .topLeading) {
 59 |             let dragGesture = DragGesture(minimumDistance: 0).onEnded { value in
    :
 94 |                         editable: editable,
 95 |                         lineOpacity: noteLineOpacity
 96 |                     ).onTapGesture {
    |                       |- error: 'onTapGesture(count:perform:)' is only available in tvOS 16.0 or newer
    |                       `- note: add 'if #available' version check
 97 |                         guard editable else { return }
 98 |                         model.notes.removeAll(where: { $0 == note })
SwiftCompile normal arm64 Compiling\ PianoRollModel.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollModel.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollModel.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PianoRollModel.swift
SwiftCompile normal arm64 Compiling\ PianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:83:31: error: 'DragGesture' is unavailable in tvOS
 81 |         // the drag is completed, so the entire drag is recorded
 82 |         // as a single undo.
 83 |         let noteDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                               `- error: 'DragGesture' is unavailable in tvOS
 84 |             .updating($offset) { value, state, _ in
 85 |                 state = value.translation
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:83:31: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 81 |         // the drag is completed, so the entire drag is recorded
 82 |         // as a single undo.
 83 |         let noteDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                               `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 84 |             .updating($offset) { value, state, _ in
 85 |                 state = value.translation
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:98:33: error: 'DragGesture' is unavailable in tvOS
 96 |             }
 97 |
 98 |         let lengthDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                                 `- error: 'DragGesture' is unavailable in tvOS
 99 |             .updating($lengthOffset) { value, state, _ in
100 |                 state = value.translation.width
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:98:33: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 96 |             }
 97 |
 98 |         let lengthDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                                 `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 99 |             .updating($lengthOffset) { value, state, _ in
100 |                 state = value.translation.width
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift:121:14: error: 'onHover(perform:)' is unavailable in tvOS
119 |                 .opacity(editable ? lineOpacity : 0)
120 |         }
121 |             .onHover { over in hovering = over }
    |              `- error: 'onHover(perform:)' is unavailable in tvOS
122 |             .padding(1) // so we can see consecutive notes
123 |             .frame(width: max(gridSize.width, gridSize.width * CGFloat(note.length) + lengthOffset),
SwiftUI.View.onHover:2:36: note: 'onHover(perform:)' has been explicitly marked unavailable here
1 | protocol View {
2 | @inlinable nonisolated public func onHover(perform action: @escaping (Bool) -> Void) -> some View
  |                                    `- note: 'onHover(perform:)' has been explicitly marked unavailable here
3 |   }
4 |
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollModel.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNote.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PreferenceKeys.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.d -emit-const-values-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.swiftconstvalues -emit-reference-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.swiftdeps -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.dia -target arm64-apple-tvos15.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PianoRoll -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-tvos27.0 -target-sdk-version 27.0 -target-sdk-name appletvos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.o -debug-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRoll.swiftmodule -index-unit-output-path /PianoRoll.build/Debug-appletvos/PianoRoll-t.build/Objects-normal/arm64/PianoRollNoteView.o -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -index-system-modules
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PianoRollNoteView.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ PianoRoll (in target 'PianoRoll' from project 'PianoRoll')
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollGrid.swift:13:9: warning: stored property 'layout' of 'Sendable'-conforming struct 'PianoRollGrid' has non-Sendable type 'PianoRoll.Layout'; this is an error in the Swift 6 language mode
11 |     var length: Int
12 |     var height: Int
13 |     var layout: PianoRoll.Layout
   |         `- warning: stored property 'layout' of 'Sendable'-conforming struct 'PianoRollGrid' has non-Sendable type 'PianoRoll.Layout'; this is an error in the Swift 6 language mode
14 |
15 |     func path(in rect: CGRect) -> Path {
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRoll.swift:9:17: note: consider making enum 'Layout' conform to the 'Sendable' protocol
  7 | /// Note: Requires macOS 12 / iOS 15 due to SwiftUI bug (crashes in SwiftUI when deleting notes).
  8 | public struct PianoRoll: View {
  9 |     public enum Layout {
    |                 `- note: consider making enum 'Layout' conform to the 'Sendable' protocol
 10 |         case horizontal
 11 |         case vertical
SwiftCompile normal arm64 (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ VerticalPianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile VerticalPianoRollNoteView.swift
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:84:31: error: 'DragGesture' is unavailable in tvOS
 82 |         // the drag is completed, so the entire drag is recorded
 83 |         // as a single undo.
 84 |         let noteDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                               `- error: 'DragGesture' is unavailable in tvOS
 85 |             .updating($offset) { value, state, _ in
 86 |                 state = value.translation
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:84:31: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 82 |         // the drag is completed, so the entire drag is recorded
 83 |         // as a single undo.
 84 |         let noteDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                               `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
 85 |             .updating($offset) { value, state, _ in
 86 |                 state = value.translation
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:102:33: error: 'DragGesture' is unavailable in tvOS
100 |             }
101 |
102 |         let heightDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                                 `- error: 'DragGesture' is unavailable in tvOS
103 |             .updating($heightOffset) { value, state, _ in
104 |                 state = value.translation.height
SwiftUI.DragGesture:3:42: note: 'DragGesture' has been explicitly marked unavailable here
 1 | @available(iOS 13.0, macOS 10.15, watchOS 6.0, *)
 2 | @available(tvOS, unavailable)
 3 | @MainActor @preconcurrency public struct DragGesture : Gesture, ~Sendable {
   |                                          `- note: 'DragGesture' has been explicitly marked unavailable here
 4 |     public struct Value : Equatable, Sendable {
 5 |         public var time: Date
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:102:33: error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
100 |             }
101 |
102 |         let heightDragGesture = DragGesture(minimumDistance: minimumDistance)
    |                                 `- error: 'init(minimumDistance:coordinateSpace:)' is unavailable in tvOS
103 |             .updating($heightOffset) { value, state, _ in
104 |                 state = value.translation.height
SwiftUI.DragGesture.init:4:37: note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
2 | @available(iOS 17.0, macOS 14.0, watchOS 10.0, *)
3 |   @available(tvOS, unavailable)
4 |   @MainActor @preconcurrency public init(minimumDistance: CGFloat = 10, coordinateSpace: some CoordinateSpaceProtocol = .local)}
  |                                     `- note: 'init(minimumDistance:coordinateSpace:)' has been explicitly marked unavailable here
5 |
/Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/VerticalPianoRollNoteView.swift:125:14: error: 'onHover(perform:)' is unavailable in tvOS
123 |                 .opacity(editable ? lineOpacity : 0)
124 |         }
125 |             .onHover { over in hovering = over }
    |              `- error: 'onHover(perform:)' is unavailable in tvOS
126 |             .padding(1) // so we can see consecutive notes
127 |             .frame(width: gridSize.height,
SwiftUI.View.onHover:2:36: note: 'onHover(perform:)' has been explicitly marked unavailable here
1 | protocol View {
2 | @inlinable nonisolated public func onHover(perform action: @escaping (Bool) -> Void) -> some View
  |                                    `- note: 'onHover(perform:)' has been explicitly marked unavailable here
3 |   }
4 |
SwiftCompile normal arm64 Compiling\ PreferenceKeys.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PreferenceKeys.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PreferenceKeys.swift (in target 'PianoRoll' from project 'PianoRoll')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PreferenceKeys.swift
SwiftDriverJobDiscovery normal arm64 Compiling PreferenceKeys.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftDriverJobDiscovery normal arm64 Compiling PianoRollNote.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftDriverJobDiscovery normal arm64 Compiling PianoRollModel.swift (in target 'PianoRoll' from project 'PianoRoll')
SwiftDriverJobDiscovery normal arm64 Compiling PianoRollGrid.swift (in target 'PianoRoll' from project 'PianoRoll')
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-18 16:21:42.417 xcodebuild[779:4658] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64 Compiling\ PianoRollNoteView.swift /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
	SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PianoRoll/PianoRollNoteView.swift (in target 'PianoRoll' from project 'PianoRoll')
	Building workspace PianoRoll with scheme PianoRoll
(3 failures)
BUILD FAILURE 6.4 tvOS