Build Information
Failed to build SwiftGodotBuilder, reference main (b88257), with Swift 6.2 for macOS (SPM) on 1 Jan 2026 23:19:21 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64Build Log
112 | // Left = +/- pi
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:113:35: error: value of type 'Facing' has no member 'angle'
111 |
112 | // Left = +/- pi
113 | XCTAssertTrue(abs(Facing.left.angle) > pi - 0.1, "Left angle should be near +/- pi")
| `- error: value of type 'Facing' has no member 'angle'
114 | }
115 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:118:24: error: type 'Facing' has no member 'from'
116 | func testFromDirectionHorizontal() {
117 | // Horizontal mode only returns left or right
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
| `- error: type 'Facing' has no member 'from'
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:118:55: error: cannot infer contextual base in reference to member 'horizontal'
116 | func testFromDirectionHorizontal() {
117 | // Horizontal mode only returns left or right
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
| `- error: cannot infer contextual base in reference to member 'horizontal'
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:119:23: error: type 'Facing' has no member 'from'
117 | // Horizontal mode only returns left or right
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
| `- error: type 'Facing' has no member 'from'
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
121 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:119:55: error: cannot infer contextual base in reference to member 'horizontal'
117 | // Horizontal mode only returns left or right
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
| `- error: cannot infer contextual base in reference to member 'horizontal'
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
121 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:120:23: error: type 'Facing' has no member 'from'
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
| `- error: type 'Facing' has no member 'from'
121 |
122 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:120:58: error: cannot infer contextual base in reference to member 'horizontal'
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
| `- error: cannot infer contextual base in reference to member 'horizontal'
121 |
122 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:122:5: error: generic parameter 'T' could not be inferred
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
121 |
122 | XCTAssertEqual(right, .right)
| `- error: generic parameter 'T' could not be inferred
123 | XCTAssertEqual(left, .left)
124 | XCTAssertEqual(diag, .right, "Positive x should give right in horizontal mode")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:123:5: error: generic parameter 'T' could not be inferred
121 |
122 | XCTAssertEqual(right, .right)
123 | XCTAssertEqual(left, .left)
| `- error: generic parameter 'T' could not be inferred
124 | XCTAssertEqual(diag, .right, "Positive x should give right in horizontal mode")
125 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:124:5: error: generic parameter 'T' could not be inferred
122 | XCTAssertEqual(right, .right)
123 | XCTAssertEqual(left, .left)
124 | XCTAssertEqual(diag, .right, "Positive x should give right in horizontal mode")
| `- error: generic parameter 'T' could not be inferred
125 | }
126 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:129:21: error: type 'Facing' has no member 'from'
127 | func testFromDirectionVertical() {
128 | // Vertical mode only returns up or down
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
| `- error: type 'Facing' has no member 'from'
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:129:53: error: cannot infer contextual base in reference to member 'vertical'
127 | func testFromDirectionVertical() {
128 | // Vertical mode only returns up or down
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
| `- error: cannot infer contextual base in reference to member 'vertical'
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:130:23: error: type 'Facing' has no member 'from'
128 | // Vertical mode only returns up or down
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
| `- error: type 'Facing' has no member 'from'
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:130:54: error: cannot infer contextual base in reference to member 'vertical'
128 | // Vertical mode only returns up or down
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
| `- error: cannot infer contextual base in reference to member 'vertical'
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:131:23: error: type 'Facing' has no member 'from'
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
| `- error: type 'Facing' has no member 'from'
132 |
133 | XCTAssertEqual(up, .up)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:131:58: error: cannot infer contextual base in reference to member 'vertical'
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
| `- error: cannot infer contextual base in reference to member 'vertical'
132 |
133 | XCTAssertEqual(up, .up)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:133:5: error: generic parameter 'T' could not be inferred
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
132 |
133 | XCTAssertEqual(up, .up)
| `- error: generic parameter 'T' could not be inferred
134 | XCTAssertEqual(down, .down)
135 | XCTAssertEqual(diag, .down, "Positive y should give down in vertical mode")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:134:5: error: generic parameter 'T' could not be inferred
132 |
133 | XCTAssertEqual(up, .up)
134 | XCTAssertEqual(down, .down)
| `- error: generic parameter 'T' could not be inferred
135 | XCTAssertEqual(diag, .down, "Positive y should give down in vertical mode")
136 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:135:5: error: generic parameter 'T' could not be inferred
133 | XCTAssertEqual(up, .up)
134 | XCTAssertEqual(down, .down)
135 | XCTAssertEqual(diag, .down, "Positive y should give down in vertical mode")
| `- error: generic parameter 'T' could not be inferred
136 | }
137 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:140:24: error: type 'Facing' has no member 'from'
138 | func testFromDirectionFourWay() {
139 | // Four-way picks dominant axis
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
| `- error: type 'Facing' has no member 'from'
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:140:57: error: cannot infer contextual base in reference to member 'fourWay'
138 | func testFromDirectionFourWay() {
139 | // Four-way picks dominant axis
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:141:23: error: type 'Facing' has no member 'from'
139 | // Four-way picks dominant axis
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
| `- error: type 'Facing' has no member 'from'
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:141:57: error: cannot infer contextual base in reference to member 'fourWay'
139 | // Four-way picks dominant axis
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:142:21: error: type 'Facing' has no member 'from'
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
| `- error: type 'Facing' has no member 'from'
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
144 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:142:55: error: cannot infer contextual base in reference to member 'fourWay'
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
144 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:143:23: error: type 'Facing' has no member 'from'
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
| `- error: type 'Facing' has no member 'from'
144 |
145 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:143:56: error: cannot infer contextual base in reference to member 'fourWay'
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
144 |
145 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:145:5: error: generic parameter 'T' could not be inferred
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
144 |
145 | XCTAssertEqual(right, .right)
| `- error: generic parameter 'T' could not be inferred
146 | XCTAssertEqual(left, .left)
147 | XCTAssertEqual(up, .up)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:146:5: error: generic parameter 'T' could not be inferred
144 |
145 | XCTAssertEqual(right, .right)
146 | XCTAssertEqual(left, .left)
| `- error: generic parameter 'T' could not be inferred
147 | XCTAssertEqual(up, .up)
148 | XCTAssertEqual(down, .down)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:147:5: error: generic parameter 'T' could not be inferred
145 | XCTAssertEqual(right, .right)
146 | XCTAssertEqual(left, .left)
147 | XCTAssertEqual(up, .up)
| `- error: generic parameter 'T' could not be inferred
148 | XCTAssertEqual(down, .down)
149 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:148:5: error: generic parameter 'T' could not be inferred
146 | XCTAssertEqual(left, .left)
147 | XCTAssertEqual(up, .up)
148 | XCTAssertEqual(down, .down)
| `- error: generic parameter 'T' could not be inferred
149 | }
150 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:153:26: error: type 'Facing' has no member 'from'
151 | func testFromDirectionEightWay() {
152 | // Eight-way should return diagonals for diagonal inputs
153 | let upRight = Facing.from(direction: [1, -1], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
155 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:153:58: error: cannot infer contextual base in reference to member 'eightWay'
151 | func testFromDirectionEightWay() {
152 | // Eight-way should return diagonals for diagonal inputs
153 | let upRight = Facing.from(direction: [1, -1], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
155 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:154:27: error: type 'Facing' has no member 'from'
152 | // Eight-way should return diagonals for diagonal inputs
153 | let upRight = Facing.from(direction: [1, -1], axes: .eightWay)
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
155 |
156 | XCTAssertEqual(upRight, .upRight)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:154:59: error: cannot infer contextual base in reference to member 'eightWay'
152 | // Eight-way should return diagonals for diagonal inputs
153 | let upRight = Facing.from(direction: [1, -1], axes: .eightWay)
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
155 |
156 | XCTAssertEqual(upRight, .upRight)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:156:5: error: generic parameter 'T' could not be inferred
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
155 |
156 | XCTAssertEqual(upRight, .upRight)
| `- error: generic parameter 'T' could not be inferred
157 | XCTAssertEqual(downLeft, .downLeft)
158 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:157:5: error: generic parameter 'T' could not be inferred
155 |
156 | XCTAssertEqual(upRight, .upRight)
157 | XCTAssertEqual(downLeft, .downLeft)
| `- error: generic parameter 'T' could not be inferred
158 |
159 | // Cardinal directions should still work
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:160:24: error: type 'Facing' has no member 'from'
158 |
159 | // Cardinal directions should still work
160 | let right = Facing.from(direction: [1, 0], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
162 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:160:55: error: cannot infer contextual base in reference to member 'eightWay'
158 |
159 | // Cardinal directions should still work
160 | let right = Facing.from(direction: [1, 0], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
162 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:161:21: error: type 'Facing' has no member 'from'
159 | // Cardinal directions should still work
160 | let right = Facing.from(direction: [1, 0], axes: .eightWay)
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
162 |
163 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:161:53: error: cannot infer contextual base in reference to member 'eightWay'
159 | // Cardinal directions should still work
160 | let right = Facing.from(direction: [1, 0], axes: .eightWay)
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
162 |
163 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:163:5: error: generic parameter 'T' could not be inferred
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
162 |
163 | XCTAssertEqual(right, .right)
| `- error: generic parameter 'T' could not be inferred
164 | XCTAssertEqual(up, .up)
165 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:164:5: error: generic parameter 'T' could not be inferred
162 |
163 | XCTAssertEqual(right, .right)
164 | XCTAssertEqual(up, .up)
| `- error: generic parameter 'T' could not be inferred
165 | }
166 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:169:23: error: type 'Facing' has no member 'from'
167 | func testFromZeroVector() {
168 | // Zero or near-zero vectors should default to .right
169 | let zero = Facing.from(direction: [0, 0], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
171 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:169:54: error: cannot infer contextual base in reference to member 'eightWay'
167 | func testFromZeroVector() {
168 | // Zero or near-zero vectors should default to .right
169 | let zero = Facing.from(direction: [0, 0], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
171 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:170:23: error: type 'Facing' has no member 'from'
168 | // Zero or near-zero vectors should default to .right
169 | let zero = Facing.from(direction: [0, 0], axes: .eightWay)
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
171 |
172 | XCTAssertEqual(zero, .right, "Zero vector should default to right")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:170:60: error: cannot infer contextual base in reference to member 'eightWay'
168 | // Zero or near-zero vectors should default to .right
169 | let zero = Facing.from(direction: [0, 0], axes: .eightWay)
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
171 |
172 | XCTAssertEqual(zero, .right, "Zero vector should default to right")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:172:5: error: generic parameter 'T' could not be inferred
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
171 |
172 | XCTAssertEqual(zero, .right, "Zero vector should default to right")
| `- error: generic parameter 'T' could not be inferred
173 | XCTAssertEqual(tiny, .right, "Tiny vector should default to right")
174 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:173:5: error: generic parameter 'T' could not be inferred
171 |
172 | XCTAssertEqual(zero, .right, "Zero vector should default to right")
173 | XCTAssertEqual(tiny, .right, "Tiny vector should default to right")
| `- error: generic parameter 'T' could not be inferred
174 | }
175 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
[1443/1463] Compiling SwiftGodotBuilderTestExtension FacingTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:29:30: error: type 'Facing' has no member 'upLeft'
27 | // Left-facing directions have sign -1
28 | assertApproxEqual(Facing.left.sign, Float(-1))
29 | assertApproxEqual(Facing.upLeft.sign, Float(-1))
| `- error: type 'Facing' has no member 'upLeft'
30 | assertApproxEqual(Facing.downLeft.sign, Float(-1))
31 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:30:30: error: type 'Facing' has no member 'downLeft'
28 | assertApproxEqual(Facing.left.sign, Float(-1))
29 | assertApproxEqual(Facing.upLeft.sign, Float(-1))
30 | assertApproxEqual(Facing.downLeft.sign, Float(-1))
| `- error: type 'Facing' has no member 'downLeft'
31 |
32 | // Right-facing directions have sign 1
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:34:30: error: type 'Facing' has no member 'upRight'
32 | // Right-facing directions have sign 1
33 | assertApproxEqual(Facing.right.sign, Float(1))
34 | assertApproxEqual(Facing.upRight.sign, Float(1))
| `- error: type 'Facing' has no member 'upRight'
35 | assertApproxEqual(Facing.downRight.sign, Float(1))
36 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:35:30: error: type 'Facing' has no member 'downRight'
33 | assertApproxEqual(Facing.right.sign, Float(1))
34 | assertApproxEqual(Facing.upRight.sign, Float(1))
35 | assertApproxEqual(Facing.downRight.sign, Float(1))
| `- error: type 'Facing' has no member 'downRight'
36 |
37 | // Pure vertical directions have sign 0
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:38:30: error: type 'Facing' has no member 'up'
36 |
37 | // Pure vertical directions have sign 0
38 | assertApproxEqual(Facing.up.sign, Float(0))
| `- error: type 'Facing' has no member 'up'
39 | assertApproxEqual(Facing.down.sign, Float(0))
40 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:39:30: error: type 'Facing' has no member 'down'
37 | // Pure vertical directions have sign 0
38 | assertApproxEqual(Facing.up.sign, Float(0))
39 | assertApproxEqual(Facing.down.sign, Float(0))
| `- error: type 'Facing' has no member 'down'
40 | }
41 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:44:30: error: type 'Facing' has no member 'up'
42 | func testVerticalSignValues() {
43 | // Up-facing directions have verticalSign -1
44 | assertApproxEqual(Facing.up.verticalSign, Float(-1))
| `- error: type 'Facing' has no member 'up'
45 | assertApproxEqual(Facing.upLeft.verticalSign, Float(-1))
46 | assertApproxEqual(Facing.upRight.verticalSign, Float(-1))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:45:30: error: type 'Facing' has no member 'upLeft'
43 | // Up-facing directions have verticalSign -1
44 | assertApproxEqual(Facing.up.verticalSign, Float(-1))
45 | assertApproxEqual(Facing.upLeft.verticalSign, Float(-1))
| `- error: type 'Facing' has no member 'upLeft'
46 | assertApproxEqual(Facing.upRight.verticalSign, Float(-1))
47 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:46:30: error: type 'Facing' has no member 'upRight'
44 | assertApproxEqual(Facing.up.verticalSign, Float(-1))
45 | assertApproxEqual(Facing.upLeft.verticalSign, Float(-1))
46 | assertApproxEqual(Facing.upRight.verticalSign, Float(-1))
| `- error: type 'Facing' has no member 'upRight'
47 |
48 | // Down-facing directions have verticalSign 1
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:49:30: error: type 'Facing' has no member 'down'
47 |
48 | // Down-facing directions have verticalSign 1
49 | assertApproxEqual(Facing.down.verticalSign, Float(1))
| `- error: type 'Facing' has no member 'down'
50 | assertApproxEqual(Facing.downLeft.verticalSign, Float(1))
51 | assertApproxEqual(Facing.downRight.verticalSign, Float(1))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:50:30: error: type 'Facing' has no member 'downLeft'
48 | // Down-facing directions have verticalSign 1
49 | assertApproxEqual(Facing.down.verticalSign, Float(1))
50 | assertApproxEqual(Facing.downLeft.verticalSign, Float(1))
| `- error: type 'Facing' has no member 'downLeft'
51 | assertApproxEqual(Facing.downRight.verticalSign, Float(1))
52 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:51:30: error: type 'Facing' has no member 'downRight'
49 | assertApproxEqual(Facing.down.verticalSign, Float(1))
50 | assertApproxEqual(Facing.downLeft.verticalSign, Float(1))
51 | assertApproxEqual(Facing.downRight.verticalSign, Float(1))
| `- error: type 'Facing' has no member 'downRight'
52 |
53 | // Pure horizontal directions have verticalSign 0
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:54:35: error: value of type 'Facing' has no member 'verticalSign'
52 |
53 | // Pure horizontal directions have verticalSign 0
54 | assertApproxEqual(Facing.left.verticalSign, Float(0))
| `- error: value of type 'Facing' has no member 'verticalSign'
55 | assertApproxEqual(Facing.right.verticalSign, Float(0))
56 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:55:36: error: value of type 'Facing' has no member 'verticalSign'
53 | // Pure horizontal directions have verticalSign 0
54 | assertApproxEqual(Facing.left.verticalSign, Float(0))
55 | assertApproxEqual(Facing.right.verticalSign, Float(0))
| `- error: value of type 'Facing' has no member 'verticalSign'
56 | }
57 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:60:31: error: value of type 'Facing' has no member 'isLeft'
58 | func testIsLeftRight() {
59 | // isLeft checks
60 | XCTAssertTrue(Facing.left.isLeft)
| `- error: value of type 'Facing' has no member 'isLeft'
61 | XCTAssertTrue(Facing.upLeft.isLeft)
62 | XCTAssertTrue(Facing.downLeft.isLeft)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:61:26: error: type 'Facing' has no member 'upLeft'
59 | // isLeft checks
60 | XCTAssertTrue(Facing.left.isLeft)
61 | XCTAssertTrue(Facing.upLeft.isLeft)
| `- error: type 'Facing' has no member 'upLeft'
62 | XCTAssertTrue(Facing.downLeft.isLeft)
63 | XCTAssertFalse(Facing.right.isLeft)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:62:26: error: type 'Facing' has no member 'downLeft'
60 | XCTAssertTrue(Facing.left.isLeft)
61 | XCTAssertTrue(Facing.upLeft.isLeft)
62 | XCTAssertTrue(Facing.downLeft.isLeft)
| `- error: type 'Facing' has no member 'downLeft'
63 | XCTAssertFalse(Facing.right.isLeft)
64 | XCTAssertFalse(Facing.up.isLeft)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:63:33: error: value of type 'Facing' has no member 'isLeft'
61 | XCTAssertTrue(Facing.upLeft.isLeft)
62 | XCTAssertTrue(Facing.downLeft.isLeft)
63 | XCTAssertFalse(Facing.right.isLeft)
| `- error: value of type 'Facing' has no member 'isLeft'
64 | XCTAssertFalse(Facing.up.isLeft)
65 | XCTAssertFalse(Facing.down.isLeft)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:64:27: error: type 'Facing' has no member 'up'
62 | XCTAssertTrue(Facing.downLeft.isLeft)
63 | XCTAssertFalse(Facing.right.isLeft)
64 | XCTAssertFalse(Facing.up.isLeft)
| `- error: type 'Facing' has no member 'up'
65 | XCTAssertFalse(Facing.down.isLeft)
66 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:65:27: error: type 'Facing' has no member 'down'
63 | XCTAssertFalse(Facing.right.isLeft)
64 | XCTAssertFalse(Facing.up.isLeft)
65 | XCTAssertFalse(Facing.down.isLeft)
| `- error: type 'Facing' has no member 'down'
66 |
67 | // isRight checks
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:68:32: error: value of type 'Facing' has no member 'isRight'
66 |
67 | // isRight checks
68 | XCTAssertTrue(Facing.right.isRight)
| `- error: value of type 'Facing' has no member 'isRight'
69 | XCTAssertTrue(Facing.upRight.isRight)
70 | XCTAssertTrue(Facing.downRight.isRight)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:69:26: error: type 'Facing' has no member 'upRight'
67 | // isRight checks
68 | XCTAssertTrue(Facing.right.isRight)
69 | XCTAssertTrue(Facing.upRight.isRight)
| `- error: type 'Facing' has no member 'upRight'
70 | XCTAssertTrue(Facing.downRight.isRight)
71 | XCTAssertFalse(Facing.left.isRight)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:70:26: error: type 'Facing' has no member 'downRight'
68 | XCTAssertTrue(Facing.right.isRight)
69 | XCTAssertTrue(Facing.upRight.isRight)
70 | XCTAssertTrue(Facing.downRight.isRight)
| `- error: type 'Facing' has no member 'downRight'
71 | XCTAssertFalse(Facing.left.isRight)
72 | XCTAssertFalse(Facing.up.isRight)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:71:32: error: value of type 'Facing' has no member 'isRight'
69 | XCTAssertTrue(Facing.upRight.isRight)
70 | XCTAssertTrue(Facing.downRight.isRight)
71 | XCTAssertFalse(Facing.left.isRight)
| `- error: value of type 'Facing' has no member 'isRight'
72 | XCTAssertFalse(Facing.up.isRight)
73 | XCTAssertFalse(Facing.down.isRight)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:72:27: error: type 'Facing' has no member 'up'
70 | XCTAssertTrue(Facing.downRight.isRight)
71 | XCTAssertFalse(Facing.left.isRight)
72 | XCTAssertFalse(Facing.up.isRight)
| `- error: type 'Facing' has no member 'up'
73 | XCTAssertFalse(Facing.down.isRight)
74 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:73:27: error: type 'Facing' has no member 'down'
71 | XCTAssertFalse(Facing.left.isRight)
72 | XCTAssertFalse(Facing.up.isRight)
73 | XCTAssertFalse(Facing.down.isRight)
| `- error: type 'Facing' has no member 'down'
74 | }
75 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:78:30: error: type 'Facing' has no member 'up'
76 | func testVectorCardinals() {
77 | // Cardinal directions should be unit vectors
78 | assertApproxEqual(Facing.up.vector, Vector2(x: 0, y: -1))
| `- error: type 'Facing' has no member 'up'
79 | assertApproxEqual(Facing.down.vector, Vector2(x: 0, y: 1))
80 | assertApproxEqual(Facing.left.vector, Vector2(x: -1, y: 0))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:79:30: error: type 'Facing' has no member 'down'
77 | // Cardinal directions should be unit vectors
78 | assertApproxEqual(Facing.up.vector, Vector2(x: 0, y: -1))
79 | assertApproxEqual(Facing.down.vector, Vector2(x: 0, y: 1))
| `- error: type 'Facing' has no member 'down'
80 | assertApproxEqual(Facing.left.vector, Vector2(x: -1, y: 0))
81 | assertApproxEqual(Facing.right.vector, Vector2(x: 1, y: 0))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:80:35: error: value of type 'Facing' has no member 'vector'
78 | assertApproxEqual(Facing.up.vector, Vector2(x: 0, y: -1))
79 | assertApproxEqual(Facing.down.vector, Vector2(x: 0, y: 1))
80 | assertApproxEqual(Facing.left.vector, Vector2(x: -1, y: 0))
| `- error: value of type 'Facing' has no member 'vector'
81 | assertApproxEqual(Facing.right.vector, Vector2(x: 1, y: 0))
82 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:81:36: error: value of type 'Facing' has no member 'vector'
79 | assertApproxEqual(Facing.down.vector, Vector2(x: 0, y: 1))
80 | assertApproxEqual(Facing.left.vector, Vector2(x: -1, y: 0))
81 | assertApproxEqual(Facing.right.vector, Vector2(x: 1, y: 0))
| `- error: value of type 'Facing' has no member 'vector'
82 | }
83 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:88:36: error: type 'Facing' has no member 'upLeft'
86 | let sqrt2Inv = Float(1.0 / Foundation.sqrt(2.0))
87 |
88 | assertApproxEqual(Float(Facing.upLeft.vector.length()), Float(1.0))
| `- error: type 'Facing' has no member 'upLeft'
89 | assertApproxEqual(Float(Facing.upRight.vector.length()), Float(1.0))
90 | assertApproxEqual(Float(Facing.downLeft.vector.length()), Float(1.0))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:89:36: error: type 'Facing' has no member 'upRight'
87 |
88 | assertApproxEqual(Float(Facing.upLeft.vector.length()), Float(1.0))
89 | assertApproxEqual(Float(Facing.upRight.vector.length()), Float(1.0))
| `- error: type 'Facing' has no member 'upRight'
90 | assertApproxEqual(Float(Facing.downLeft.vector.length()), Float(1.0))
91 | assertApproxEqual(Float(Facing.downRight.vector.length()), Float(1.0))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:90:36: error: type 'Facing' has no member 'downLeft'
88 | assertApproxEqual(Float(Facing.upLeft.vector.length()), Float(1.0))
89 | assertApproxEqual(Float(Facing.upRight.vector.length()), Float(1.0))
90 | assertApproxEqual(Float(Facing.downLeft.vector.length()), Float(1.0))
| `- error: type 'Facing' has no member 'downLeft'
91 | assertApproxEqual(Float(Facing.downRight.vector.length()), Float(1.0))
92 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:91:36: error: type 'Facing' has no member 'downRight'
89 | assertApproxEqual(Float(Facing.upRight.vector.length()), Float(1.0))
90 | assertApproxEqual(Float(Facing.downLeft.vector.length()), Float(1.0))
91 | assertApproxEqual(Float(Facing.downRight.vector.length()), Float(1.0))
| `- error: type 'Facing' has no member 'downRight'
92 |
93 | // Check components
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:94:30: error: type 'Facing' has no member 'upLeft'
92 |
93 | // Check components
94 | assertApproxEqual(Facing.upLeft.vector.x, -sqrt2Inv)
| `- error: type 'Facing' has no member 'upLeft'
95 | assertApproxEqual(Facing.upLeft.vector.y, -sqrt2Inv)
96 | assertApproxEqual(Facing.downRight.vector.x, sqrt2Inv)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:95:30: error: type 'Facing' has no member 'upLeft'
93 | // Check components
94 | assertApproxEqual(Facing.upLeft.vector.x, -sqrt2Inv)
95 | assertApproxEqual(Facing.upLeft.vector.y, -sqrt2Inv)
| `- error: type 'Facing' has no member 'upLeft'
96 | assertApproxEqual(Facing.downRight.vector.x, sqrt2Inv)
97 | assertApproxEqual(Facing.downRight.vector.y, sqrt2Inv)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:96:30: error: type 'Facing' has no member 'downRight'
94 | assertApproxEqual(Facing.upLeft.vector.x, -sqrt2Inv)
95 | assertApproxEqual(Facing.upLeft.vector.y, -sqrt2Inv)
96 | assertApproxEqual(Facing.downRight.vector.x, sqrt2Inv)
| `- error: type 'Facing' has no member 'downRight'
97 | assertApproxEqual(Facing.downRight.vector.y, sqrt2Inv)
98 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:97:30: error: type 'Facing' has no member 'downRight'
95 | assertApproxEqual(Facing.upLeft.vector.y, -sqrt2Inv)
96 | assertApproxEqual(Facing.downRight.vector.x, sqrt2Inv)
97 | assertApproxEqual(Facing.downRight.vector.y, sqrt2Inv)
| `- error: type 'Facing' has no member 'downRight'
98 | }
99 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:104:36: error: value of type 'Facing' has no member 'angle'
102 |
103 | // Right = 0 radians
104 | assertApproxEqual(Facing.right.angle, Float(0), epsilon: 0.01)
| `- error: value of type 'Facing' has no member 'angle'
105 |
106 | // Down = pi/2
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:107:30: error: type 'Facing' has no member 'down'
105 |
106 | // Down = pi/2
107 | assertApproxEqual(Facing.down.angle, pi / 2, epsilon: 0.01)
| `- error: type 'Facing' has no member 'down'
108 |
109 | // Up = -pi/2
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:110:30: error: type 'Facing' has no member 'up'
108 |
109 | // Up = -pi/2
110 | assertApproxEqual(Facing.up.angle, -pi / 2, epsilon: 0.01)
| `- error: type 'Facing' has no member 'up'
111 |
112 | // Left = +/- pi
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:113:35: error: value of type 'Facing' has no member 'angle'
111 |
112 | // Left = +/- pi
113 | XCTAssertTrue(abs(Facing.left.angle) > pi - 0.1, "Left angle should be near +/- pi")
| `- error: value of type 'Facing' has no member 'angle'
114 | }
115 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:118:24: error: type 'Facing' has no member 'from'
116 | func testFromDirectionHorizontal() {
117 | // Horizontal mode only returns left or right
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
| `- error: type 'Facing' has no member 'from'
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:118:55: error: cannot infer contextual base in reference to member 'horizontal'
116 | func testFromDirectionHorizontal() {
117 | // Horizontal mode only returns left or right
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
| `- error: cannot infer contextual base in reference to member 'horizontal'
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:119:23: error: type 'Facing' has no member 'from'
117 | // Horizontal mode only returns left or right
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
| `- error: type 'Facing' has no member 'from'
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
121 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:119:55: error: cannot infer contextual base in reference to member 'horizontal'
117 | // Horizontal mode only returns left or right
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
| `- error: cannot infer contextual base in reference to member 'horizontal'
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
121 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:120:23: error: type 'Facing' has no member 'from'
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
| `- error: type 'Facing' has no member 'from'
121 |
122 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:120:58: error: cannot infer contextual base in reference to member 'horizontal'
118 | let right = Facing.from(direction: [1, 0], axes: .horizontal)
119 | let left = Facing.from(direction: [-1, 0], axes: .horizontal)
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
| `- error: cannot infer contextual base in reference to member 'horizontal'
121 |
122 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:122:5: error: generic parameter 'T' could not be inferred
120 | let diag = Facing.from(direction: [0.5, 0.9], axes: .horizontal)
121 |
122 | XCTAssertEqual(right, .right)
| `- error: generic parameter 'T' could not be inferred
123 | XCTAssertEqual(left, .left)
124 | XCTAssertEqual(diag, .right, "Positive x should give right in horizontal mode")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:123:5: error: generic parameter 'T' could not be inferred
121 |
122 | XCTAssertEqual(right, .right)
123 | XCTAssertEqual(left, .left)
| `- error: generic parameter 'T' could not be inferred
124 | XCTAssertEqual(diag, .right, "Positive x should give right in horizontal mode")
125 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:124:5: error: generic parameter 'T' could not be inferred
122 | XCTAssertEqual(right, .right)
123 | XCTAssertEqual(left, .left)
124 | XCTAssertEqual(diag, .right, "Positive x should give right in horizontal mode")
| `- error: generic parameter 'T' could not be inferred
125 | }
126 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:129:21: error: type 'Facing' has no member 'from'
127 | func testFromDirectionVertical() {
128 | // Vertical mode only returns up or down
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
| `- error: type 'Facing' has no member 'from'
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:129:53: error: cannot infer contextual base in reference to member 'vertical'
127 | func testFromDirectionVertical() {
128 | // Vertical mode only returns up or down
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
| `- error: cannot infer contextual base in reference to member 'vertical'
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:130:23: error: type 'Facing' has no member 'from'
128 | // Vertical mode only returns up or down
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
| `- error: type 'Facing' has no member 'from'
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:130:54: error: cannot infer contextual base in reference to member 'vertical'
128 | // Vertical mode only returns up or down
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
| `- error: cannot infer contextual base in reference to member 'vertical'
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:131:23: error: type 'Facing' has no member 'from'
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
| `- error: type 'Facing' has no member 'from'
132 |
133 | XCTAssertEqual(up, .up)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:131:58: error: cannot infer contextual base in reference to member 'vertical'
129 | let up = Facing.from(direction: [0, -1], axes: .vertical)
130 | let down = Facing.from(direction: [0, 1], axes: .vertical)
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
| `- error: cannot infer contextual base in reference to member 'vertical'
132 |
133 | XCTAssertEqual(up, .up)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:133:5: error: generic parameter 'T' could not be inferred
131 | let diag = Facing.from(direction: [0.9, 0.5], axes: .vertical)
132 |
133 | XCTAssertEqual(up, .up)
| `- error: generic parameter 'T' could not be inferred
134 | XCTAssertEqual(down, .down)
135 | XCTAssertEqual(diag, .down, "Positive y should give down in vertical mode")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:134:5: error: generic parameter 'T' could not be inferred
132 |
133 | XCTAssertEqual(up, .up)
134 | XCTAssertEqual(down, .down)
| `- error: generic parameter 'T' could not be inferred
135 | XCTAssertEqual(diag, .down, "Positive y should give down in vertical mode")
136 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:135:5: error: generic parameter 'T' could not be inferred
133 | XCTAssertEqual(up, .up)
134 | XCTAssertEqual(down, .down)
135 | XCTAssertEqual(diag, .down, "Positive y should give down in vertical mode")
| `- error: generic parameter 'T' could not be inferred
136 | }
137 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:140:24: error: type 'Facing' has no member 'from'
138 | func testFromDirectionFourWay() {
139 | // Four-way picks dominant axis
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
| `- error: type 'Facing' has no member 'from'
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:140:57: error: cannot infer contextual base in reference to member 'fourWay'
138 | func testFromDirectionFourWay() {
139 | // Four-way picks dominant axis
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:141:23: error: type 'Facing' has no member 'from'
139 | // Four-way picks dominant axis
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
| `- error: type 'Facing' has no member 'from'
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:141:57: error: cannot infer contextual base in reference to member 'fourWay'
139 | // Four-way picks dominant axis
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:142:21: error: type 'Facing' has no member 'from'
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
| `- error: type 'Facing' has no member 'from'
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
144 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:142:55: error: cannot infer contextual base in reference to member 'fourWay'
140 | let right = Facing.from(direction: [1, 0.3], axes: .fourWay)
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
144 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:143:23: error: type 'Facing' has no member 'from'
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
| `- error: type 'Facing' has no member 'from'
144 |
145 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:143:56: error: cannot infer contextual base in reference to member 'fourWay'
141 | let left = Facing.from(direction: [-1, 0.3], axes: .fourWay)
142 | let up = Facing.from(direction: [0.3, -1], axes: .fourWay)
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
144 |
145 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:145:5: error: generic parameter 'T' could not be inferred
143 | let down = Facing.from(direction: [0.3, 1], axes: .fourWay)
144 |
145 | XCTAssertEqual(right, .right)
| `- error: generic parameter 'T' could not be inferred
146 | XCTAssertEqual(left, .left)
147 | XCTAssertEqual(up, .up)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:146:5: error: generic parameter 'T' could not be inferred
144 |
145 | XCTAssertEqual(right, .right)
146 | XCTAssertEqual(left, .left)
| `- error: generic parameter 'T' could not be inferred
147 | XCTAssertEqual(up, .up)
148 | XCTAssertEqual(down, .down)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:147:5: error: generic parameter 'T' could not be inferred
145 | XCTAssertEqual(right, .right)
146 | XCTAssertEqual(left, .left)
147 | XCTAssertEqual(up, .up)
| `- error: generic parameter 'T' could not be inferred
148 | XCTAssertEqual(down, .down)
149 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:148:5: error: generic parameter 'T' could not be inferred
146 | XCTAssertEqual(left, .left)
147 | XCTAssertEqual(up, .up)
148 | XCTAssertEqual(down, .down)
| `- error: generic parameter 'T' could not be inferred
149 | }
150 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:153:26: error: type 'Facing' has no member 'from'
151 | func testFromDirectionEightWay() {
152 | // Eight-way should return diagonals for diagonal inputs
153 | let upRight = Facing.from(direction: [1, -1], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
155 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:153:58: error: cannot infer contextual base in reference to member 'eightWay'
151 | func testFromDirectionEightWay() {
152 | // Eight-way should return diagonals for diagonal inputs
153 | let upRight = Facing.from(direction: [1, -1], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
155 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:154:27: error: type 'Facing' has no member 'from'
152 | // Eight-way should return diagonals for diagonal inputs
153 | let upRight = Facing.from(direction: [1, -1], axes: .eightWay)
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
155 |
156 | XCTAssertEqual(upRight, .upRight)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:154:59: error: cannot infer contextual base in reference to member 'eightWay'
152 | // Eight-way should return diagonals for diagonal inputs
153 | let upRight = Facing.from(direction: [1, -1], axes: .eightWay)
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
155 |
156 | XCTAssertEqual(upRight, .upRight)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:156:5: error: generic parameter 'T' could not be inferred
154 | let downLeft = Facing.from(direction: [-1, 1], axes: .eightWay)
155 |
156 | XCTAssertEqual(upRight, .upRight)
| `- error: generic parameter 'T' could not be inferred
157 | XCTAssertEqual(downLeft, .downLeft)
158 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:157:5: error: generic parameter 'T' could not be inferred
155 |
156 | XCTAssertEqual(upRight, .upRight)
157 | XCTAssertEqual(downLeft, .downLeft)
| `- error: generic parameter 'T' could not be inferred
158 |
159 | // Cardinal directions should still work
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:160:24: error: type 'Facing' has no member 'from'
158 |
159 | // Cardinal directions should still work
160 | let right = Facing.from(direction: [1, 0], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
162 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:160:55: error: cannot infer contextual base in reference to member 'eightWay'
158 |
159 | // Cardinal directions should still work
160 | let right = Facing.from(direction: [1, 0], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
162 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:161:21: error: type 'Facing' has no member 'from'
159 | // Cardinal directions should still work
160 | let right = Facing.from(direction: [1, 0], axes: .eightWay)
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
162 |
163 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:161:53: error: cannot infer contextual base in reference to member 'eightWay'
159 | // Cardinal directions should still work
160 | let right = Facing.from(direction: [1, 0], axes: .eightWay)
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
162 |
163 | XCTAssertEqual(right, .right)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:163:5: error: generic parameter 'T' could not be inferred
161 | let up = Facing.from(direction: [0, -1], axes: .eightWay)
162 |
163 | XCTAssertEqual(right, .right)
| `- error: generic parameter 'T' could not be inferred
164 | XCTAssertEqual(up, .up)
165 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:164:5: error: generic parameter 'T' could not be inferred
162 |
163 | XCTAssertEqual(right, .right)
164 | XCTAssertEqual(up, .up)
| `- error: generic parameter 'T' could not be inferred
165 | }
166 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:169:23: error: type 'Facing' has no member 'from'
167 | func testFromZeroVector() {
168 | // Zero or near-zero vectors should default to .right
169 | let zero = Facing.from(direction: [0, 0], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
171 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:169:54: error: cannot infer contextual base in reference to member 'eightWay'
167 | func testFromZeroVector() {
168 | // Zero or near-zero vectors should default to .right
169 | let zero = Facing.from(direction: [0, 0], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
171 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:170:23: error: type 'Facing' has no member 'from'
168 | // Zero or near-zero vectors should default to .right
169 | let zero = Facing.from(direction: [0, 0], axes: .eightWay)
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
| `- error: type 'Facing' has no member 'from'
171 |
172 | XCTAssertEqual(zero, .right, "Zero vector should default to right")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:170:60: error: cannot infer contextual base in reference to member 'eightWay'
168 | // Zero or near-zero vectors should default to .right
169 | let zero = Facing.from(direction: [0, 0], axes: .eightWay)
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
| `- error: cannot infer contextual base in reference to member 'eightWay'
171 |
172 | XCTAssertEqual(zero, .right, "Zero vector should default to right")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:172:5: error: generic parameter 'T' could not be inferred
170 | let tiny = Facing.from(direction: [0.05, 0.05], axes: .eightWay)
171 |
172 | XCTAssertEqual(zero, .right, "Zero vector should default to right")
| `- error: generic parameter 'T' could not be inferred
173 | XCTAssertEqual(tiny, .right, "Tiny vector should default to right")
174 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/FacingTests.swift:173:5: error: generic parameter 'T' could not be inferred
171 |
172 | XCTAssertEqual(zero, .right, "Zero vector should default to right")
173 | XCTAssertEqual(tiny, .right, "Tiny vector should default to right")
| `- error: generic parameter 'T' could not be inferred
174 | }
175 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
[1444/1465] Emitting module SwiftGodotBuilderTestExtension
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/BehaviorMachineTests.swift:171:50: warning: reference to captured var 'shouldTransition' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
169 | Idle()
170 | }
171 | .transition(to: TestAIState.patrol) { _ in shouldTransition }
| `- warning: reference to captured var 'shouldTransition' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
172 |
173 | During(TestAIState.patrol) {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/TestResult.swift:18:14: warning: stored property 'failure' of 'Sendable'-conforming struct 'TestCaseResult' contains non-Sendable type 'TestFailure'; this is an error in the Swift 6 language mode
16 | public let status: TestStatus
17 | public let duration: Double
18 | public let failure: TestFailure?
| `- warning: stored property 'failure' of 'Sendable'-conforming struct 'TestCaseResult' contains non-Sendable type 'TestFailure'; this is an error in the Swift 6 language mode
19 |
20 | public init(name: String, status: TestStatus, duration: Double, failure: TestFailure? = nil) {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/TestContext.swift:31:15: note: consider making struct 'TestFailure' conform to the 'Sendable' protocol
29 |
30 | /// A recorded test failure
31 | public struct TestFailure: Codable {
| `- note: consider making struct 'TestFailure' conform to the 'Sendable' protocol
32 | public let message: String
33 | public let file: String
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1445/1465] Compiling SwiftGodotBuilderTestExtension GNodeEventsTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/GNodeTweenTests.swift:21:9: warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
19 |
20 | // Test the property-based tweenToggle API using TweenProp.Scale
21 | let node = Node2D$()
| `- warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
22 | .tweenToggle(isActive, TweenProp.Scale.self,
23 | whenTrue: [1.2, 1.2], whenFalse: [1.0, 1.0],
[1446/1465] Compiling SwiftGodotBuilderTestExtension GNodeSignalsTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/GNodeTweenTests.swift:21:9: warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
19 |
20 | // Test the property-based tweenToggle API using TweenProp.Scale
21 | let node = Node2D$()
| `- warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
22 | .tweenToggle(isActive, TweenProp.Scale.self,
23 | whenTrue: [1.2, 1.2], whenFalse: [1.0, 1.0],
[1447/1465] Compiling SwiftGodotBuilderTestExtension GNodeTweenTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/GNodeTweenTests.swift:21:9: warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
19 |
20 | // Test the property-based tweenToggle API using TweenProp.Scale
21 | let node = Node2D$()
| `- warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
22 | .tweenToggle(isActive, TweenProp.Scale.self,
23 | whenTrue: [1.2, 1.2], whenFalse: [1.0, 1.0],
[1448/1465] Compiling SwiftGodotBuilderTestExtension GViewTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ObjectPoolTests.swift:90:9: warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
88 | XCTAssertEqual(PooledNode.acquireCount, 0, "onAcquire not called during preload")
89 |
90 | let node = pool.acquire()
| `- warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
91 | XCTAssertEqual(PooledNode.acquireCount, 1, "onAcquire called on acquire")
92 | }
[1449/1465] Compiling SwiftGodotBuilderTestExtension ObjectPoolTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ObjectPoolTests.swift:90:9: warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
88 | XCTAssertEqual(PooledNode.acquireCount, 0, "onAcquire not called during preload")
89 |
90 | let node = pool.acquire()
| `- warning: initialization of immutable value 'node' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
91 | XCTAssertEqual(PooledNode.acquireCount, 1, "onAcquire called on acquire")
92 | }
[1450/1465] Compiling SwiftGodotBuilderTestExtension TestContext.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/TestResult.swift:18:14: warning: stored property 'failure' of 'Sendable'-conforming struct 'TestCaseResult' contains non-Sendable type 'TestFailure'; this is an error in the Swift 6 language mode
16 | public let status: TestStatus
17 | public let duration: Double
18 | public let failure: TestFailure?
| `- warning: stored property 'failure' of 'Sendable'-conforming struct 'TestCaseResult' contains non-Sendable type 'TestFailure'; this is an error in the Swift 6 language mode
19 |
20 | public init(name: String, status: TestStatus, duration: Double, failure: TestFailure? = nil) {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/TestContext.swift:31:15: note: consider making struct 'TestFailure' conform to the 'Sendable' protocol
29 |
30 | /// A recorded test failure
31 | public struct TestFailure: Codable {
| `- note: consider making struct 'TestFailure' conform to the 'Sendable' protocol
32 | public let message: String
33 | public let file: String
[1451/1465] Compiling SwiftGodotBuilderTestExtension TestResult.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/TestResult.swift:18:14: warning: stored property 'failure' of 'Sendable'-conforming struct 'TestCaseResult' contains non-Sendable type 'TestFailure'; this is an error in the Swift 6 language mode
16 | public let status: TestStatus
17 | public let duration: Double
18 | public let failure: TestFailure?
| `- warning: stored property 'failure' of 'Sendable'-conforming struct 'TestCaseResult' contains non-Sendable type 'TestFailure'; this is an error in the Swift 6 language mode
19 |
20 | public init(name: String, status: TestStatus, duration: Double, failure: TestFailure? = nil) {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/TestContext.swift:31:15: note: consider making struct 'TestFailure' conform to the 'Sendable' protocol
29 |
30 | /// A recorded test failure
31 | public struct TestFailure: Codable {
| `- note: consider making struct 'TestFailure' conform to the 'Sendable' protocol
32 | public let message: String
33 | public let file: String
[1452/1465] Compiling SwiftGodotBuilderTestExtension AbilityTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:37:18: error: cannot find 'JumpConfig' in scope
35 |
36 | func testJumpConfigDefaults() {
37 | let config = JumpConfig.default
| `- error: cannot find 'JumpConfig' in scope
38 |
39 | assertApproxEqual(config.jumpSpeed, Float(130))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:47:18: error: cannot find 'JumpConfig' in scope
45 |
46 | func testJumpConfigCustom() {
47 | let config = JumpConfig(
| `- error: cannot find 'JumpConfig' in scope
48 | jumpSpeed: 200,
49 | minJumpSpeed: 100,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:63:19: error: cannot find 'JumpAbility' in scope
61 |
62 | func testJumpAbilityInitialState() {
63 | let ability = JumpAbility()
| `- error: cannot find 'JumpAbility' in scope
64 |
65 | XCTAssertFalse(ability.isActive, "Jump is instant, not sustained")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:70:19: error: cannot find 'JumpAbility' in scope
68 |
69 | func testJumpAbilityReset() {
70 | let ability = JumpAbility()
| `- error: cannot find 'JumpAbility' in scope
71 |
72 | // Request a jump then reset
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:84:18: error: cannot find 'DashConfig' in scope
82 |
83 | func testDashConfigDefaults() {
84 | let config = DashConfig.default
| `- error: cannot find 'DashConfig' in scope
85 |
86 | assertApproxEqual(config.speed, Float(200))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:92:18: error: cannot find 'DashConfig' in scope
90 |
91 | func testDashConfigCustom() {
92 | let config = DashConfig(
| `- error: cannot find 'DashConfig' in scope
93 | speed: 300,
94 | duration: 0.2,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:104:19: error: cannot find 'DashAbility' in scope
102 |
103 | func testDashAbilityInitialState() {
104 | let ability = DashAbility()
| `- error: cannot find 'DashAbility' in scope
105 |
106 | XCTAssertFalse(ability.isActive)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:111:19: error: cannot find 'DashAbility' in scope
109 |
110 | func testDashAbilityReset() {
111 | let ability = DashAbility()
| `- error: cannot find 'DashAbility' in scope
112 |
113 | // Reset should clear all state
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:123:18: error: cannot find 'WallJumpConfig' in scope
121 |
122 | func testWallJumpConfigDefaults() {
123 | let config = WallJumpConfig.default
| `- error: cannot find 'WallJumpConfig' in scope
124 |
125 | assertApproxEqual(config.wallSlideGravityMultiplier, Float(0.3))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:131:18: error: cannot find 'WallJumpConfig' in scope
129 |
130 | func testWallJumpConfigCustom() {
131 | let config = WallJumpConfig(
| `- error: cannot find 'WallJumpConfig' in scope
132 | wallSlideGravityMultiplier: 0.5,
133 | wallJumpHorizontalSpeed: 100,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:143:19: error: cannot find 'WallJumpAbility' in scope
141 |
142 | func testWallJumpAbilityInitialState() {
143 | let ability = WallJumpAbility()
| `- error: cannot find 'WallJumpAbility' in scope
144 |
145 | XCTAssertFalse(ability.isActive, "Not wall sliding initially")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:150:18: error: cannot find 'WallJumpConfig' in scope
148 |
149 | func testWallJumpGravityMultiplier() {
150 | let config = WallJumpConfig(wallSlideGravityMultiplier: 0.25)
| `- error: cannot find 'WallJumpConfig' in scope
151 | let ability = WallJumpAbility(config: config)
152 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:151:19: error: cannot find 'WallJumpAbility' in scope
149 | func testWallJumpGravityMultiplier() {
150 | let config = WallJumpConfig(wallSlideGravityMultiplier: 0.25)
151 | let ability = WallJumpAbility(config: config)
| `- error: cannot find 'WallJumpAbility' in scope
152 |
153 | // When not wall sliding, multiplier is 1.0
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:164:20: error: cannot find 'AbilitySlot' in scope
162 |
163 | func testAbilitySlotValues() {
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
| `- error: cannot find 'AbilitySlot' in scope
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:165:20: error: cannot find 'AbilitySlot' in scope
163 | func testAbilitySlotValues() {
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
| `- error: cannot find 'AbilitySlot' in scope
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:166:20: error: cannot find 'AbilitySlot' in scope
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
| `- error: cannot find 'AbilitySlot' in scope
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
168 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:167:20: error: cannot find 'AbilitySlot' in scope
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
| `- error: cannot find 'AbilitySlot' in scope
168 | }
169 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:171:20: error: cannot find 'AbilitySlot' in scope
169 |
170 | func testAbilitySlotCaseIterable() {
171 | let allSlots = AbilitySlot.allCases
| `- error: cannot find 'AbilitySlot' in scope
172 | XCTAssertEqual(allSlots.count, 4)
173 | }
[1453/1465] Compiling SwiftGodotBuilderTestExtension ActionsTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:37:18: error: cannot find 'JumpConfig' in scope
35 |
36 | func testJumpConfigDefaults() {
37 | let config = JumpConfig.default
| `- error: cannot find 'JumpConfig' in scope
38 |
39 | assertApproxEqual(config.jumpSpeed, Float(130))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:47:18: error: cannot find 'JumpConfig' in scope
45 |
46 | func testJumpConfigCustom() {
47 | let config = JumpConfig(
| `- error: cannot find 'JumpConfig' in scope
48 | jumpSpeed: 200,
49 | minJumpSpeed: 100,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:63:19: error: cannot find 'JumpAbility' in scope
61 |
62 | func testJumpAbilityInitialState() {
63 | let ability = JumpAbility()
| `- error: cannot find 'JumpAbility' in scope
64 |
65 | XCTAssertFalse(ability.isActive, "Jump is instant, not sustained")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:70:19: error: cannot find 'JumpAbility' in scope
68 |
69 | func testJumpAbilityReset() {
70 | let ability = JumpAbility()
| `- error: cannot find 'JumpAbility' in scope
71 |
72 | // Request a jump then reset
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:84:18: error: cannot find 'DashConfig' in scope
82 |
83 | func testDashConfigDefaults() {
84 | let config = DashConfig.default
| `- error: cannot find 'DashConfig' in scope
85 |
86 | assertApproxEqual(config.speed, Float(200))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:92:18: error: cannot find 'DashConfig' in scope
90 |
91 | func testDashConfigCustom() {
92 | let config = DashConfig(
| `- error: cannot find 'DashConfig' in scope
93 | speed: 300,
94 | duration: 0.2,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:104:19: error: cannot find 'DashAbility' in scope
102 |
103 | func testDashAbilityInitialState() {
104 | let ability = DashAbility()
| `- error: cannot find 'DashAbility' in scope
105 |
106 | XCTAssertFalse(ability.isActive)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:111:19: error: cannot find 'DashAbility' in scope
109 |
110 | func testDashAbilityReset() {
111 | let ability = DashAbility()
| `- error: cannot find 'DashAbility' in scope
112 |
113 | // Reset should clear all state
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:123:18: error: cannot find 'WallJumpConfig' in scope
121 |
122 | func testWallJumpConfigDefaults() {
123 | let config = WallJumpConfig.default
| `- error: cannot find 'WallJumpConfig' in scope
124 |
125 | assertApproxEqual(config.wallSlideGravityMultiplier, Float(0.3))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:131:18: error: cannot find 'WallJumpConfig' in scope
129 |
130 | func testWallJumpConfigCustom() {
131 | let config = WallJumpConfig(
| `- error: cannot find 'WallJumpConfig' in scope
132 | wallSlideGravityMultiplier: 0.5,
133 | wallJumpHorizontalSpeed: 100,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:143:19: error: cannot find 'WallJumpAbility' in scope
141 |
142 | func testWallJumpAbilityInitialState() {
143 | let ability = WallJumpAbility()
| `- error: cannot find 'WallJumpAbility' in scope
144 |
145 | XCTAssertFalse(ability.isActive, "Not wall sliding initially")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:150:18: error: cannot find 'WallJumpConfig' in scope
148 |
149 | func testWallJumpGravityMultiplier() {
150 | let config = WallJumpConfig(wallSlideGravityMultiplier: 0.25)
| `- error: cannot find 'WallJumpConfig' in scope
151 | let ability = WallJumpAbility(config: config)
152 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:151:19: error: cannot find 'WallJumpAbility' in scope
149 | func testWallJumpGravityMultiplier() {
150 | let config = WallJumpConfig(wallSlideGravityMultiplier: 0.25)
151 | let ability = WallJumpAbility(config: config)
| `- error: cannot find 'WallJumpAbility' in scope
152 |
153 | // When not wall sliding, multiplier is 1.0
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:164:20: error: cannot find 'AbilitySlot' in scope
162 |
163 | func testAbilitySlotValues() {
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
| `- error: cannot find 'AbilitySlot' in scope
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:165:20: error: cannot find 'AbilitySlot' in scope
163 | func testAbilitySlotValues() {
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
| `- error: cannot find 'AbilitySlot' in scope
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:166:20: error: cannot find 'AbilitySlot' in scope
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
| `- error: cannot find 'AbilitySlot' in scope
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
168 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:167:20: error: cannot find 'AbilitySlot' in scope
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
| `- error: cannot find 'AbilitySlot' in scope
168 | }
169 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:171:20: error: cannot find 'AbilitySlot' in scope
169 |
170 | func testAbilitySlotCaseIterable() {
171 | let allSlots = AbilitySlot.allCases
| `- error: cannot find 'AbilitySlot' in scope
172 | XCTAssertEqual(allSlots.count, 4)
173 | }
[1454/1465] Compiling SwiftGodotBuilderTestExtension ActorDefenseTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:37:18: error: cannot find 'JumpConfig' in scope
35 |
36 | func testJumpConfigDefaults() {
37 | let config = JumpConfig.default
| `- error: cannot find 'JumpConfig' in scope
38 |
39 | assertApproxEqual(config.jumpSpeed, Float(130))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:47:18: error: cannot find 'JumpConfig' in scope
45 |
46 | func testJumpConfigCustom() {
47 | let config = JumpConfig(
| `- error: cannot find 'JumpConfig' in scope
48 | jumpSpeed: 200,
49 | minJumpSpeed: 100,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:63:19: error: cannot find 'JumpAbility' in scope
61 |
62 | func testJumpAbilityInitialState() {
63 | let ability = JumpAbility()
| `- error: cannot find 'JumpAbility' in scope
64 |
65 | XCTAssertFalse(ability.isActive, "Jump is instant, not sustained")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:70:19: error: cannot find 'JumpAbility' in scope
68 |
69 | func testJumpAbilityReset() {
70 | let ability = JumpAbility()
| `- error: cannot find 'JumpAbility' in scope
71 |
72 | // Request a jump then reset
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:84:18: error: cannot find 'DashConfig' in scope
82 |
83 | func testDashConfigDefaults() {
84 | let config = DashConfig.default
| `- error: cannot find 'DashConfig' in scope
85 |
86 | assertApproxEqual(config.speed, Float(200))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:92:18: error: cannot find 'DashConfig' in scope
90 |
91 | func testDashConfigCustom() {
92 | let config = DashConfig(
| `- error: cannot find 'DashConfig' in scope
93 | speed: 300,
94 | duration: 0.2,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:104:19: error: cannot find 'DashAbility' in scope
102 |
103 | func testDashAbilityInitialState() {
104 | let ability = DashAbility()
| `- error: cannot find 'DashAbility' in scope
105 |
106 | XCTAssertFalse(ability.isActive)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:111:19: error: cannot find 'DashAbility' in scope
109 |
110 | func testDashAbilityReset() {
111 | let ability = DashAbility()
| `- error: cannot find 'DashAbility' in scope
112 |
113 | // Reset should clear all state
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:123:18: error: cannot find 'WallJumpConfig' in scope
121 |
122 | func testWallJumpConfigDefaults() {
123 | let config = WallJumpConfig.default
| `- error: cannot find 'WallJumpConfig' in scope
124 |
125 | assertApproxEqual(config.wallSlideGravityMultiplier, Float(0.3))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:131:18: error: cannot find 'WallJumpConfig' in scope
129 |
130 | func testWallJumpConfigCustom() {
131 | let config = WallJumpConfig(
| `- error: cannot find 'WallJumpConfig' in scope
132 | wallSlideGravityMultiplier: 0.5,
133 | wallJumpHorizontalSpeed: 100,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:143:19: error: cannot find 'WallJumpAbility' in scope
141 |
142 | func testWallJumpAbilityInitialState() {
143 | let ability = WallJumpAbility()
| `- error: cannot find 'WallJumpAbility' in scope
144 |
145 | XCTAssertFalse(ability.isActive, "Not wall sliding initially")
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:150:18: error: cannot find 'WallJumpConfig' in scope
148 |
149 | func testWallJumpGravityMultiplier() {
150 | let config = WallJumpConfig(wallSlideGravityMultiplier: 0.25)
| `- error: cannot find 'WallJumpConfig' in scope
151 | let ability = WallJumpAbility(config: config)
152 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:151:19: error: cannot find 'WallJumpAbility' in scope
149 | func testWallJumpGravityMultiplier() {
150 | let config = WallJumpConfig(wallSlideGravityMultiplier: 0.25)
151 | let ability = WallJumpAbility(config: config)
| `- error: cannot find 'WallJumpAbility' in scope
152 |
153 | // When not wall sliding, multiplier is 1.0
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:164:20: error: cannot find 'AbilitySlot' in scope
162 |
163 | func testAbilitySlotValues() {
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
| `- error: cannot find 'AbilitySlot' in scope
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:165:20: error: cannot find 'AbilitySlot' in scope
163 | func testAbilitySlotValues() {
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
| `- error: cannot find 'AbilitySlot' in scope
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:166:20: error: cannot find 'AbilitySlot' in scope
164 | XCTAssertEqual(AbilitySlot.primary.rawValue, 0)
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
| `- error: cannot find 'AbilitySlot' in scope
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
168 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:167:20: error: cannot find 'AbilitySlot' in scope
165 | XCTAssertEqual(AbilitySlot.secondary.rawValue, 1)
166 | XCTAssertEqual(AbilitySlot.tertiary.rawValue, 2)
167 | XCTAssertEqual(AbilitySlot.quaternary.rawValue, 3)
| `- error: cannot find 'AbilitySlot' in scope
168 | }
169 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/AbilityTests.swift:171:20: error: cannot find 'AbilitySlot' in scope
169 |
170 | func testAbilitySlotCaseIterable() {
171 | let allSlots = AbilitySlot.allCases
| `- error: cannot find 'AbilitySlot' in scope
172 | XCTAssertEqual(allSlots.count, 4)
173 | }
[1455/1465] Compiling SwiftGodotBuilderTestExtension ActorPhysicsConfigTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:30:31: error: value of type 'ActorPhysicsConfig' has no member 'movementModel'
28 |
29 | // Default movement model is physics
30 | if case .physics = config.movementModel {
| `- error: value of type 'ActorPhysicsConfig' has no member 'movementModel'
31 | XCTAssertTrue(true)
32 | } else {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:37:5: error: generic parameter 'T' could not be inferred
35 |
36 | // Default facing is horizontal
37 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: generic parameter 'T' could not be inferred
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:37:27: error: value of type 'ActorPhysicsConfig' has no member 'facingAxes'
35 |
36 | // Default facing is horizontal
37 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: value of type 'ActorPhysicsConfig' has no member 'facingAxes'
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:41:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
39 |
40 | func testPlatformerPreset() {
41 | let config = ActorPhysicsConfig.platformer(speed: 100, gravity: 600)
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
42 |
43 | assertApproxEqual(config.speed, Float(100))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:45:5: error: generic parameter 'T' could not be inferred
43 | assertApproxEqual(config.speed, Float(100))
44 | assertApproxEqual(config.gravity ?? 0, Float(600))
45 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: generic parameter 'T' could not be inferred
46 |
47 | if case .physics = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:55:37: error: type 'ActorPhysicsConfig' has no member 'topDown'
53 |
54 | func testTopDownPreset() {
55 | let config = ActorPhysicsConfig.topDown(speed: 120, facingAxes: .fourWay)
| `- error: type 'ActorPhysicsConfig' has no member 'topDown'
56 |
57 | assertApproxEqual(config.speed, Float(120))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:55:70: error: cannot infer contextual base in reference to member 'fourWay'
53 |
54 | func testTopDownPreset() {
55 | let config = ActorPhysicsConfig.topDown(speed: 120, facingAxes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
56 |
57 | assertApproxEqual(config.speed, Float(120))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:59:5: error: generic parameter 'T' could not be inferred
57 | assertApproxEqual(config.speed, Float(120))
58 | assertApproxEqual(config.gravity ?? -1, Float(0), "Top-down should have no gravity")
59 | XCTAssertEqual(config.facingAxes, .fourWay)
| `- error: generic parameter 'T' could not be inferred
60 |
61 | if case .velocity(let accel, let decel) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:70:37: error: type 'ActorPhysicsConfig' has no member 'velocity'
68 |
69 | func testVelocityPreset() {
70 | let config = ActorPhysicsConfig.velocity(
| `- error: type 'ActorPhysicsConfig' has no member 'velocity'
71 | speed: 150,
72 | acceleration: 500,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:74:20: error: cannot infer contextual base in reference to member 'eightWay'
72 | acceleration: 500,
73 | deceleration: 300,
74 | facingAxes: .eightWay
| `- error: cannot infer contextual base in reference to member 'eightWay'
75 | )
76 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:79:5: error: generic parameter 'T' could not be inferred
77 | assertApproxEqual(config.speed, Float(150))
78 | assertApproxEqual(config.gravity ?? -1, Float(0))
79 | XCTAssertEqual(config.facingAxes, .eightWay)
| `- error: generic parameter 'T' could not be inferred
80 |
81 | if case .velocity(let accel, let decel) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:90:37: error: type 'ActorPhysicsConfig' has no member 'grid'
88 |
89 | func testGridPreset() {
90 | let config = ActorPhysicsConfig.grid(
| `- error: type 'ActorPhysicsConfig' has no member 'grid'
91 | tileSize: [32, 32],
92 | moveDuration: 0.2,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:93:20: error: cannot infer contextual base in reference to member 'fourWay'
91 | tileSize: [32, 32],
92 | moveDuration: 0.2,
93 | facingAxes: .fourWay
| `- error: cannot infer contextual base in reference to member 'fourWay'
94 | )
95 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:98:5: error: generic parameter 'T' could not be inferred
96 | assertApproxEqual(config.speed, Float(0), "Grid mode doesn't use speed")
97 | assertApproxEqual(config.gravity ?? -1, Float(0))
98 | XCTAssertEqual(config.facingAxes, .fourWay)
| `- error: generic parameter 'T' could not be inferred
99 |
100 | if case .grid(let tileSize, let duration) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:111:20: error: cannot find 'MovementModel' in scope
109 | func testMovementModelEquality() {
110 | // Physics models are equal
111 | let physics1 = MovementModel.physics
| `- error: cannot find 'MovementModel' in scope
112 | let physics2 = MovementModel.physics
113 | XCTAssertEqual(physics1, physics2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:112:20: error: cannot find 'MovementModel' in scope
110 | // Physics models are equal
111 | let physics1 = MovementModel.physics
112 | let physics2 = MovementModel.physics
| `- error: cannot find 'MovementModel' in scope
113 | XCTAssertEqual(physics1, physics2)
114 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:113:5: error: generic parameter 'T' could not be inferred
111 | let physics1 = MovementModel.physics
112 | let physics2 = MovementModel.physics
113 | XCTAssertEqual(physics1, physics2)
| `- error: generic parameter 'T' could not be inferred
114 |
115 | // Velocity models with same params are equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:116:16: error: cannot find 'MovementModel' in scope
114 |
115 | // Velocity models with same params are equal
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
118 | XCTAssertEqual(vel1, vel2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:117:16: error: cannot find 'MovementModel' in scope
115 | // Velocity models with same params are equal
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
118 | XCTAssertEqual(vel1, vel2)
119 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:118:5: error: generic parameter 'T' could not be inferred
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
118 | XCTAssertEqual(vel1, vel2)
| `- error: generic parameter 'T' could not be inferred
119 |
120 | // Velocity models with different params are not equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:121:16: error: cannot find 'MovementModel' in scope
119 |
120 | // Velocity models with different params are not equal
121 | let vel3 = MovementModel.velocity(acceleration: 200, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
122 | XCTAssertNotEqual(vel1, vel3)
123 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:122:5: error: generic parameter 'T' could not be inferred
120 | // Velocity models with different params are not equal
121 | let vel3 = MovementModel.velocity(acceleration: 200, deceleration: 50)
122 | XCTAssertNotEqual(vel1, vel3)
| `- error: generic parameter 'T' could not be inferred
123 |
124 | // Grid models with same params are equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:267:13: note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
265 | }
266 |
267 | public func XCTAssertNotEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
268 | assertNotEqual(a, b, message, file: file, line: line)
269 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:125:17: error: cannot find 'MovementModel' in scope
123 |
124 | // Grid models with same params are equal
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
| `- error: cannot find 'MovementModel' in scope
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
127 | XCTAssertEqual(grid1, grid2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:126:17: error: cannot find 'MovementModel' in scope
124 | // Grid models with same params are equal
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
| `- error: cannot find 'MovementModel' in scope
127 | XCTAssertEqual(grid1, grid2)
128 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:127:5: error: generic parameter 'T' could not be inferred
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
127 | XCTAssertEqual(grid1, grid2)
| `- error: generic parameter 'T' could not be inferred
128 |
129 | // Different model types are not equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:130:33: error: cannot find 'MovementModel' in scope
128 |
129 | // Different model types are not equal
130 | XCTAssertNotEqual(physics1, MovementModel.velocity())
| `- error: cannot find 'MovementModel' in scope
131 | }
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:130:5: error: generic parameter 'T' could not be inferred
128 |
129 | // Different model types are not equal
130 | XCTAssertNotEqual(physics1, MovementModel.velocity())
| `- error: generic parameter 'T' could not be inferred
131 | }
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:267:13: note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
265 | }
266 |
267 | public func XCTAssertNotEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
268 | assertNotEqual(a, b, message, file: file, line: line)
269 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:134:36: error: extra arguments at positions #1, #2 in call
132 |
133 | func testCustomConfig() {
134 | let config = ActorPhysicsConfig(
| `- error: extra arguments at positions #1, #2 in call
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
136 | facingAxes: .eightWay,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGodotBuilder/Actor/ActorPhysicsConfig.swift:36:10: note: 'init(speed:gravity:knockbackStrength:knockbackRecoveryTime:jumpSpeed:minJumpSpeed:coyoteTime:jumpBufferTime:wallSlideGravityMultiplier:wallJumpSpeed:wallJumpVerticalSpeed:dashSpeed:dashDuration:dashCooldown:crouchSpeedMultiplier:swimSpeed:waterGravityMultiplier:waterMaxFallSpeed:waterMoveSpeedMultiplier:)' declared here
34 | public var waterMoveSpeedMultiplier: Float
35 |
36 | public init(
| `- note: 'init(speed:gravity:knockbackStrength:knockbackRecoveryTime:jumpSpeed:minJumpSpeed:coyoteTime:jumpBufferTime:wallSlideGravityMultiplier:wallJumpSpeed:wallJumpVerticalSpeed:dashSpeed:dashDuration:dashCooldown:crouchSpeedMultiplier:swimSpeed:waterGravityMultiplier:waterMaxFallSpeed:waterMoveSpeedMultiplier:)' declared here
37 | speed: Float = 60,
38 | gravity: Float? = nil,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:135:23: error: cannot infer contextual base in reference to member 'velocity'
133 | func testCustomConfig() {
134 | let config = ActorPhysicsConfig(
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
| `- error: cannot infer contextual base in reference to member 'velocity'
136 | facingAxes: .eightWay,
137 | speed: 200,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:136:20: error: cannot infer contextual base in reference to member 'eightWay'
134 | let config = ActorPhysicsConfig(
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
136 | facingAxes: .eightWay,
| `- error: cannot infer contextual base in reference to member 'eightWay'
137 | speed: 200,
138 | gravity: 0,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:147:5: error: generic parameter 'T' could not be inferred
145 | assertApproxEqual(config.knockbackStrength, Float(150))
146 | assertApproxEqual(config.knockbackRecoveryTime, Double(0.3))
147 | XCTAssertEqual(config.facingAxes, .eightWay)
| `- error: generic parameter 'T' could not be inferred
148 | }
149 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:23:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
21 |
22 | func testInitialState() {
23 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
24 | let physics = ActorPhysicsState(config: config)
25 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:37:5: error: generic parameter 'T' could not be inferred
35 | assertApproxEqual(physics.inputDirection.x, Float(0))
36 | assertApproxEqual(physics.inputDirection.y, Float(0))
37 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:41:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
39 |
40 | func testResetClearsState() {
41 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
42 | let physics = ActorPhysicsState(config: config)
43 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:72:5: error: generic parameter 'T' could not be inferred
70 | assertApproxEqual(physics.inputDirection.x, Float(0))
71 | assertApproxEqual(physics.inputDirection.y, Float(0))
72 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
73 | }
74 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:76:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
74 |
75 | func testKnockbackTimerDecays() {
76 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
77 | let physics = ActorPhysicsState(config: config)
78 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:88:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
86 |
87 | func testKnockbackVelocityDecays() {
88 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
89 | let physics = ActorPhysicsState(config: config)
90 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:104:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
102 |
103 | func testKnockbackClearsWhenTimerExpires() {
104 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
105 | let physics = ActorPhysicsState(config: config)
106 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:118:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
116 |
117 | func testInputDirectionStored() {
118 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
119 | let physics = ActorPhysicsState(config: config)
120 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:128:37: error: type 'ActorPhysicsConfig' has no member 'grid'
126 |
127 | func testGridMovementState() {
128 | let config = ActorPhysicsConfig.grid(tileSize: [16, 16], moveDuration: 0.2)
| `- error: type 'ActorPhysicsConfig' has no member 'grid'
129 | let physics = ActorPhysicsState(config: config)
130 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:143:37: error: type 'ActorPhysicsConfig' has no member 'topDown'
141 |
142 | func testClickToMoveTarget() {
143 | let config = ActorPhysicsConfig.topDown()
| `- error: type 'ActorPhysicsConfig' has no member 'topDown'
144 | let physics = ActorPhysicsState(config: config)
145 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:146:5: error: generic parameter 'T' could not be inferred
144 | let physics = ActorPhysicsState(config: config)
145 |
146 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
147 |
148 | physics.clickToMoveTarget = [100, 200]
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:149:5: error: generic parameter 'T' could not be inferred
147 |
148 | physics.clickToMoveTarget = [100, 200]
149 | XCTAssertNotNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
150 | assertApproxEqual(physics.clickToMoveTarget?.x ?? 0, Float(100))
151 | assertApproxEqual(physics.clickToMoveTarget?.y ?? 0, Float(200))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:275:13: note: in call to function 'XCTAssertNotNil(_:_:file:line:)'
273 | }
274 |
275 | public func XCTAssertNotNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotNil(_:_:file:line:)'
276 | assertNotNil(value, message, file: file, line: line)
277 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:154:5: error: generic parameter 'T' could not be inferred
152 |
153 | physics.clickToMoveTarget = nil
154 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:158:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
156 |
157 | func testFloorStateTracking() {
158 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
159 | let physics = ActorPhysicsState(config: config)
160 |
[1456/1465] Compiling SwiftGodotBuilderTestExtension ActorPhysicsStateTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:30:31: error: value of type 'ActorPhysicsConfig' has no member 'movementModel'
28 |
29 | // Default movement model is physics
30 | if case .physics = config.movementModel {
| `- error: value of type 'ActorPhysicsConfig' has no member 'movementModel'
31 | XCTAssertTrue(true)
32 | } else {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:37:5: error: generic parameter 'T' could not be inferred
35 |
36 | // Default facing is horizontal
37 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: generic parameter 'T' could not be inferred
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:37:27: error: value of type 'ActorPhysicsConfig' has no member 'facingAxes'
35 |
36 | // Default facing is horizontal
37 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: value of type 'ActorPhysicsConfig' has no member 'facingAxes'
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:41:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
39 |
40 | func testPlatformerPreset() {
41 | let config = ActorPhysicsConfig.platformer(speed: 100, gravity: 600)
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
42 |
43 | assertApproxEqual(config.speed, Float(100))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:45:5: error: generic parameter 'T' could not be inferred
43 | assertApproxEqual(config.speed, Float(100))
44 | assertApproxEqual(config.gravity ?? 0, Float(600))
45 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: generic parameter 'T' could not be inferred
46 |
47 | if case .physics = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:55:37: error: type 'ActorPhysicsConfig' has no member 'topDown'
53 |
54 | func testTopDownPreset() {
55 | let config = ActorPhysicsConfig.topDown(speed: 120, facingAxes: .fourWay)
| `- error: type 'ActorPhysicsConfig' has no member 'topDown'
56 |
57 | assertApproxEqual(config.speed, Float(120))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:55:70: error: cannot infer contextual base in reference to member 'fourWay'
53 |
54 | func testTopDownPreset() {
55 | let config = ActorPhysicsConfig.topDown(speed: 120, facingAxes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
56 |
57 | assertApproxEqual(config.speed, Float(120))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:59:5: error: generic parameter 'T' could not be inferred
57 | assertApproxEqual(config.speed, Float(120))
58 | assertApproxEqual(config.gravity ?? -1, Float(0), "Top-down should have no gravity")
59 | XCTAssertEqual(config.facingAxes, .fourWay)
| `- error: generic parameter 'T' could not be inferred
60 |
61 | if case .velocity(let accel, let decel) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:70:37: error: type 'ActorPhysicsConfig' has no member 'velocity'
68 |
69 | func testVelocityPreset() {
70 | let config = ActorPhysicsConfig.velocity(
| `- error: type 'ActorPhysicsConfig' has no member 'velocity'
71 | speed: 150,
72 | acceleration: 500,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:74:20: error: cannot infer contextual base in reference to member 'eightWay'
72 | acceleration: 500,
73 | deceleration: 300,
74 | facingAxes: .eightWay
| `- error: cannot infer contextual base in reference to member 'eightWay'
75 | )
76 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:79:5: error: generic parameter 'T' could not be inferred
77 | assertApproxEqual(config.speed, Float(150))
78 | assertApproxEqual(config.gravity ?? -1, Float(0))
79 | XCTAssertEqual(config.facingAxes, .eightWay)
| `- error: generic parameter 'T' could not be inferred
80 |
81 | if case .velocity(let accel, let decel) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:90:37: error: type 'ActorPhysicsConfig' has no member 'grid'
88 |
89 | func testGridPreset() {
90 | let config = ActorPhysicsConfig.grid(
| `- error: type 'ActorPhysicsConfig' has no member 'grid'
91 | tileSize: [32, 32],
92 | moveDuration: 0.2,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:93:20: error: cannot infer contextual base in reference to member 'fourWay'
91 | tileSize: [32, 32],
92 | moveDuration: 0.2,
93 | facingAxes: .fourWay
| `- error: cannot infer contextual base in reference to member 'fourWay'
94 | )
95 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:98:5: error: generic parameter 'T' could not be inferred
96 | assertApproxEqual(config.speed, Float(0), "Grid mode doesn't use speed")
97 | assertApproxEqual(config.gravity ?? -1, Float(0))
98 | XCTAssertEqual(config.facingAxes, .fourWay)
| `- error: generic parameter 'T' could not be inferred
99 |
100 | if case .grid(let tileSize, let duration) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:111:20: error: cannot find 'MovementModel' in scope
109 | func testMovementModelEquality() {
110 | // Physics models are equal
111 | let physics1 = MovementModel.physics
| `- error: cannot find 'MovementModel' in scope
112 | let physics2 = MovementModel.physics
113 | XCTAssertEqual(physics1, physics2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:112:20: error: cannot find 'MovementModel' in scope
110 | // Physics models are equal
111 | let physics1 = MovementModel.physics
112 | let physics2 = MovementModel.physics
| `- error: cannot find 'MovementModel' in scope
113 | XCTAssertEqual(physics1, physics2)
114 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:113:5: error: generic parameter 'T' could not be inferred
111 | let physics1 = MovementModel.physics
112 | let physics2 = MovementModel.physics
113 | XCTAssertEqual(physics1, physics2)
| `- error: generic parameter 'T' could not be inferred
114 |
115 | // Velocity models with same params are equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:116:16: error: cannot find 'MovementModel' in scope
114 |
115 | // Velocity models with same params are equal
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
118 | XCTAssertEqual(vel1, vel2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:117:16: error: cannot find 'MovementModel' in scope
115 | // Velocity models with same params are equal
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
118 | XCTAssertEqual(vel1, vel2)
119 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:118:5: error: generic parameter 'T' could not be inferred
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
118 | XCTAssertEqual(vel1, vel2)
| `- error: generic parameter 'T' could not be inferred
119 |
120 | // Velocity models with different params are not equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:121:16: error: cannot find 'MovementModel' in scope
119 |
120 | // Velocity models with different params are not equal
121 | let vel3 = MovementModel.velocity(acceleration: 200, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
122 | XCTAssertNotEqual(vel1, vel3)
123 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:122:5: error: generic parameter 'T' could not be inferred
120 | // Velocity models with different params are not equal
121 | let vel3 = MovementModel.velocity(acceleration: 200, deceleration: 50)
122 | XCTAssertNotEqual(vel1, vel3)
| `- error: generic parameter 'T' could not be inferred
123 |
124 | // Grid models with same params are equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:267:13: note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
265 | }
266 |
267 | public func XCTAssertNotEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
268 | assertNotEqual(a, b, message, file: file, line: line)
269 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:125:17: error: cannot find 'MovementModel' in scope
123 |
124 | // Grid models with same params are equal
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
| `- error: cannot find 'MovementModel' in scope
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
127 | XCTAssertEqual(grid1, grid2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:126:17: error: cannot find 'MovementModel' in scope
124 | // Grid models with same params are equal
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
| `- error: cannot find 'MovementModel' in scope
127 | XCTAssertEqual(grid1, grid2)
128 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:127:5: error: generic parameter 'T' could not be inferred
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
127 | XCTAssertEqual(grid1, grid2)
| `- error: generic parameter 'T' could not be inferred
128 |
129 | // Different model types are not equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:130:33: error: cannot find 'MovementModel' in scope
128 |
129 | // Different model types are not equal
130 | XCTAssertNotEqual(physics1, MovementModel.velocity())
| `- error: cannot find 'MovementModel' in scope
131 | }
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:130:5: error: generic parameter 'T' could not be inferred
128 |
129 | // Different model types are not equal
130 | XCTAssertNotEqual(physics1, MovementModel.velocity())
| `- error: generic parameter 'T' could not be inferred
131 | }
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:267:13: note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
265 | }
266 |
267 | public func XCTAssertNotEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
268 | assertNotEqual(a, b, message, file: file, line: line)
269 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:134:36: error: extra arguments at positions #1, #2 in call
132 |
133 | func testCustomConfig() {
134 | let config = ActorPhysicsConfig(
| `- error: extra arguments at positions #1, #2 in call
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
136 | facingAxes: .eightWay,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGodotBuilder/Actor/ActorPhysicsConfig.swift:36:10: note: 'init(speed:gravity:knockbackStrength:knockbackRecoveryTime:jumpSpeed:minJumpSpeed:coyoteTime:jumpBufferTime:wallSlideGravityMultiplier:wallJumpSpeed:wallJumpVerticalSpeed:dashSpeed:dashDuration:dashCooldown:crouchSpeedMultiplier:swimSpeed:waterGravityMultiplier:waterMaxFallSpeed:waterMoveSpeedMultiplier:)' declared here
34 | public var waterMoveSpeedMultiplier: Float
35 |
36 | public init(
| `- note: 'init(speed:gravity:knockbackStrength:knockbackRecoveryTime:jumpSpeed:minJumpSpeed:coyoteTime:jumpBufferTime:wallSlideGravityMultiplier:wallJumpSpeed:wallJumpVerticalSpeed:dashSpeed:dashDuration:dashCooldown:crouchSpeedMultiplier:swimSpeed:waterGravityMultiplier:waterMaxFallSpeed:waterMoveSpeedMultiplier:)' declared here
37 | speed: Float = 60,
38 | gravity: Float? = nil,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:135:23: error: cannot infer contextual base in reference to member 'velocity'
133 | func testCustomConfig() {
134 | let config = ActorPhysicsConfig(
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
| `- error: cannot infer contextual base in reference to member 'velocity'
136 | facingAxes: .eightWay,
137 | speed: 200,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:136:20: error: cannot infer contextual base in reference to member 'eightWay'
134 | let config = ActorPhysicsConfig(
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
136 | facingAxes: .eightWay,
| `- error: cannot infer contextual base in reference to member 'eightWay'
137 | speed: 200,
138 | gravity: 0,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:147:5: error: generic parameter 'T' could not be inferred
145 | assertApproxEqual(config.knockbackStrength, Float(150))
146 | assertApproxEqual(config.knockbackRecoveryTime, Double(0.3))
147 | XCTAssertEqual(config.facingAxes, .eightWay)
| `- error: generic parameter 'T' could not be inferred
148 | }
149 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:23:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
21 |
22 | func testInitialState() {
23 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
24 | let physics = ActorPhysicsState(config: config)
25 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:37:5: error: generic parameter 'T' could not be inferred
35 | assertApproxEqual(physics.inputDirection.x, Float(0))
36 | assertApproxEqual(physics.inputDirection.y, Float(0))
37 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:41:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
39 |
40 | func testResetClearsState() {
41 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
42 | let physics = ActorPhysicsState(config: config)
43 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:72:5: error: generic parameter 'T' could not be inferred
70 | assertApproxEqual(physics.inputDirection.x, Float(0))
71 | assertApproxEqual(physics.inputDirection.y, Float(0))
72 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
73 | }
74 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:76:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
74 |
75 | func testKnockbackTimerDecays() {
76 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
77 | let physics = ActorPhysicsState(config: config)
78 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:88:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
86 |
87 | func testKnockbackVelocityDecays() {
88 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
89 | let physics = ActorPhysicsState(config: config)
90 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:104:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
102 |
103 | func testKnockbackClearsWhenTimerExpires() {
104 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
105 | let physics = ActorPhysicsState(config: config)
106 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:118:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
116 |
117 | func testInputDirectionStored() {
118 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
119 | let physics = ActorPhysicsState(config: config)
120 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:128:37: error: type 'ActorPhysicsConfig' has no member 'grid'
126 |
127 | func testGridMovementState() {
128 | let config = ActorPhysicsConfig.grid(tileSize: [16, 16], moveDuration: 0.2)
| `- error: type 'ActorPhysicsConfig' has no member 'grid'
129 | let physics = ActorPhysicsState(config: config)
130 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:143:37: error: type 'ActorPhysicsConfig' has no member 'topDown'
141 |
142 | func testClickToMoveTarget() {
143 | let config = ActorPhysicsConfig.topDown()
| `- error: type 'ActorPhysicsConfig' has no member 'topDown'
144 | let physics = ActorPhysicsState(config: config)
145 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:146:5: error: generic parameter 'T' could not be inferred
144 | let physics = ActorPhysicsState(config: config)
145 |
146 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
147 |
148 | physics.clickToMoveTarget = [100, 200]
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:149:5: error: generic parameter 'T' could not be inferred
147 |
148 | physics.clickToMoveTarget = [100, 200]
149 | XCTAssertNotNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
150 | assertApproxEqual(physics.clickToMoveTarget?.x ?? 0, Float(100))
151 | assertApproxEqual(physics.clickToMoveTarget?.y ?? 0, Float(200))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:275:13: note: in call to function 'XCTAssertNotNil(_:_:file:line:)'
273 | }
274 |
275 | public func XCTAssertNotNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotNil(_:_:file:line:)'
276 | assertNotNil(value, message, file: file, line: line)
277 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:154:5: error: generic parameter 'T' could not be inferred
152 |
153 | physics.clickToMoveTarget = nil
154 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:158:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
156 |
157 | func testFloorStateTracking() {
158 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
159 | let physics = ActorPhysicsState(config: config)
160 |
[1457/1465] Compiling SwiftGodotBuilderTestExtension AnimPropertyTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:30:31: error: value of type 'ActorPhysicsConfig' has no member 'movementModel'
28 |
29 | // Default movement model is physics
30 | if case .physics = config.movementModel {
| `- error: value of type 'ActorPhysicsConfig' has no member 'movementModel'
31 | XCTAssertTrue(true)
32 | } else {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:37:5: error: generic parameter 'T' could not be inferred
35 |
36 | // Default facing is horizontal
37 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: generic parameter 'T' could not be inferred
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:37:27: error: value of type 'ActorPhysicsConfig' has no member 'facingAxes'
35 |
36 | // Default facing is horizontal
37 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: value of type 'ActorPhysicsConfig' has no member 'facingAxes'
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:41:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
39 |
40 | func testPlatformerPreset() {
41 | let config = ActorPhysicsConfig.platformer(speed: 100, gravity: 600)
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
42 |
43 | assertApproxEqual(config.speed, Float(100))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:45:5: error: generic parameter 'T' could not be inferred
43 | assertApproxEqual(config.speed, Float(100))
44 | assertApproxEqual(config.gravity ?? 0, Float(600))
45 | XCTAssertEqual(config.facingAxes, .horizontal)
| `- error: generic parameter 'T' could not be inferred
46 |
47 | if case .physics = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:55:37: error: type 'ActorPhysicsConfig' has no member 'topDown'
53 |
54 | func testTopDownPreset() {
55 | let config = ActorPhysicsConfig.topDown(speed: 120, facingAxes: .fourWay)
| `- error: type 'ActorPhysicsConfig' has no member 'topDown'
56 |
57 | assertApproxEqual(config.speed, Float(120))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:55:70: error: cannot infer contextual base in reference to member 'fourWay'
53 |
54 | func testTopDownPreset() {
55 | let config = ActorPhysicsConfig.topDown(speed: 120, facingAxes: .fourWay)
| `- error: cannot infer contextual base in reference to member 'fourWay'
56 |
57 | assertApproxEqual(config.speed, Float(120))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:59:5: error: generic parameter 'T' could not be inferred
57 | assertApproxEqual(config.speed, Float(120))
58 | assertApproxEqual(config.gravity ?? -1, Float(0), "Top-down should have no gravity")
59 | XCTAssertEqual(config.facingAxes, .fourWay)
| `- error: generic parameter 'T' could not be inferred
60 |
61 | if case .velocity(let accel, let decel) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:70:37: error: type 'ActorPhysicsConfig' has no member 'velocity'
68 |
69 | func testVelocityPreset() {
70 | let config = ActorPhysicsConfig.velocity(
| `- error: type 'ActorPhysicsConfig' has no member 'velocity'
71 | speed: 150,
72 | acceleration: 500,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:74:20: error: cannot infer contextual base in reference to member 'eightWay'
72 | acceleration: 500,
73 | deceleration: 300,
74 | facingAxes: .eightWay
| `- error: cannot infer contextual base in reference to member 'eightWay'
75 | )
76 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:79:5: error: generic parameter 'T' could not be inferred
77 | assertApproxEqual(config.speed, Float(150))
78 | assertApproxEqual(config.gravity ?? -1, Float(0))
79 | XCTAssertEqual(config.facingAxes, .eightWay)
| `- error: generic parameter 'T' could not be inferred
80 |
81 | if case .velocity(let accel, let decel) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:90:37: error: type 'ActorPhysicsConfig' has no member 'grid'
88 |
89 | func testGridPreset() {
90 | let config = ActorPhysicsConfig.grid(
| `- error: type 'ActorPhysicsConfig' has no member 'grid'
91 | tileSize: [32, 32],
92 | moveDuration: 0.2,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:93:20: error: cannot infer contextual base in reference to member 'fourWay'
91 | tileSize: [32, 32],
92 | moveDuration: 0.2,
93 | facingAxes: .fourWay
| `- error: cannot infer contextual base in reference to member 'fourWay'
94 | )
95 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:98:5: error: generic parameter 'T' could not be inferred
96 | assertApproxEqual(config.speed, Float(0), "Grid mode doesn't use speed")
97 | assertApproxEqual(config.gravity ?? -1, Float(0))
98 | XCTAssertEqual(config.facingAxes, .fourWay)
| `- error: generic parameter 'T' could not be inferred
99 |
100 | if case .grid(let tileSize, let duration) = config.movementModel {
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:111:20: error: cannot find 'MovementModel' in scope
109 | func testMovementModelEquality() {
110 | // Physics models are equal
111 | let physics1 = MovementModel.physics
| `- error: cannot find 'MovementModel' in scope
112 | let physics2 = MovementModel.physics
113 | XCTAssertEqual(physics1, physics2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:112:20: error: cannot find 'MovementModel' in scope
110 | // Physics models are equal
111 | let physics1 = MovementModel.physics
112 | let physics2 = MovementModel.physics
| `- error: cannot find 'MovementModel' in scope
113 | XCTAssertEqual(physics1, physics2)
114 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:113:5: error: generic parameter 'T' could not be inferred
111 | let physics1 = MovementModel.physics
112 | let physics2 = MovementModel.physics
113 | XCTAssertEqual(physics1, physics2)
| `- error: generic parameter 'T' could not be inferred
114 |
115 | // Velocity models with same params are equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:116:16: error: cannot find 'MovementModel' in scope
114 |
115 | // Velocity models with same params are equal
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
118 | XCTAssertEqual(vel1, vel2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:117:16: error: cannot find 'MovementModel' in scope
115 | // Velocity models with same params are equal
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
118 | XCTAssertEqual(vel1, vel2)
119 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:118:5: error: generic parameter 'T' could not be inferred
116 | let vel1 = MovementModel.velocity(acceleration: 100, deceleration: 50)
117 | let vel2 = MovementModel.velocity(acceleration: 100, deceleration: 50)
118 | XCTAssertEqual(vel1, vel2)
| `- error: generic parameter 'T' could not be inferred
119 |
120 | // Velocity models with different params are not equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:121:16: error: cannot find 'MovementModel' in scope
119 |
120 | // Velocity models with different params are not equal
121 | let vel3 = MovementModel.velocity(acceleration: 200, deceleration: 50)
| `- error: cannot find 'MovementModel' in scope
122 | XCTAssertNotEqual(vel1, vel3)
123 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:122:5: error: generic parameter 'T' could not be inferred
120 | // Velocity models with different params are not equal
121 | let vel3 = MovementModel.velocity(acceleration: 200, deceleration: 50)
122 | XCTAssertNotEqual(vel1, vel3)
| `- error: generic parameter 'T' could not be inferred
123 |
124 | // Grid models with same params are equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:267:13: note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
265 | }
266 |
267 | public func XCTAssertNotEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
268 | assertNotEqual(a, b, message, file: file, line: line)
269 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:125:17: error: cannot find 'MovementModel' in scope
123 |
124 | // Grid models with same params are equal
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
| `- error: cannot find 'MovementModel' in scope
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
127 | XCTAssertEqual(grid1, grid2)
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:126:17: error: cannot find 'MovementModel' in scope
124 | // Grid models with same params are equal
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
| `- error: cannot find 'MovementModel' in scope
127 | XCTAssertEqual(grid1, grid2)
128 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:127:5: error: generic parameter 'T' could not be inferred
125 | let grid1 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
126 | let grid2 = MovementModel.grid(tileSize: [16, 16], moveDuration: 0.1)
127 | XCTAssertEqual(grid1, grid2)
| `- error: generic parameter 'T' could not be inferred
128 |
129 | // Different model types are not equal
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:130:33: error: cannot find 'MovementModel' in scope
128 |
129 | // Different model types are not equal
130 | XCTAssertNotEqual(physics1, MovementModel.velocity())
| `- error: cannot find 'MovementModel' in scope
131 | }
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:130:5: error: generic parameter 'T' could not be inferred
128 |
129 | // Different model types are not equal
130 | XCTAssertNotEqual(physics1, MovementModel.velocity())
| `- error: generic parameter 'T' could not be inferred
131 | }
132 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:267:13: note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
265 | }
266 |
267 | public func XCTAssertNotEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotEqual(_:_:_:file:line:)'
268 | assertNotEqual(a, b, message, file: file, line: line)
269 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:134:36: error: extra arguments at positions #1, #2 in call
132 |
133 | func testCustomConfig() {
134 | let config = ActorPhysicsConfig(
| `- error: extra arguments at positions #1, #2 in call
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
136 | facingAxes: .eightWay,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftGodotBuilder/Actor/ActorPhysicsConfig.swift:36:10: note: 'init(speed:gravity:knockbackStrength:knockbackRecoveryTime:jumpSpeed:minJumpSpeed:coyoteTime:jumpBufferTime:wallSlideGravityMultiplier:wallJumpSpeed:wallJumpVerticalSpeed:dashSpeed:dashDuration:dashCooldown:crouchSpeedMultiplier:swimSpeed:waterGravityMultiplier:waterMaxFallSpeed:waterMoveSpeedMultiplier:)' declared here
34 | public var waterMoveSpeedMultiplier: Float
35 |
36 | public init(
| `- note: 'init(speed:gravity:knockbackStrength:knockbackRecoveryTime:jumpSpeed:minJumpSpeed:coyoteTime:jumpBufferTime:wallSlideGravityMultiplier:wallJumpSpeed:wallJumpVerticalSpeed:dashSpeed:dashDuration:dashCooldown:crouchSpeedMultiplier:swimSpeed:waterGravityMultiplier:waterMaxFallSpeed:waterMoveSpeedMultiplier:)' declared here
37 | speed: Float = 60,
38 | gravity: Float? = nil,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:135:23: error: cannot infer contextual base in reference to member 'velocity'
133 | func testCustomConfig() {
134 | let config = ActorPhysicsConfig(
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
| `- error: cannot infer contextual base in reference to member 'velocity'
136 | facingAxes: .eightWay,
137 | speed: 200,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:136:20: error: cannot infer contextual base in reference to member 'eightWay'
134 | let config = ActorPhysicsConfig(
135 | movementModel: .velocity(acceleration: 1000, deceleration: 800),
136 | facingAxes: .eightWay,
| `- error: cannot infer contextual base in reference to member 'eightWay'
137 | speed: 200,
138 | gravity: 0,
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsConfigTests.swift:147:5: error: generic parameter 'T' could not be inferred
145 | assertApproxEqual(config.knockbackStrength, Float(150))
146 | assertApproxEqual(config.knockbackRecoveryTime, Double(0.3))
147 | XCTAssertEqual(config.facingAxes, .eightWay)
| `- error: generic parameter 'T' could not be inferred
148 | }
149 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:263:13: note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
261 | }
262 |
263 | public func XCTAssertEqual<T: Equatable>(_ a: T?, _ b: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertEqual(_:_:_:file:line:)'
264 | assertEqual(a, b, message, file: file, line: line)
265 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:23:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
21 |
22 | func testInitialState() {
23 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
24 | let physics = ActorPhysicsState(config: config)
25 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:37:5: error: generic parameter 'T' could not be inferred
35 | assertApproxEqual(physics.inputDirection.x, Float(0))
36 | assertApproxEqual(physics.inputDirection.y, Float(0))
37 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:41:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
39 |
40 | func testResetClearsState() {
41 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
42 | let physics = ActorPhysicsState(config: config)
43 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:72:5: error: generic parameter 'T' could not be inferred
70 | assertApproxEqual(physics.inputDirection.x, Float(0))
71 | assertApproxEqual(physics.inputDirection.y, Float(0))
72 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
73 | }
74 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:76:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
74 |
75 | func testKnockbackTimerDecays() {
76 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
77 | let physics = ActorPhysicsState(config: config)
78 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:88:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
86 |
87 | func testKnockbackVelocityDecays() {
88 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
89 | let physics = ActorPhysicsState(config: config)
90 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:104:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
102 |
103 | func testKnockbackClearsWhenTimerExpires() {
104 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
105 | let physics = ActorPhysicsState(config: config)
106 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:118:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
116 |
117 | func testInputDirectionStored() {
118 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
119 | let physics = ActorPhysicsState(config: config)
120 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:128:37: error: type 'ActorPhysicsConfig' has no member 'grid'
126 |
127 | func testGridMovementState() {
128 | let config = ActorPhysicsConfig.grid(tileSize: [16, 16], moveDuration: 0.2)
| `- error: type 'ActorPhysicsConfig' has no member 'grid'
129 | let physics = ActorPhysicsState(config: config)
130 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:143:37: error: type 'ActorPhysicsConfig' has no member 'topDown'
141 |
142 | func testClickToMoveTarget() {
143 | let config = ActorPhysicsConfig.topDown()
| `- error: type 'ActorPhysicsConfig' has no member 'topDown'
144 | let physics = ActorPhysicsState(config: config)
145 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:146:5: error: generic parameter 'T' could not be inferred
144 | let physics = ActorPhysicsState(config: config)
145 |
146 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
147 |
148 | physics.clickToMoveTarget = [100, 200]
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:149:5: error: generic parameter 'T' could not be inferred
147 |
148 | physics.clickToMoveTarget = [100, 200]
149 | XCTAssertNotNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
150 | assertApproxEqual(physics.clickToMoveTarget?.x ?? 0, Float(100))
151 | assertApproxEqual(physics.clickToMoveTarget?.y ?? 0, Float(200))
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:275:13: note: in call to function 'XCTAssertNotNil(_:_:file:line:)'
273 | }
274 |
275 | public func XCTAssertNotNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNotNil(_:_:file:line:)'
276 | assertNotNil(value, message, file: file, line: line)
277 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:154:5: error: generic parameter 'T' could not be inferred
152 |
153 | physics.clickToMoveTarget = nil
154 | XCTAssertNil(physics.clickToMoveTarget)
| `- error: generic parameter 'T' could not be inferred
155 | }
156 |
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/Assertions.swift:271:13: note: in call to function 'XCTAssertNil(_:_:file:line:)'
269 | }
270 |
271 | public func XCTAssertNil<T>(_ value: T?, _ message: String = "", file: StaticString = #file, line: UInt = #line) {
| `- note: in call to function 'XCTAssertNil(_:_:file:line:)'
272 | assertNil(value, message, file: file, line: line)
273 | }
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/ActorPhysicsStateTests.swift:158:37: error: type 'ActorPhysicsConfig' has no member 'platformer'
156 |
157 | func testFloorStateTracking() {
158 | let config = ActorPhysicsConfig.platformer()
| `- error: type 'ActorPhysicsConfig' has no member 'platformer'
159 | let physics = ActorPhysicsState(config: config)
160 |
[1457/1465] Linking libSwiftGodotBuilder.dylib
[1459/1465] Compiling SwiftGodotBuilderTestExtension Assertions.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/BehaviorMachineTests.swift:171:50: warning: reference to captured var 'shouldTransition' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
169 | Idle()
170 | }
171 | .transition(to: TestAIState.patrol) { _ in shouldTransition }
| `- warning: reference to captured var 'shouldTransition' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
172 |
173 | During(TestAIState.patrol) {
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1460/1465] Compiling SwiftGodotBuilderTestExtension BehaviorMachineTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/BehaviorMachineTests.swift:171:50: warning: reference to captured var 'shouldTransition' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
169 | Idle()
170 | }
171 | .transition(to: TestAIState.patrol) { _ in shouldTransition }
| `- warning: reference to captured var 'shouldTransition' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
172 |
173 | During(TestAIState.patrol) {
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1461/1465] Compiling SwiftGodotBuilderTestExtension DialogTests.swift
/Users/admin/builder/spi-builder-workspace/Tests/SwiftGodotBuilderTestExtension/BehaviorMachineTests.swift:171:50: warning: reference to captured var 'shouldTransition' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
169 | Idle()
170 | }
171 | .transition(to: TestAIState.patrol) { _ in shouldTransition }
| `- warning: reference to captured var 'shouldTransition' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
172 |
173 | During(TestAIState.patrol) {
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1462/1465] Compiling SwiftGodotBuilderTestExtension TestRunnerNode.swift
[1463/1465] Compiling SwiftGodotBuilderTestExtension TestSuite.swift
BUILD FAILURE 6.2 macosSpm