The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SKTiled, reference master (c0a153), with Swift 6.0 for macOS (SPM) on 21 Oct 2025 22:02:01 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mfessenden/SKTiled.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mfessenden/SKTiled
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at c0a1539 Merge pull request #45 from johncederholm/jmc/hasProperties_fix
Cloned https://github.com/mfessenden/SKTiled.git
Revision (git rev-parse @):
c0a15392bbfa8e5c307caa68e46ae5cd66720aa6
SUCCESS checkout https://github.com/mfessenden/SKTiled.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/mfessenden/SKTiled.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-5BDAB9E9C0126B9D.txt
[3/34] Emitting module SKTiled
/Users/admin/builder/spi-builder-workspace/Sources/Array2D.swift:66:19: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 29 |
 30 | // Two-dimensional array structure.
 31 | struct Array2D<T> {
    |                `- note: 'T' previously declared here
 32 |
 33 |     /// Vertical count.
    :
 64 |     }
 65 |
 66 |     func contains<T : Equatable>(_ obj: T) -> Bool {
    |                   `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 67 |         let filtered = self.items.filter {$0 as? T == obj}
 68 |         return filtered.isEmpty == false
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:936:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 934 |
 935 |     /// Opacity value of the tile.
 936 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 937 |         get {
 938 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:946:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 944 |
 945 |     /// Tile visibility.
 946 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 947 |         get {
 948 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:956:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 954 |
 955 |     /// Show/hide the tile's bounding shape.
 956 |     open var showBounds: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 957 |         get {
 958 |             return (childNode(withName: boundsKey) != nil) ? childNode(withName: boundsKey)!.isHidden == false : false
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:989:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 987 |     override open var debugDescription: String { return "<\(description)>" }
 988 |
 989 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 990 |         var result = "Tile id: \(self.tileData.id)"
 991 |         result += (self.tileData.type != nil) ? ", type: \"\(self.tileData.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:1041:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1039 |     /// Pauses tile animation
1040 |     @available(*, deprecated, message: "Use the default `SKNode.isPaused` to pause animation.")
1041 |     open var pauseAnimation: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1042 |         get {
1043 |             return self.isPaused
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1073:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1071 |     }
1072 |
1073 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1074 |         var result = "\(objectType.name) id: \(self.id)"
1075 |         result += (self.type != nil) ? ", type: \"\(self.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1084:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1082 |
1083 |     /// Object opacity
1084 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1085 |         get {
1086 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1094:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1092 |
1093 |     /// Object visibility
1094 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1095 |         get {
1096 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1104:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1102 |
1103 |     /// Returns true if the object references an animated tile.
1104 |     open var isAnimated: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1105 |         if let tile = self.tile {
1106 |             return tile.tileData.isAnimated
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1112:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1110 |
1111 |     /// Signifies that the object is a text object.
1112 |     open var isTextObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1113 |         return (textAttributes != nil)
1114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1117:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1115 |
1116 |     /// Signifies that the object is a tile object.
1117 |     open var isTileObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1118 |         return (gid != nil)
1119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1249:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1247 |      */
1248 |     @available(*, deprecated)
1249 |     open func runAnimation() {}
     |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1250 | }
1251 |
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+Extensions.swift:530:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 528 |
 529 |
 530 | extension CGPoint: Hashable {
     | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 531 |
 532 |     public func hash(into hasher: inout Hasher) {
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:302:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
300 |      - returns: `GKGridGraphNode.Type` dictionary insertion was successfull.
301 |      */
302 |     open func objectForGraphType(named: String?) -> GKGridGraphNode.Type { return SKTiledGraphNode.self }
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
303 |
304 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:312:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
310 |      - returns: `Bool` dictionary insertion was successfull.
311 |      */
312 |     open func addGraph(named: String, graph: GKGridGraph<GKGridGraphNode>) -> Bool {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
313 |         if (graphs[named] != nil) {
314 |             return false
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:328:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
326 |      - returns: `GKGridGraph?` removed graph instance.
327 |      */
328 |     open func removeGraph(named: String) -> GKGridGraph<GKGridGraphNode>? {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
329 |         log("removing graph \"\(named)\" to scene.", level: .debug)
330 |         return graphs.removeValue(forKey: named)
[4/37] Compiling SKTiled TileObjectOverlay.swift
[5/37] Compiling SKTiled TileObjectProxy.swift
[6/37] Compiling SKTiled TiledBackgroundLayer.swift
[7/37] Compiling SKTiled TiledDebugDrawNode.swift
[8/37] Compiling SKTiled TiledGlobals.swift
[9/37] Compiling SKTiled TiledSceneCameraDelegate.swift
[10/37] Compiling SKTiled TileAnimationFrame.swift
[11/37] Compiling SKTiled TileCollisionShape.swift
[12/37] Compiling SKTiled TileDataStorage.swift
[13/37] Compiling SKTiled TiledSceneDelegate.swift
[14/37] Compiling SKTiled TilemapDelegate.swift
[15/37] Compiling SKTiled TilesetDataSource.swift
[16/37] Compiling SKTiled SKTiled+Properties.swift
[17/37] Compiling SKTiled SKTiledLayerObject.swift
[18/37] Compiling SKTiled SKTiledObject.swift
[19/37] Compiling SKTiled SKTiledScene.swift
[20/37] Compiling SKTiled SKTileObject.swift
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1073:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1071 |     }
1072 |
1073 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1074 |         var result = "\(objectType.name) id: \(self.id)"
1075 |         result += (self.type != nil) ? ", type: \"\(self.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1084:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1082 |
1083 |     /// Object opacity
1084 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1085 |         get {
1086 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1094:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1092 |
1093 |     /// Object visibility
1094 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1095 |         get {
1096 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1104:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1102 |
1103 |     /// Returns true if the object references an animated tile.
1104 |     open var isAnimated: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1105 |         if let tile = self.tile {
1106 |             return tile.tileData.isAnimated
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1112:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1110 |
1111 |     /// Signifies that the object is a text object.
1112 |     open var isTextObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1113 |         return (textAttributes != nil)
1114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1117:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1115 |
1116 |     /// Signifies that the object is a tile object.
1117 |     open var isTileObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1118 |         return (gid != nil)
1119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1249:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1247 |      */
1248 |     @available(*, deprecated)
1249 |     open func runAnimation() {}
     |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1250 | }
1251 |
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+Extensions.swift:530:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 528 |
 529 |
 530 | extension CGPoint: Hashable {
     | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 531 |
 532 |     public func hash(into hasher: inout Hasher) {
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:302:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
300 |      - returns: `GKGridGraphNode.Type` dictionary insertion was successfull.
301 |      */
302 |     open func objectForGraphType(named: String?) -> GKGridGraphNode.Type { return SKTiledGraphNode.self }
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
303 |
304 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:312:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
310 |      - returns: `Bool` dictionary insertion was successfull.
311 |      */
312 |     open func addGraph(named: String, graph: GKGridGraph<GKGridGraphNode>) -> Bool {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
313 |         if (graphs[named] != nil) {
314 |             return false
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:328:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
326 |      - returns: `GKGridGraph?` removed graph instance.
327 |      */
328 |     open func removeGraph(named: String) -> GKGridGraph<GKGridGraphNode>? {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
329 |         log("removing graph \"\(named)\" to scene.", level: .debug)
330 |         return graphs.removeValue(forKey: named)
[21/37] Compiling SKTiled SKTiled+Debug.swift
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1073:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1071 |     }
1072 |
1073 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1074 |         var result = "\(objectType.name) id: \(self.id)"
1075 |         result += (self.type != nil) ? ", type: \"\(self.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1084:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1082 |
1083 |     /// Object opacity
1084 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1085 |         get {
1086 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1094:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1092 |
1093 |     /// Object visibility
1094 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1095 |         get {
1096 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1104:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1102 |
1103 |     /// Returns true if the object references an animated tile.
1104 |     open var isAnimated: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1105 |         if let tile = self.tile {
1106 |             return tile.tileData.isAnimated
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1112:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1110 |
1111 |     /// Signifies that the object is a text object.
1112 |     open var isTextObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1113 |         return (textAttributes != nil)
1114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1117:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1115 |
1116 |     /// Signifies that the object is a tile object.
1117 |     open var isTileObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1118 |         return (gid != nil)
1119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1249:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1247 |      */
1248 |     @available(*, deprecated)
1249 |     open func runAnimation() {}
     |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1250 | }
1251 |
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+Extensions.swift:530:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 528 |
 529 |
 530 | extension CGPoint: Hashable {
     | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 531 |
 532 |     public func hash(into hasher: inout Hasher) {
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:302:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
300 |      - returns: `GKGridGraphNode.Type` dictionary insertion was successfull.
301 |      */
302 |     open func objectForGraphType(named: String?) -> GKGridGraphNode.Type { return SKTiledGraphNode.self }
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
303 |
304 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:312:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
310 |      - returns: `Bool` dictionary insertion was successfull.
311 |      */
312 |     open func addGraph(named: String, graph: GKGridGraph<GKGridGraphNode>) -> Bool {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
313 |         if (graphs[named] != nil) {
314 |             return false
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:328:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
326 |      - returns: `GKGridGraph?` removed graph instance.
327 |      */
328 |     open func removeGraph(named: String) -> GKGridGraph<GKGridGraphNode>? {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
329 |         log("removing graph \"\(named)\" to scene.", level: .debug)
330 |         return graphs.removeValue(forKey: named)
[22/37] Compiling SKTiled SKTiled+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1073:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1071 |     }
1072 |
1073 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1074 |         var result = "\(objectType.name) id: \(self.id)"
1075 |         result += (self.type != nil) ? ", type: \"\(self.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1084:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1082 |
1083 |     /// Object opacity
1084 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1085 |         get {
1086 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1094:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1092 |
1093 |     /// Object visibility
1094 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1095 |         get {
1096 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1104:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1102 |
1103 |     /// Returns true if the object references an animated tile.
1104 |     open var isAnimated: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1105 |         if let tile = self.tile {
1106 |             return tile.tileData.isAnimated
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1112:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1110 |
1111 |     /// Signifies that the object is a text object.
1112 |     open var isTextObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1113 |         return (textAttributes != nil)
1114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1117:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1115 |
1116 |     /// Signifies that the object is a tile object.
1117 |     open var isTileObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1118 |         return (gid != nil)
1119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1249:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1247 |      */
1248 |     @available(*, deprecated)
1249 |     open func runAnimation() {}
     |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1250 | }
1251 |
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+Extensions.swift:530:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 528 |
 529 |
 530 | extension CGPoint: Hashable {
     | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 531 |
 532 |     public func hash(into hasher: inout Hasher) {
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:302:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
300 |      - returns: `GKGridGraphNode.Type` dictionary insertion was successfull.
301 |      */
302 |     open func objectForGraphType(named: String?) -> GKGridGraphNode.Type { return SKTiledGraphNode.self }
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
303 |
304 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:312:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
310 |      - returns: `Bool` dictionary insertion was successfull.
311 |      */
312 |     open func addGraph(named: String, graph: GKGridGraph<GKGridGraphNode>) -> Bool {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
313 |         if (graphs[named] != nil) {
314 |             return false
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:328:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
326 |      - returns: `GKGridGraph?` removed graph instance.
327 |      */
328 |     open func removeGraph(named: String) -> GKGridGraph<GKGridGraphNode>? {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
329 |         log("removing graph \"\(named)\" to scene.", level: .debug)
330 |         return graphs.removeValue(forKey: named)
[23/37] Compiling SKTiled SKTiled+GameplayKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1073:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1071 |     }
1072 |
1073 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1074 |         var result = "\(objectType.name) id: \(self.id)"
1075 |         result += (self.type != nil) ? ", type: \"\(self.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1084:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1082 |
1083 |     /// Object opacity
1084 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1085 |         get {
1086 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1094:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1092 |
1093 |     /// Object visibility
1094 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1095 |         get {
1096 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1104:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1102 |
1103 |     /// Returns true if the object references an animated tile.
1104 |     open var isAnimated: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1105 |         if let tile = self.tile {
1106 |             return tile.tileData.isAnimated
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1112:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1110 |
1111 |     /// Signifies that the object is a text object.
1112 |     open var isTextObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1113 |         return (textAttributes != nil)
1114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1117:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1115 |
1116 |     /// Signifies that the object is a tile object.
1117 |     open var isTileObject: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1118 |         return (gid != nil)
1119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SKTileObject.swift:1249:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1247 |      */
1248 |     @available(*, deprecated)
1249 |     open func runAnimation() {}
     |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
1250 | }
1251 |
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+Extensions.swift:530:1: warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
 528 |
 529 |
 530 | extension CGPoint: Hashable {
     | |- warning: extension declares a conformance of imported type 'CGPoint' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 531 |
 532 |     public func hash(into hasher: inout Hasher) {
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:302:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
300 |      - returns: `GKGridGraphNode.Type` dictionary insertion was successfull.
301 |      */
302 |     open func objectForGraphType(named: String?) -> GKGridGraphNode.Type { return SKTiledGraphNode.self }
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
303 |
304 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:312:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
310 |      - returns: `Bool` dictionary insertion was successfull.
311 |      */
312 |     open func addGraph(named: String, graph: GKGridGraph<GKGridGraphNode>) -> Bool {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
313 |         if (graphs[named] != nil) {
314 |             return false
/Users/admin/builder/spi-builder-workspace/Sources/SKTiled+GameplayKit.swift:328:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
326 |      - returns: `GKGridGraph?` removed graph instance.
327 |      */
328 |     open func removeGraph(named: String) -> GKGridGraph<GKGridGraphNode>? {
    |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
329 |         log("removing graph \"\(named)\" to scene.", level: .debug)
330 |         return graphs.removeValue(forKey: named)
[24/37] Compiling SKTiled AnchorNode.swift
/Users/admin/builder/spi-builder-workspace/Sources/Array2D.swift:66:19: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 29 |
 30 | // Two-dimensional array structure.
 31 | struct Array2D<T> {
    |                `- note: 'T' previously declared here
 32 |
 33 |     /// Vertical count.
    :
 64 |     }
 65 |
 66 |     func contains<T : Equatable>(_ obj: T) -> Bool {
    |                   `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 67 |         let filtered = self.items.filter {$0 as? T == obj}
 68 |         return filtered.isEmpty == false
[25/37] Compiling SKTiled Array2D.swift
/Users/admin/builder/spi-builder-workspace/Sources/Array2D.swift:66:19: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 29 |
 30 | // Two-dimensional array structure.
 31 | struct Array2D<T> {
    |                `- note: 'T' previously declared here
 32 |
 33 |     /// Vertical count.
    :
 64 |     }
 65 |
 66 |     func contains<T : Equatable>(_ obj: T) -> Bool {
    |                   `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 67 |         let filtered = self.items.filter {$0 as? T == obj}
 68 |         return filtered.isEmpty == false
[26/37] Compiling SKTiled Logging.swift
/Users/admin/builder/spi-builder-workspace/Sources/Array2D.swift:66:19: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 29 |
 30 | // Two-dimensional array structure.
 31 | struct Array2D<T> {
    |                `- note: 'T' previously declared here
 32 |
 33 |     /// Vertical count.
    :
 64 |     }
 65 |
 66 |     func contains<T : Equatable>(_ obj: T) -> Bool {
    |                   `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 67 |         let filtered = self.items.filter {$0 as? T == obj}
 68 |         return filtered.isEmpty == false
[27/37] Compiling SKTiled SKGroupLayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Array2D.swift:66:19: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 29 |
 30 | // Two-dimensional array structure.
 31 | struct Array2D<T> {
    |                `- note: 'T' previously declared here
 32 |
 33 |     /// Vertical count.
    :
 64 |     }
 65 |
 66 |     func contains<T : Equatable>(_ obj: T) -> Bool {
    |                   `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 67 |         let filtered = self.items.filter {$0 as? T == obj}
 68 |         return filtered.isEmpty == false
[28/37] Compiling SKTiled SKTileset.swift
[29/37] Compiling SKTiled SKTilesetData.swift
[30/37] Compiling SKTiled ThreadSafeArray.swift
[31/37] Compiling SKTiled SKImageLayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:936:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 934 |
 935 |     /// Opacity value of the tile.
 936 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 937 |         get {
 938 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:946:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 944 |
 945 |     /// Tile visibility.
 946 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 947 |         get {
 948 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:956:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 954 |
 955 |     /// Show/hide the tile's bounding shape.
 956 |     open var showBounds: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 957 |         get {
 958 |             return (childNode(withName: boundsKey) != nil) ? childNode(withName: boundsKey)!.isHidden == false : false
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:989:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 987 |     override open var debugDescription: String { return "<\(description)>" }
 988 |
 989 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 990 |         var result = "Tile id: \(self.tileData.id)"
 991 |         result += (self.tileData.type != nil) ? ", type: \"\(self.tileData.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:1041:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1039 |     /// Pauses tile animation
1040 |     @available(*, deprecated, message: "Use the default `SKNode.isPaused` to pause animation.")
1041 |     open var pauseAnimation: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1042 |         get {
1043 |             return self.isPaused
[32/37] Compiling SKTiled SKObjectGroup.swift
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:936:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 934 |
 935 |     /// Opacity value of the tile.
 936 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 937 |         get {
 938 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:946:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 944 |
 945 |     /// Tile visibility.
 946 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 947 |         get {
 948 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:956:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 954 |
 955 |     /// Show/hide the tile's bounding shape.
 956 |     open var showBounds: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 957 |         get {
 958 |             return (childNode(withName: boundsKey) != nil) ? childNode(withName: boundsKey)!.isHidden == false : false
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:989:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 987 |     override open var debugDescription: String { return "<\(description)>" }
 988 |
 989 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 990 |         var result = "Tile id: \(self.tileData.id)"
 991 |         result += (self.tileData.type != nil) ? ", type: \"\(self.tileData.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:1041:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1039 |     /// Pauses tile animation
1040 |     @available(*, deprecated, message: "Use the default `SKNode.isPaused` to pause animation.")
1041 |     open var pauseAnimation: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1042 |         get {
1043 |             return self.isPaused
[33/37] Compiling SKTiled SKTile.swift
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:936:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 934 |
 935 |     /// Opacity value of the tile.
 936 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 937 |         get {
 938 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:946:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 944 |
 945 |     /// Tile visibility.
 946 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 947 |         get {
 948 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:956:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 954 |
 955 |     /// Show/hide the tile's bounding shape.
 956 |     open var showBounds: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 957 |         get {
 958 |             return (childNode(withName: boundsKey) != nil) ? childNode(withName: boundsKey)!.isHidden == false : false
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:989:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 987 |     override open var debugDescription: String { return "<\(description)>" }
 988 |
 989 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 990 |         var result = "Tile id: \(self.tileData.id)"
 991 |         result += (self.tileData.type != nil) ? ", type: \"\(self.tileData.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:1041:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1039 |     /// Pauses tile animation
1040 |     @available(*, deprecated, message: "Use the default `SKNode.isPaused` to pause animation.")
1041 |     open var pauseAnimation: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1042 |         get {
1043 |             return self.isPaused
[34/37] Compiling SKTiled SKTileLayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:936:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 934 |
 935 |     /// Opacity value of the tile.
 936 |     open var opacity: CGFloat {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 937 |         get {
 938 |             return self.alpha
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:946:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 944 |
 945 |     /// Tile visibility.
 946 |     open var visible: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 947 |         get {
 948 |             return !self.isHidden
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:956:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 954 |
 955 |     /// Show/hide the tile's bounding shape.
 956 |     open var showBounds: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 957 |         get {
 958 |             return (childNode(withName: boundsKey) != nil) ? childNode(withName: boundsKey)!.isHidden == false : false
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:989:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 987 |     override open var debugDescription: String { return "<\(description)>" }
 988 |
 989 |     open var shortDescription: String {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
 990 |         var result = "Tile id: \(self.tileData.id)"
 991 |         result += (self.tileData.type != nil) ? ", type: \"\(self.tileData.type!)\"" : ""
/Users/admin/builder/spi-builder-workspace/Sources/SKTile.swift:1041:5: warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1039 |     /// Pauses tile animation
1040 |     @available(*, deprecated, message: "Use the default `SKNode.isPaused` to pause animation.")
1041 |     open var pauseAnimation: Bool {
     |     `- warning: non-'@objc' property in extensions cannot be overridden; use 'public' instead
1042 |         get {
1043 |             return self.isPaused
[35/37] Compiling SKTiled SKTiledSceneCamera.swift
[36/37] Compiling SKTiled SKTilemap.swift
[37/37] Compiling SKTiled SKTilemapParser.swift
Build complete! (9.63s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SKTiled",
  "name" : "SKTiled",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "SKTiled",
      "targets" : [
        "SKTiled"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SKTiledTests",
      "module_type" : "SwiftTarget",
      "name" : "SKTiledTests",
      "path" : "Tests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/characters-8x8.png",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/characters-8x8.tsx",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/environment-8x8.png",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/environment-8x8.tsx",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/items-8x8.png",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/items-8x8.tsx",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/items-alt-8x8.png",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/monsters-16x16.png",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/monsters-16x16.tsx",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/portraits-8x8.png",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/portraits-8x8.tsx",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Assets/test-tilemap.tmx",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "ColorTests.swift",
        "CompressionTests.swift",
        "CoordinateTests.swift",
        "ParserTests.swift",
        "PerformanceTests.swift",
        "PropertiesTests.swift",
        "QueryTests.swift",
        "TemplateTests.swift",
        "TestMapDelegate.swift",
        "TestTilesetDelegate.swift",
        "Tests+Extensions.swift",
        "TilemapTests.swift",
        "TilesetTests.swift"
      ],
      "target_dependencies" : [
        "SKTiled"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SKTiled",
      "module_type" : "SwiftTarget",
      "name" : "SKTiled",
      "path" : "Sources",
      "product_memberships" : [
        "SKTiled"
      ],
      "sources" : [
        "AnchorNode.swift",
        "Array2D.swift",
        "Logging.swift",
        "SKGroupLayer.swift",
        "SKImageLayer.swift",
        "SKObjectGroup.swift",
        "SKTile.swift",
        "SKTileLayer.swift",
        "SKTileObject.swift",
        "SKTiled+Debug.swift",
        "SKTiled+Extensions.swift",
        "SKTiled+GameplayKit.swift",
        "SKTiled+Properties.swift",
        "SKTiledLayerObject.swift",
        "SKTiledObject.swift",
        "SKTiledScene.swift",
        "SKTiledSceneCamera.swift",
        "SKTilemap.swift",
        "SKTilemapParser.swift",
        "SKTileset.swift",
        "SKTilesetData.swift",
        "ThreadSafeArray.swift",
        "TileAnimationFrame.swift",
        "TileCollisionShape.swift",
        "TileDataStorage.swift",
        "TileObjectOverlay.swift",
        "TileObjectProxy.swift",
        "TiledBackgroundLayer.swift",
        "TiledDebugDrawNode.swift",
        "TiledGlobals.swift",
        "TiledSceneCameraDelegate.swift",
        "TiledSceneDelegate.swift",
        "TilemapDelegate.swift",
        "TilesetDataSource.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.