From 7aa627c92b8c780749252daf6a66e2def063db4c Mon Sep 17 00:00:00 2001 From: Admin Date: Mon, 21 Sep 2026 06:39:06 +0000 Subject: [PATCH] Align weather integration assertions --- tests/wiring.test.mjs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tests/wiring.test.mjs b/tests/wiring.test.mjs index 9d9fc09..37b79c6 100644 --- a/tests/wiring.test.mjs +++ b/tests/wiring.test.mjs @@ -322,10 +322,10 @@ test('environment physics adds wind, soft island collision, turbulence, and proj assert.match(source, /this\.physics\.add\.overlap\(this\.player, obstacle, \(\) => \{[\s\S]*?this\.playerSpeed \*= 0\.985;/); assert.doesNotMatch(source, /this\.physics\.add\.collider\(this\.pirates, obstacle\)/); assert.match(source, /this\.physics\.add\.overlap\(\s*this\.playerShots,[\s\S]*?this\.hitEnvironmentProjectile/); - assert.match(source, /this\.environmentWind = environmentWindAt\(\{/); - assert.match(source, /const pirateWind = environmentWindAt\(\{/); - assert.match(source, /const shotWind = environmentWindAt\(\{/); - assert.match(source, /const localWind = environmentWindAt\(\{/); + assert.match(source, /this\.environmentWind = this\.weatherWindAt\(this\.player\.x, this\.player\.y\)/); + assert.match(source, /const pirateWind = this\.weatherWindAt\(pirate\.x, pirate\.y\)/); + assert.match(source, /const shotWind = this\.weatherWindAt\(x, y\)/); + assert.match(source, /const localWind = this\.weatherWindAt\(sternX, sternY\)/); assert.match(source, /windSpeed: this\.environmentWind\?\.strength/); }); @@ -361,8 +361,8 @@ test('shipping-route weather is shared by client visuals and authoritative multi assert.match(environment, /routeWeatherAt/); assert.match(environment, /stormFrontAt/); - assert.match(environment, /zone: 'shipping-lane'/); - assert.match(environment, /zone: 'route-edge'/); + assert.match(environment, /\? 'shipping-lane'/); + assert.match(environment, /\? 'route-edge'/); assert.match(game, /routes: this\.world\?\.tradeRoutes/); assert.match(game, /routeCloudiness/); assert.match(game, /multiplayerServerClockOffsetMs/); @@ -419,7 +419,7 @@ test('multiplayer transport uses Keycloak tickets with server-authoritative move assert.match(server, /func \(h \*hub\) updateInput/); assert.match(server, /func \(h \*hub\) fire/); assert.match(server, /func \(h \*hub\) step/); - assert.match(server, /stepPlayer\(&c\.state, c\.input/); + assert.match(server, /stepPlayerWithWind\(&c\.state, c\.input/); assert.match(server, /target\.state\.Hull = clampInt/); assert.match(server, /target\.state\.RespawnAt/); assert.match(server, /time\.NewTicker\(simTick\)/); @@ -587,8 +587,9 @@ test('rolling clouds include large dense banks that phase in and out with the wi assert.match(source, /Phaser\.Math\.FloatBetween\(DENSE_CLOUD_MIN_SCALE, DENSE_CLOUD_MAX_SCALE\)/); assert.match(source, /cloud\.setData\(\s*'concealmentRadius',[\s\S]*?DENSE_CLOUD_CONCEALMENT_RADIUS_SCALE/); assert.match(source, /cloud\.setData\('weatherCycleMs', Phaser\.Math\.Between\(18000, 36000\)\)/); - assert.match(source, /const windPresence = clamp\(\(wind\.strength - 5\) \/ 18, 0, 1\)/); - assert.match(source, /const targetPresence = clamp\(weatherWave \* 0\.72 \+ windPresence \* 0\.38 - 0\.12, 0, 1\)/); + assert.match(source, /const windPresence = clamp\(\(wind\.strength - 5\) \/ 24, 0, 1\)/); + assert.match(source, /const routeCloudiness = 0\.32/); + assert.match(source, /\(weatherWave \* 0\.62 \+ windPresence \* 0\.32 - 0\.1\) \* routeCloudiness/); assert.match(source, /cloud\.setAlpha\(Phaser\.Math\.Linear\(alphaMin, alphaMax, visibility\) \* presence\)/); assert.match(source, /this\.reseedDenseCloudUpwind\(cloud, wind\)/); assert.match(source, /cloud\.x = centerX - windX \* \(WORLD_SIZE \/ 2 \+ margin\)/);