Build Information
Successful build of ShaderKit, reference main (0f4f5b), with Swift 6.1 for macOS (SPM) on 24 Jul 2026 10:14:57 UTC.
Swift 6 data race errors: 1
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jamesrochabrun/ShaderKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jamesrochabrun/ShaderKit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 0f4f5b4 Migrate to a single one-shot trading-card skill (completes #23)
Cloned https://github.com/jamesrochabrun/ShaderKit.git
Revision (git rev-parse @):
0f4f5b41b58f2eaddfe2ba46d8dd721d0732d5c7
SUCCESS checkout https://github.com/jamesrochabrun/ShaderKit.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/jamesrochabrun/ShaderKit.git
https://github.com/jamesrochabrun/ShaderKit.git
{
"dependencies" : [
],
"manifest_display_name" : "ShaderKit",
"name" : "ShaderKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "17.0"
},
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "ShaderKit",
"targets" : [
"ShaderKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ShaderKitUI",
"targets" : [
"ShaderKitUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ShaderCards",
"targets" : [
"ShaderCards"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ShaderCardsDemo",
"targets" : [
"ShaderCardsDemo"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "ShaderKitUI",
"module_type" : "SwiftTarget",
"name" : "ShaderKitUI",
"path" : "Sources/ShaderKitUI",
"product_memberships" : [
"ShaderKitUI"
],
"sources" : [
"Audio/ToneGenerator.swift",
"Components/JellyButton.swift",
"Components/JellySwitch.swift",
"Physics/SpringPhysics.swift",
"ShaderKitUI.swift"
],
"target_dependencies" : [
"ShaderKit"
],
"type" : "library"
},
{
"c99name" : "ShaderKitTests",
"module_type" : "SwiftTarget",
"name" : "ShaderKitTests",
"path" : "Tests/ShaderKitTests",
"sources" : [
"ShaderKitTests.swift"
],
"target_dependencies" : [
"ShaderKit"
],
"type" : "test"
},
{
"c99name" : "ShaderKit",
"module_type" : "SwiftTarget",
"name" : "ShaderKit",
"path" : "Sources/ShaderKit",
"product_memberships" : [
"ShaderKit",
"ShaderKitUI",
"ShaderCards",
"ShaderCardsDemo"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/AmazingRareShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/BasicGlareShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/BlendedHoloShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/BubbleShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/CodexLogoShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/CosmosHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/DiagonalHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/DiamondGridShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/EtchedFoilShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/FoilEffectsShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/FrozenShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/GlassShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/HalftonePastelShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/IntenseBlingShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/JellyButtonShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/JellySwitchShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/LightsaberShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/LiquidTechShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/MaskedFoilShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/PolishedAluminumShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/PremiumMaterialShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/RadialStarShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/RadiantHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/RainbowRareShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/RegularHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/ReverseHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/ShaderUtilities.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/ShinyRareShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/SnowfallShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/SpiralRingsShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/StarburstShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/SubtleGradientShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/ThermostatShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/TradingCardHoloShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/WaterShader.metal",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Containers/CardLayerExplodeContainer.swift",
"Containers/ExplodableCard/CardLayer.swift",
"Containers/ExplodableCard/CardLayerBuilder.swift",
"Containers/ExplodableCard/ExplodableHolographicCard.swift",
"Containers/ExplodableCard/ExplodedLayerView.swift",
"Containers/HolographicCardContainer.swift",
"Containers/HolographicInteractionMode.swift",
"Containers/SimpleCardContent.swift",
"Effects/ShaderContext.swift",
"Effects/ShaderEffect.swift",
"Effects/TradingCardHoloStyle.swift",
"Modifiers/ShaderModifier.swift",
"Modifiers/View+Shader.swift",
"ShaderKit.swift",
"Utilities/Spring.swift"
],
"type" : "library"
},
{
"c99name" : "ShaderCardsTests",
"module_type" : "SwiftTarget",
"name" : "ShaderCardsTests",
"path" : "Tests/ShaderCardsTests",
"sources" : [
"ShaderCardsTests.swift",
"SnapshotRenderTests.swift"
],
"target_dependencies" : [
"ShaderCards"
],
"type" : "test"
},
{
"c99name" : "ShaderCardsDemo",
"module_type" : "SwiftTarget",
"name" : "ShaderCardsDemo",
"path" : "Sources/ShaderCardsDemo",
"product_memberships" : [
"ShaderCardsDemo"
],
"sources" : [
"ShaderCardsDemoApp.swift"
],
"target_dependencies" : [
"ShaderCards"
],
"type" : "executable"
},
{
"c99name" : "ShaderCards",
"module_type" : "SwiftTarget",
"name" : "ShaderCards",
"path" : "Sources/ShaderCards",
"product_memberships" : [
"ShaderCards",
"ShaderCardsDemo"
],
"sources" : [
"Art/ArtSceneSpec.swift",
"Art/ArtworkSpecs.swift",
"Art/ArtworkView.swift",
"Art/Backdrops.swift",
"Art/Figures/BirdFigure.swift",
"Art/Figures/CatFigure.swift",
"Art/Figures/DrakeFigure.swift",
"Art/Figures/FishFigure.swift",
"Art/Figures/FoxFigure.swift",
"Art/Figures/GolemFigure.swift",
"Art/Figures/JellyFigure.swift",
"Art/Figures/MothFigure.swift",
"Art/Figures/SerpentFigure.swift",
"Art/Figures/TurtleFigure.swift",
"Art/Figures/WispFigure.swift",
"Art/Figures/WolfFigure.swift",
"Art/ParticleField.swift",
"Art/SceneRandom.swift",
"Builder/CardBuilder.swift",
"Components/ArtWindow.swift",
"Components/AttackRow.swift",
"Components/CardFooter.swift",
"Components/CardHeader.swift",
"Components/EnergyIcon.swift",
"Components/RaritySymbolView.swift",
"Design/CardMetrics.swift",
"Design/CardTypography.swift",
"Design/ElementPalette.swift",
"Frames/EnergyCardFace.swift",
"Frames/FullArtCardFace.swift",
"Frames/MinimalCardFace.swift",
"Frames/StandardCardFace.swift",
"Frames/TrainerCardFace.swift",
"Library/CardLibrary.swift",
"Library/PremiumMaterialEditions.swift",
"Library/SpecialEditions.swift",
"Library/TradingCardHoloEditions.swift",
"Model/Card.swift",
"Model/CardArt.swift",
"Model/CardArtwork.swift",
"Model/CardAttack.swift",
"Model/CardFinish.swift",
"Model/CardLayout.swift",
"Model/CardModel.swift",
"Model/CardRarity.swift",
"Model/CardStage.swift",
"Model/ElementType.swift",
"Model/PremiumCardFinishes.swift",
"Model/TradingCardHoloFinishes.swift",
"ShaderCards.swift",
"Views/CardFaceView.swift",
"Views/CardGalleryView.swift",
"Views/CardLayerFactory.swift",
"Views/CardStudioView.swift",
"Views/ExplodableCardView.swift"
],
"target_dependencies" : [
"ShaderKit"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/44] Copying WaterShader.metal
[0/44] Copying TradingCardHoloShaders.metal
[2/44] Copying SnowfallShader.metal
[2/44] Copying ThermostatShaders.metal
[3/44] Copying SubtleGradientShader.metal
[3/44] Copying StarburstShaders.metal
[4/44] Copying ShinyRareShader.metal
[4/44] Copying ShaderUtilities.metal
[4/44] Copying SpiralRingsShader.metal
[4/44] Copying RegularHoloShader.metal
[4/44] Copying ReverseHoloShader.metal
[11/44] Copying JellySwitchShader.metal
[11/44] Copying RainbowRareShader.metal
[11/44] Copying RadialStarShader.metal
[12/44] Copying PremiumMaterialShaders.metal
[13/44] Copying PolishedAluminumShader.metal
[13/44] Copying LightsaberShaders.metal
[13/44] Copying LiquidTechShader.metal
[13/44] Copying RadiantHoloShader.metal
[18/44] Copying MaskedFoilShaders.metal
[18/44] Copying JellyButtonShader.metal
[18/44] Copying HalftonePastelShader.metal
[18/44] Copying GlassShaders.metal
[18/44] Copying IntenseBlingShader.metal
[18/44] Copying FrozenShader.metal
[25/44] Copying CosmosHoloShader.metal
[25/44] Copying FoilEffectsShaders.metal
[25/44] Copying EtchedFoilShader.metal
[25/44] Copying DiamondGridShader.metal
[25/44] Copying DiagonalHoloShader.metal
[25/44] Copying CodexLogoShader.metal
[25/44] Copying BubbleShaders.metal
[25/44] Copying BasicGlareShader.metal
[32/44] Write sources
[33/44] Copying BlendedHoloShaders.metal
[33/44] Write sources
[37/44] Copying AmazingRareShader.metal
[38/44] Write ShaderCardsDemo-entitlement.plist
[38/44] Write sources
[40/44] Write swift-version-2F0A5646E1D333AE.txt
[42/60] Compiling ShaderKit Spring.swift
[43/61] Compiling ShaderKit resource_bundle_accessor.swift
[44/61] Compiling ShaderKit ShaderKit.swift
[45/61] Compiling ShaderKit TradingCardHoloStyle.swift
[46/61] Compiling ShaderKit ShaderModifier.swift
[47/61] Compiling ShaderKit View+Shader.swift
[48/61] Compiling ShaderKit ShaderContext.swift
[49/61] Compiling ShaderKit ShaderEffect.swift
[50/61] Compiling ShaderKit ExplodedLayerView.swift
[51/61] Compiling ShaderKit HolographicCardContainer.swift
[52/61] Compiling ShaderKit CardLayerBuilder.swift
[53/61] Compiling ShaderKit ExplodableHolographicCard.swift
[54/61] Emitting module ShaderKit
[55/61] Compiling ShaderKit CardLayerExplodeContainer.swift
[56/61] Compiling ShaderKit CardLayer.swift
[57/61] Compiling ShaderKit HolographicInteractionMode.swift
[58/61] Compiling ShaderKit SimpleCardContent.swift
[59/118] Compiling ShaderKitUI SpringPhysics.swift
[60/118] Compiling ShaderKitUI ShaderKitUI.swift
[61/118] Compiling ShaderKitUI JellySwitch.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKitUI/Components/JellySwitch.swift:214:7: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
212 |
213 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.05) { [weak self] in
214 | self?.pressed = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
215 | }
216 | }
[62/118] Compiling ShaderKitUI JellyButton.swift
[63/118] Emitting module ShaderKitUI
[64/118] Compiling ShaderKitUI ToneGenerator.swift
[65/118] Emitting module ShaderCards
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:129:22: warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
127 | /// Decode-once cache for custom image art, keyed by the image data.
128 | enum ArtImageCache {
129 | private static let cache = NSCache<NSData, PlatformImage>()
| |- warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | static func image(for data: Data) -> PlatformImage? {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSCache.h:13:12: note: generic class 'NSCache' does not conform to the 'Sendable' protocol
11 |
12 | API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0))
13 | @interface NSCache <KeyType, ObjectType> : NSObject
| `- note: generic class 'NSCache' does not conform to the 'Sendable' protocol
14 |
15 | @property (copy) NSString *name;
[66/123] Compiling ShaderCards CardAttack.swift
[67/123] Compiling ShaderCards CardFinish.swift
[68/123] Compiling ShaderCards CardLayout.swift
[69/123] Compiling ShaderCards CardModel.swift
[70/123] Compiling ShaderCards CardRarity.swift
[71/123] Compiling ShaderCards CardStage.swift
[72/123] Compiling ShaderCards ElementType.swift
[73/123] Compiling ShaderCards PremiumCardFinishes.swift
[74/123] Compiling ShaderCards TradingCardHoloFinishes.swift
[75/123] Compiling ShaderCards ShaderCards.swift
[76/123] Compiling ShaderCards SerpentFigure.swift
[77/123] Compiling ShaderCards TurtleFigure.swift
[78/123] Compiling ShaderCards WispFigure.swift
[79/123] Compiling ShaderCards WolfFigure.swift
[80/123] Compiling ShaderCards ParticleField.swift
[81/123] Compiling ShaderCards SceneRandom.swift
[82/123] Compiling ShaderCards DrakeFigure.swift
[83/123] Compiling ShaderCards FishFigure.swift
[84/123] Compiling ShaderCards FoxFigure.swift
[85/123] Compiling ShaderCards GolemFigure.swift
[86/123] Compiling ShaderCards JellyFigure.swift
[87/123] Compiling ShaderCards MothFigure.swift
[88/123] Compiling ShaderCards ArtSceneSpec.swift
[89/123] Compiling ShaderCards ArtworkSpecs.swift
[90/123] Compiling ShaderCards ArtworkView.swift
[91/123] Compiling ShaderCards Backdrops.swift
[92/123] Compiling ShaderCards BirdFigure.swift
[93/123] Compiling ShaderCards CatFigure.swift
[94/123] Compiling ShaderCards SpecialEditions.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:129:22: warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
127 | /// Decode-once cache for custom image art, keyed by the image data.
128 | enum ArtImageCache {
129 | private static let cache = NSCache<NSData, PlatformImage>()
| |- warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | static func image(for data: Data) -> PlatformImage? {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSCache.h:13:12: note: generic class 'NSCache' does not conform to the 'Sendable' protocol
11 |
12 | API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0))
13 | @interface NSCache <KeyType, ObjectType> : NSObject
| `- note: generic class 'NSCache' does not conform to the 'Sendable' protocol
14 |
15 | @property (copy) NSString *name;
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:15: error: cannot convert value of type 'T?' to specified type 'String'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'T?' to specified type 'String'
63 | }
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:59:39: error: generic parameter 'ElementOfResult' could not be inferred
57 | case .image: "Custom Art"
58 | case .gradient: "Gradient"
59 | case .layered(let layers): layers.compactMap { layer in
| `- error: generic parameter 'ElementOfResult' could not be inferred
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
Swift.Sequence.compactMap:2:24: note: in call to function 'compactMap'
1 | protocol Sequence {
2 | @inlinable public func compactMap<ElementOfResult>(_ transform: (Self.Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult]}
| `- note: in call to function 'compactMap'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:18: error: cannot convert value of type 'String' to expected argument type 'T?'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'String' to expected argument type 'T?'
63 | }
64 | }
[95/123] Compiling ShaderCards TradingCardHoloEditions.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:129:22: warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
127 | /// Decode-once cache for custom image art, keyed by the image data.
128 | enum ArtImageCache {
129 | private static let cache = NSCache<NSData, PlatformImage>()
| |- warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | static func image(for data: Data) -> PlatformImage? {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSCache.h:13:12: note: generic class 'NSCache' does not conform to the 'Sendable' protocol
11 |
12 | API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0))
13 | @interface NSCache <KeyType, ObjectType> : NSObject
| `- note: generic class 'NSCache' does not conform to the 'Sendable' protocol
14 |
15 | @property (copy) NSString *name;
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:15: error: cannot convert value of type 'T?' to specified type 'String'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'T?' to specified type 'String'
63 | }
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:59:39: error: generic parameter 'ElementOfResult' could not be inferred
57 | case .image: "Custom Art"
58 | case .gradient: "Gradient"
59 | case .layered(let layers): layers.compactMap { layer in
| `- error: generic parameter 'ElementOfResult' could not be inferred
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
Swift.Sequence.compactMap:2:24: note: in call to function 'compactMap'
1 | protocol Sequence {
2 | @inlinable public func compactMap<ElementOfResult>(_ transform: (Self.Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult]}
| `- note: in call to function 'compactMap'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:18: error: cannot convert value of type 'String' to expected argument type 'T?'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'String' to expected argument type 'T?'
63 | }
64 | }
[96/123] Compiling ShaderCards Card.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:129:22: warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
127 | /// Decode-once cache for custom image art, keyed by the image data.
128 | enum ArtImageCache {
129 | private static let cache = NSCache<NSData, PlatformImage>()
| |- warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | static func image(for data: Data) -> PlatformImage? {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSCache.h:13:12: note: generic class 'NSCache' does not conform to the 'Sendable' protocol
11 |
12 | API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0))
13 | @interface NSCache <KeyType, ObjectType> : NSObject
| `- note: generic class 'NSCache' does not conform to the 'Sendable' protocol
14 |
15 | @property (copy) NSString *name;
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:15: error: cannot convert value of type 'T?' to specified type 'String'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'T?' to specified type 'String'
63 | }
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:59:39: error: generic parameter 'ElementOfResult' could not be inferred
57 | case .image: "Custom Art"
58 | case .gradient: "Gradient"
59 | case .layered(let layers): layers.compactMap { layer in
| `- error: generic parameter 'ElementOfResult' could not be inferred
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
Swift.Sequence.compactMap:2:24: note: in call to function 'compactMap'
1 | protocol Sequence {
2 | @inlinable public func compactMap<ElementOfResult>(_ transform: (Self.Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult]}
| `- note: in call to function 'compactMap'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:18: error: cannot convert value of type 'String' to expected argument type 'T?'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'String' to expected argument type 'T?'
63 | }
64 | }
[97/123] Compiling ShaderCards CardArt.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:129:22: warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
127 | /// Decode-once cache for custom image art, keyed by the image data.
128 | enum ArtImageCache {
129 | private static let cache = NSCache<NSData, PlatformImage>()
| |- warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | static func image(for data: Data) -> PlatformImage? {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSCache.h:13:12: note: generic class 'NSCache' does not conform to the 'Sendable' protocol
11 |
12 | API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0))
13 | @interface NSCache <KeyType, ObjectType> : NSObject
| `- note: generic class 'NSCache' does not conform to the 'Sendable' protocol
14 |
15 | @property (copy) NSString *name;
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:15: error: cannot convert value of type 'T?' to specified type 'String'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'T?' to specified type 'String'
63 | }
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:59:39: error: generic parameter 'ElementOfResult' could not be inferred
57 | case .image: "Custom Art"
58 | case .gradient: "Gradient"
59 | case .layered(let layers): layers.compactMap { layer in
| `- error: generic parameter 'ElementOfResult' could not be inferred
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
Swift.Sequence.compactMap:2:24: note: in call to function 'compactMap'
1 | protocol Sequence {
2 | @inlinable public func compactMap<ElementOfResult>(_ transform: (Self.Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult]}
| `- note: in call to function 'compactMap'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:18: error: cannot convert value of type 'String' to expected argument type 'T?'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'String' to expected argument type 'T?'
63 | }
64 | }
[98/123] Compiling ShaderCards CardArtwork.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:129:22: warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
127 | /// Decode-once cache for custom image art, keyed by the image data.
128 | enum ArtImageCache {
129 | private static let cache = NSCache<NSData, PlatformImage>()
| |- warning: static property 'cache' is not concurrency-safe because non-'Sendable' type 'NSCache<NSData, PlatformImage>' (aka 'NSCache<NSData, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | static func image(for data: Data) -> PlatformImage? {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSCache.h:13:12: note: generic class 'NSCache' does not conform to the 'Sendable' protocol
11 |
12 | API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0))
13 | @interface NSCache <KeyType, ObjectType> : NSObject
| `- note: generic class 'NSCache' does not conform to the 'Sendable' protocol
14 |
15 | @property (copy) NSString *name;
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:15: error: cannot convert value of type 'T?' to specified type 'String'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'T?' to specified type 'String'
63 | }
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:59:39: error: generic parameter 'ElementOfResult' could not be inferred
57 | case .image: "Custom Art"
58 | case .gradient: "Gradient"
59 | case .layered(let layers): layers.compactMap { layer in
| `- error: generic parameter 'ElementOfResult' could not be inferred
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
Swift.Sequence.compactMap:2:24: note: in call to function 'compactMap'
1 | protocol Sequence {
2 | @inlinable public func compactMap<ElementOfResult>(_ transform: (Self.Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult]}
| `- note: in call to function 'compactMap'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:62:18: error: cannot convert value of type 'String' to expected argument type 'T?'
60 | if case .gradient = layer { return nil }
61 | return layer.displayName
62 | }.first ?? "Layered Art"
| `- error: cannot convert value of type 'String' to expected argument type 'T?'
63 | }
64 | }
[99/123] Compiling ShaderCards CardBuilder.swift
[100/123] Compiling ShaderCards ArtWindow.swift
[101/123] Compiling ShaderCards AttackRow.swift
[102/123] Compiling ShaderCards CardFooter.swift
[103/123] Compiling ShaderCards CardHeader.swift
[104/123] Compiling ShaderCards EnergyIcon.swift
[105/123] Compiling ShaderCards RaritySymbolView.swift
[106/123] Compiling ShaderCards CardMetrics.swift
[107/123] Compiling ShaderCards CardTypography.swift
[108/123] Compiling ShaderCards ElementPalette.swift
[109/123] Compiling ShaderCards EnergyCardFace.swift
[110/123] Compiling ShaderCards FullArtCardFace.swift
[111/123] Compiling ShaderCards MinimalCardFace.swift
[112/123] Compiling ShaderCards StandardCardFace.swift
[113/123] Compiling ShaderCards TrainerCardFace.swift
[114/123] Compiling ShaderCards CardLibrary.swift
[115/123] Compiling ShaderCards PremiumMaterialEditions.swift
[116/123] Compiling ShaderCards CardFaceView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/MinimalCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The minimal card face: the artwork is the card.
13 | struct MinimalCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: CardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/FullArtCardFace.swift:14:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
12 | /// The full-art card face: artwork bleeds to the card edges and the UI
13 | /// chrome floats on frosted panels, like modern ultra-rare cards.
14 | struct FullArtCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
15 | let card: CardModel
16 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/EnergyCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The energy card face: bold, centered, iconic.
13 | struct EnergyCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: EnergyCardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:154:5: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
148 |
149 | /// One full-bleed art layer, clipped to the card shape.
150 | private static func fullBleedArt(
| `- note: add '@MainActor' to make static method 'fullBleedArt(_:metrics:)' part of global actor 'MainActor'
151 | _ art: CardArt,
152 | metrics: CardMetrics.Resolved
153 | ) -> some View {
154 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
155 | .frame(width: metrics.width, height: metrics.height)
156 | .clipShape(RoundedRectangle(cornerRadius: metrics.cornerRadius))
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:180:7: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
178 | ZStack {
179 | Color.clear
180 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
181 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
182 | .clipped()
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:201:10: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 | )
200 | .blendMode(.screen)
201 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
202 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
203 | .position(x: metrics.artWindowRect.midX, y: metrics.artWindowRect.midY)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:219:8: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
207 |
208 | /// A foil pass covering the whole card.
209 | private static func fullCardCarrier(
| `- note: add '@MainActor' to make static method 'fullCardCarrier(effect:metrics:colors:)' part of global actor 'MainActor'
210 | effect: ShaderEffect,
211 | metrics: CardMetrics.Resolved,
:
217 | )
218 | .blendMode(.screen)
219 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
220 | .frame(width: metrics.width, height: metrics.height)
221 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardStudioView.swift:351:15: warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
54 | .black.opacity(0.40),
55 | ]
56 | @State private var customImageData: Data?
| `- note: property declared here
57 | @State private var photoSelection: PhotosPickerItem?
58 | @State private var isImportingImageFile = false
:
349 | HStack(spacing: 12) {
350 | PhotosPicker(selection: $photoSelection, matching: .images) {
351 | Label(customImageData == nil ? "Add Photo" : "Replace Photo", systemImage: "photo.badge.plus")
| `- warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
352 | }
353 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
[117/123] Compiling ShaderCards CardGalleryView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/MinimalCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The minimal card face: the artwork is the card.
13 | struct MinimalCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: CardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/FullArtCardFace.swift:14:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
12 | /// The full-art card face: artwork bleeds to the card edges and the UI
13 | /// chrome floats on frosted panels, like modern ultra-rare cards.
14 | struct FullArtCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
15 | let card: CardModel
16 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/EnergyCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The energy card face: bold, centered, iconic.
13 | struct EnergyCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: EnergyCardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:154:5: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
148 |
149 | /// One full-bleed art layer, clipped to the card shape.
150 | private static func fullBleedArt(
| `- note: add '@MainActor' to make static method 'fullBleedArt(_:metrics:)' part of global actor 'MainActor'
151 | _ art: CardArt,
152 | metrics: CardMetrics.Resolved
153 | ) -> some View {
154 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
155 | .frame(width: metrics.width, height: metrics.height)
156 | .clipShape(RoundedRectangle(cornerRadius: metrics.cornerRadius))
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:180:7: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
178 | ZStack {
179 | Color.clear
180 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
181 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
182 | .clipped()
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:201:10: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 | )
200 | .blendMode(.screen)
201 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
202 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
203 | .position(x: metrics.artWindowRect.midX, y: metrics.artWindowRect.midY)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:219:8: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
207 |
208 | /// A foil pass covering the whole card.
209 | private static func fullCardCarrier(
| `- note: add '@MainActor' to make static method 'fullCardCarrier(effect:metrics:colors:)' part of global actor 'MainActor'
210 | effect: ShaderEffect,
211 | metrics: CardMetrics.Resolved,
:
217 | )
218 | .blendMode(.screen)
219 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
220 | .frame(width: metrics.width, height: metrics.height)
221 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardStudioView.swift:351:15: warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
54 | .black.opacity(0.40),
55 | ]
56 | @State private var customImageData: Data?
| `- note: property declared here
57 | @State private var photoSelection: PhotosPickerItem?
58 | @State private var isImportingImageFile = false
:
349 | HStack(spacing: 12) {
350 | PhotosPicker(selection: $photoSelection, matching: .images) {
351 | Label(customImageData == nil ? "Add Photo" : "Replace Photo", systemImage: "photo.badge.plus")
| `- warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
352 | }
353 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
[118/123] Compiling ShaderCards CardLayerFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/MinimalCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The minimal card face: the artwork is the card.
13 | struct MinimalCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: CardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/FullArtCardFace.swift:14:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
12 | /// The full-art card face: artwork bleeds to the card edges and the UI
13 | /// chrome floats on frosted panels, like modern ultra-rare cards.
14 | struct FullArtCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
15 | let card: CardModel
16 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/EnergyCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The energy card face: bold, centered, iconic.
13 | struct EnergyCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: EnergyCardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:154:5: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
148 |
149 | /// One full-bleed art layer, clipped to the card shape.
150 | private static func fullBleedArt(
| `- note: add '@MainActor' to make static method 'fullBleedArt(_:metrics:)' part of global actor 'MainActor'
151 | _ art: CardArt,
152 | metrics: CardMetrics.Resolved
153 | ) -> some View {
154 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
155 | .frame(width: metrics.width, height: metrics.height)
156 | .clipShape(RoundedRectangle(cornerRadius: metrics.cornerRadius))
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:180:7: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
178 | ZStack {
179 | Color.clear
180 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
181 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
182 | .clipped()
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:201:10: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 | )
200 | .blendMode(.screen)
201 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
202 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
203 | .position(x: metrics.artWindowRect.midX, y: metrics.artWindowRect.midY)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:219:8: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
207 |
208 | /// A foil pass covering the whole card.
209 | private static func fullCardCarrier(
| `- note: add '@MainActor' to make static method 'fullCardCarrier(effect:metrics:colors:)' part of global actor 'MainActor'
210 | effect: ShaderEffect,
211 | metrics: CardMetrics.Resolved,
:
217 | )
218 | .blendMode(.screen)
219 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
220 | .frame(width: metrics.width, height: metrics.height)
221 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardStudioView.swift:351:15: warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
54 | .black.opacity(0.40),
55 | ]
56 | @State private var customImageData: Data?
| `- note: property declared here
57 | @State private var photoSelection: PhotosPickerItem?
58 | @State private var isImportingImageFile = false
:
349 | HStack(spacing: 12) {
350 | PhotosPicker(selection: $photoSelection, matching: .images) {
351 | Label(customImageData == nil ? "Add Photo" : "Replace Photo", systemImage: "photo.badge.plus")
| `- warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
352 | }
353 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
[119/123] Compiling ShaderCards CardStudioView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/MinimalCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The minimal card face: the artwork is the card.
13 | struct MinimalCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: CardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/FullArtCardFace.swift:14:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
12 | /// The full-art card face: artwork bleeds to the card edges and the UI
13 | /// chrome floats on frosted panels, like modern ultra-rare cards.
14 | struct FullArtCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
15 | let card: CardModel
16 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/EnergyCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The energy card face: bold, centered, iconic.
13 | struct EnergyCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: EnergyCardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:154:5: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
148 |
149 | /// One full-bleed art layer, clipped to the card shape.
150 | private static func fullBleedArt(
| `- note: add '@MainActor' to make static method 'fullBleedArt(_:metrics:)' part of global actor 'MainActor'
151 | _ art: CardArt,
152 | metrics: CardMetrics.Resolved
153 | ) -> some View {
154 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
155 | .frame(width: metrics.width, height: metrics.height)
156 | .clipShape(RoundedRectangle(cornerRadius: metrics.cornerRadius))
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:180:7: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
178 | ZStack {
179 | Color.clear
180 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
181 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
182 | .clipped()
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:201:10: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 | )
200 | .blendMode(.screen)
201 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
202 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
203 | .position(x: metrics.artWindowRect.midX, y: metrics.artWindowRect.midY)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:219:8: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
207 |
208 | /// A foil pass covering the whole card.
209 | private static func fullCardCarrier(
| `- note: add '@MainActor' to make static method 'fullCardCarrier(effect:metrics:colors:)' part of global actor 'MainActor'
210 | effect: ShaderEffect,
211 | metrics: CardMetrics.Resolved,
:
217 | )
218 | .blendMode(.screen)
219 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
220 | .frame(width: metrics.width, height: metrics.height)
221 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardStudioView.swift:351:15: warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
54 | .black.opacity(0.40),
55 | ]
56 | @State private var customImageData: Data?
| `- note: property declared here
57 | @State private var photoSelection: PhotosPickerItem?
58 | @State private var isImportingImageFile = false
:
349 | HStack(spacing: 12) {
350 | PhotosPicker(selection: $photoSelection, matching: .images) {
351 | Label(customImageData == nil ? "Add Photo" : "Replace Photo", systemImage: "photo.badge.plus")
| `- warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
352 | }
353 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
[120/123] Compiling ShaderCards ExplodableCardView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/MinimalCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The minimal card face: the artwork is the card.
13 | struct MinimalCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: CardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/FullArtCardFace.swift:14:8: note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
12 | /// The full-art card face: artwork bleeds to the card edges and the UI
13 | /// chrome floats on frosted panels, like modern ultra-rare cards.
14 | struct FullArtCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:artHidden:scrimsHidden:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
15 | let card: CardModel
16 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/StandardCardFace.swift:39:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
37 | /// frame-masked effects across the frame, so holo and reverse-holo
38 | /// treatments land exactly where they would on a real card.
39 | struct StandardCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
40 | let card: CardModel
41 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:layerMode:artTreatment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/TrainerCardFace.swift:12:8: note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
10 |
11 | /// The trainer card face (supporter / item / stadium).
12 | struct TrainerCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:layerMode:artTreatment:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
13 | let card: TrainerCardModel
14 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| `- warning: call to main actor-isolated initializer 'init(card:metrics:finish:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Frames/EnergyCardFace.swift:13:8: note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
11 |
12 | /// The energy card face: bold, centered, iconic.
13 | struct EnergyCardFace: View {
| |- note: calls to initializer 'init(card:metrics:finish:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
14 | let card: EnergyCardModel
15 | let metrics: CardMetrics.Resolved
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:154:5: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
148 |
149 | /// One full-bleed art layer, clipped to the card shape.
150 | private static func fullBleedArt(
| `- note: add '@MainActor' to make static method 'fullBleedArt(_:metrics:)' part of global actor 'MainActor'
151 | _ art: CardArt,
152 | metrics: CardMetrics.Resolved
153 | ) -> some View {
154 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
155 | .frame(width: metrics.width, height: metrics.height)
156 | .clipShape(RoundedRectangle(cornerRadius: metrics.cornerRadius))
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:180:7: warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
178 | ZStack {
179 | Color.clear
180 | CardArtView(art: art)
| `- warning: call to main actor-isolated initializer 'init(art:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
181 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
182 | .clipped()
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Model/CardArt.swift:72:10: note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
70 | let art: CardArt
71 |
72 | public init(art: CardArt) {
| |- note: calls to initializer 'init(art:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'View'
73 | self.art = art
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:201:10: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
199 | )
200 | .blendMode(.screen)
201 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
202 | .frame(width: metrics.artWindowRect.width, height: metrics.artWindowRect.height)
203 | .position(x: metrics.artWindowRect.midX, y: metrics.artWindowRect.midY)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:219:8: warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
207 |
208 | /// A foil pass covering the whole card.
209 | private static func fullCardCarrier(
| `- note: add '@MainActor' to make static method 'fullCardCarrier(effect:metrics:colors:)' part of global actor 'MainActor'
210 | effect: ShaderEffect,
211 | metrics: CardMetrics.Resolved,
:
217 | )
218 | .blendMode(.screen)
219 | .shader(effect)
| `- warning: call to main actor-isolated instance method 'shader(_:tilt:time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
220 | .frame(width: metrics.width, height: metrics.height)
221 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Modifiers/View+Shader.swift:31:8: note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
29 | /// - time: Optional time override (uses context if nil)
30 | /// - Returns: A view with the shader effect applied
31 | func shader(
| `- note: calls to instance method 'shader(_:tilt:time:)' from outside of its actor context are implicitly asynchronous
32 | _ effect: ShaderEffect,
33 | tilt: CGPoint? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardStudioView.swift:351:15: warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
54 | .black.opacity(0.40),
55 | ]
56 | @State private var customImageData: Data?
| `- note: property declared here
57 | @State private var photoSelection: PhotosPickerItem?
58 | @State private var isImportingImageFile = false
:
349 | HStack(spacing: 12) {
350 | PhotosPicker(selection: $photoSelection, matching: .images) {
351 | Label(customImageData == nil ? "Add Photo" : "Replace Photo", systemImage: "photo.badge.plus")
| `- warning: main actor-isolated property 'customImageData' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
352 | }
353 |
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:73:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
71 | case .framed:
72 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
73 | StandardCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
74 | .frame(width: metrics.width, height: metrics.height)
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:87:11: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
85 | }
86 | layers.append(CardLayerExplodeLayer(id: "chrome") {
87 | StandardCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
88 | card: model,
89 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:64:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
62 | Group {
63 | if model.resolvedLayout(for: resolvedFinish) == .minimal {
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:66:15: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
64 | MinimalCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
65 | } else {
66 | FullArtCardFace(card: model, metrics: metrics, finish: resolvedFinish, artHidden: true)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:100:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
98 | case .trainer(let model):
99 | layers.append(CardLayerExplodeLayer(id: "frame-base") {
100 | TrainerCardFace(card: model, metrics: metrics, finish: resolvedFinish, layerMode: .frameOnly)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
101 | .frame(width: metrics.width, height: metrics.height)
102 | })
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:114:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
112 | })
113 | layers.append(CardLayerExplodeLayer(id: "chrome") {
114 | TrainerCardFace(
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
115 | card: model,
116 | metrics: metrics,
/Users/admin/builder/spi-builder-workspace/Sources/ShaderCards/Views/CardLayerFactory.swift:126:9: warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
124 | case .energy(let model):
125 | layers.append(CardLayerExplodeLayer(id: "card-face") {
126 | EnergyCardFace(card: model, metrics: metrics, finish: resolvedFinish)
| |- warning: sending 'metrics' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'metrics' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 | .frame(width: metrics.width, height: metrics.height)
128 | })
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/4] Write swift-version-2F0A5646E1D333AE.txt
[2/20] Compiling ShaderKit View+Shader.swift
[3/20] Compiling ShaderKit Spring.swift
[4/20] Compiling ShaderKit ShaderKit.swift
[5/21] Compiling ShaderKit resource_bundle_accessor.swift
[6/21] Compiling ShaderKit TradingCardHoloStyle.swift
[7/21] Compiling ShaderKit ShaderModifier.swift
[8/21] Compiling ShaderKit HolographicInteractionMode.swift
[9/21] Compiling ShaderKit SimpleCardContent.swift
[10/21] Compiling ShaderKit ExplodedLayerView.swift
[11/21] Compiling ShaderKit HolographicCardContainer.swift
[12/21] Compiling ShaderKit ShaderContext.swift
[13/21] Compiling ShaderKit ShaderEffect.swift
[14/21] Compiling ShaderKit CardLayerExplodeContainer.swift
[15/21] Compiling ShaderKit CardLayer.swift
[16/21] Compiling ShaderKit CardLayerBuilder.swift
[17/21] Compiling ShaderKit ExplodableHolographicCard.swift
[18/21] Emitting module ShaderKit
[19/78] Compiling ShaderKitUI ShaderKitUI.swift
[20/78] Compiling ShaderKitUI SpringPhysics.swift
[21/78] Compiling ShaderKitUI JellyButton.swift
[22/78] Compiling ShaderKitUI ToneGenerator.swift
[23/78] Emitting module ShaderKitUI
[24/78] Compiling ShaderKitUI JellySwitch.swift
[25/78] Emitting module ShaderCards
[26/83] Compiling ShaderCards CardBuilder.swift
[27/83] Compiling ShaderCards ArtWindow.swift
[28/83] Compiling ShaderCards AttackRow.swift
[29/83] Compiling ShaderCards CardFooter.swift
[30/83] Compiling ShaderCards CardHeader.swift
[31/83] Compiling ShaderCards EnergyIcon.swift
[32/83] Compiling ShaderCards DrakeFigure.swift
[33/83] Compiling ShaderCards FishFigure.swift
[34/83] Compiling ShaderCards FoxFigure.swift
[35/83] Compiling ShaderCards GolemFigure.swift
[36/83] Compiling ShaderCards JellyFigure.swift
[37/83] Compiling ShaderCards MothFigure.swift
[38/83] Compiling ShaderCards ArtSceneSpec.swift
[39/83] Compiling ShaderCards ArtworkSpecs.swift
[40/83] Compiling ShaderCards ArtworkView.swift
[41/83] Compiling ShaderCards Backdrops.swift
[42/83] Compiling ShaderCards BirdFigure.swift
[43/83] Compiling ShaderCards CatFigure.swift
[44/83] Compiling ShaderCards SerpentFigure.swift
[45/83] Compiling ShaderCards TurtleFigure.swift
[46/83] Compiling ShaderCards WispFigure.swift
[47/83] Compiling ShaderCards WolfFigure.swift
[48/83] Compiling ShaderCards ParticleField.swift
[49/83] Compiling ShaderCards SceneRandom.swift
[50/83] Compiling ShaderCards CardAttack.swift
[51/83] Compiling ShaderCards CardFinish.swift
[52/83] Compiling ShaderCards CardLayout.swift
[53/83] Compiling ShaderCards CardModel.swift
[54/83] Compiling ShaderCards CardRarity.swift
[55/83] Compiling ShaderCards CardStage.swift
[56/83] Compiling ShaderCards ElementType.swift
[57/83] Compiling ShaderCards PremiumCardFinishes.swift
[58/83] Compiling ShaderCards TradingCardHoloFinishes.swift
[59/83] Compiling ShaderCards ShaderCards.swift
[60/83] Compiling ShaderCards RaritySymbolView.swift
[61/83] Compiling ShaderCards CardMetrics.swift
[62/83] Compiling ShaderCards CardTypography.swift
[63/83] Compiling ShaderCards ElementPalette.swift
[64/83] Compiling ShaderCards EnergyCardFace.swift
[65/83] Compiling ShaderCards FullArtCardFace.swift
[66/83] Compiling ShaderCards MinimalCardFace.swift
[67/83] Compiling ShaderCards StandardCardFace.swift
[68/83] Compiling ShaderCards TrainerCardFace.swift
[69/83] Compiling ShaderCards CardLibrary.swift
[70/83] Compiling ShaderCards PremiumMaterialEditions.swift
[71/83] Compiling ShaderCards SpecialEditions.swift
[72/83] Compiling ShaderCards TradingCardHoloEditions.swift
[73/83] Compiling ShaderCards Card.swift
[74/83] Compiling ShaderCards CardArt.swift
[75/83] Compiling ShaderCards CardArtwork.swift
[76/83] Compiling ShaderCards CardFaceView.swift
[77/83] Compiling ShaderCards CardGalleryView.swift
[78/83] Compiling ShaderCards CardLayerFactory.swift
[79/83] Compiling ShaderCards CardStudioView.swift
[80/83] Compiling ShaderCards ExplodableCardView.swift
[81/85] Emitting module ShaderCardsDemo
[82/85] Compiling ShaderCardsDemo ShaderCardsDemoApp.swift
[82/85] Write Objects.LinkFileList
[83/85] Linking ShaderCardsDemo
[84/85] Applying ShaderCardsDemo
Build complete! (11.00s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "ShaderKit",
"name" : "ShaderKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "17.0"
},
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "ShaderKit",
"targets" : [
"ShaderKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ShaderKitUI",
"targets" : [
"ShaderKitUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ShaderCards",
"targets" : [
"ShaderCards"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ShaderCardsDemo",
"targets" : [
"ShaderCardsDemo"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "ShaderKitUI",
"module_type" : "SwiftTarget",
"name" : "ShaderKitUI",
"path" : "Sources/ShaderKitUI",
"product_memberships" : [
"ShaderKitUI"
],
"sources" : [
"Audio/ToneGenerator.swift",
"Components/JellyButton.swift",
"Components/JellySwitch.swift",
"Physics/SpringPhysics.swift",
"ShaderKitUI.swift"
],
"target_dependencies" : [
"ShaderKit"
],
"type" : "library"
},
{
"c99name" : "ShaderKitTests",
"module_type" : "SwiftTarget",
"name" : "ShaderKitTests",
"path" : "Tests/ShaderKitTests",
"sources" : [
"ShaderKitTests.swift"
],
"target_dependencies" : [
"ShaderKit"
],
"type" : "test"
},
{
"c99name" : "ShaderKit",
"module_type" : "SwiftTarget",
"name" : "ShaderKit",
"path" : "Sources/ShaderKit",
"product_memberships" : [
"ShaderKit",
"ShaderKitUI",
"ShaderCards",
"ShaderCardsDemo"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/AmazingRareShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/BasicGlareShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/BlendedHoloShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/BubbleShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/CodexLogoShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/CosmosHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/DiagonalHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/DiamondGridShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/EtchedFoilShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/FoilEffectsShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/FrozenShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/GlassShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/HalftonePastelShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/IntenseBlingShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/JellyButtonShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/JellySwitchShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/LightsaberShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/LiquidTechShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/MaskedFoilShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/PolishedAluminumShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/PremiumMaterialShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/RadialStarShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/RadiantHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/RainbowRareShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/RegularHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/ReverseHoloShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/ShaderUtilities.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/ShinyRareShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/SnowfallShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/SpiralRingsShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/StarburstShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/SubtleGradientShader.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/ThermostatShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/TradingCardHoloShaders.metal",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ShaderKit/Shaders/WaterShader.metal",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Containers/CardLayerExplodeContainer.swift",
"Containers/ExplodableCard/CardLayer.swift",
"Containers/ExplodableCard/CardLayerBuilder.swift",
"Containers/ExplodableCard/ExplodableHolographicCard.swift",
"Containers/ExplodableCard/ExplodedLayerView.swift",
"Containers/HolographicCardContainer.swift",
"Containers/HolographicInteractionMode.swift",
"Containers/SimpleCardContent.swift",
"Effects/ShaderContext.swift",
"Effects/ShaderEffect.swift",
"Effects/TradingCardHoloStyle.swift",
"Modifiers/ShaderModifier.swift",
"Modifiers/View+Shader.swift",
"ShaderKit.swift",
"Utilities/Spring.swift"
],
"type" : "library"
},
{
"c99name" : "ShaderCardsTests",
"module_type" : "SwiftTarget",
"name" : "ShaderCardsTests",
"path" : "Tests/ShaderCardsTests",
"sources" : [
"ShaderCardsTests.swift",
"SnapshotRenderTests.swift"
],
"target_dependencies" : [
"ShaderCards"
],
"type" : "test"
},
{
"c99name" : "ShaderCardsDemo",
"module_type" : "SwiftTarget",
"name" : "ShaderCardsDemo",
"path" : "Sources/ShaderCardsDemo",
"product_memberships" : [
"ShaderCardsDemo"
],
"sources" : [
"ShaderCardsDemoApp.swift"
],
"target_dependencies" : [
"ShaderCards"
],
"type" : "executable"
},
{
"c99name" : "ShaderCards",
"module_type" : "SwiftTarget",
"name" : "ShaderCards",
"path" : "Sources/ShaderCards",
"product_memberships" : [
"ShaderCards",
"ShaderCardsDemo"
],
"sources" : [
"Art/ArtSceneSpec.swift",
"Art/ArtworkSpecs.swift",
"Art/ArtworkView.swift",
"Art/Backdrops.swift",
"Art/Figures/BirdFigure.swift",
"Art/Figures/CatFigure.swift",
"Art/Figures/DrakeFigure.swift",
"Art/Figures/FishFigure.swift",
"Art/Figures/FoxFigure.swift",
"Art/Figures/GolemFigure.swift",
"Art/Figures/JellyFigure.swift",
"Art/Figures/MothFigure.swift",
"Art/Figures/SerpentFigure.swift",
"Art/Figures/TurtleFigure.swift",
"Art/Figures/WispFigure.swift",
"Art/Figures/WolfFigure.swift",
"Art/ParticleField.swift",
"Art/SceneRandom.swift",
"Builder/CardBuilder.swift",
"Components/ArtWindow.swift",
"Components/AttackRow.swift",
"Components/CardFooter.swift",
"Components/CardHeader.swift",
"Components/EnergyIcon.swift",
"Components/RaritySymbolView.swift",
"Design/CardMetrics.swift",
"Design/CardTypography.swift",
"Design/ElementPalette.swift",
"Frames/EnergyCardFace.swift",
"Frames/FullArtCardFace.swift",
"Frames/MinimalCardFace.swift",
"Frames/StandardCardFace.swift",
"Frames/TrainerCardFace.swift",
"Library/CardLibrary.swift",
"Library/PremiumMaterialEditions.swift",
"Library/SpecialEditions.swift",
"Library/TradingCardHoloEditions.swift",
"Model/Card.swift",
"Model/CardArt.swift",
"Model/CardArtwork.swift",
"Model/CardAttack.swift",
"Model/CardFinish.swift",
"Model/CardLayout.swift",
"Model/CardModel.swift",
"Model/CardRarity.swift",
"Model/CardStage.swift",
"Model/ElementType.swift",
"Model/PremiumCardFinishes.swift",
"Model/TradingCardHoloFinishes.swift",
"ShaderCards.swift",
"Views/CardFaceView.swift",
"Views/CardGalleryView.swift",
"Views/CardLayerFactory.swift",
"Views/CardStudioView.swift",
"Views/ExplodableCardView.swift"
],
"target_dependencies" : [
"ShaderKit"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.