v1.8.0: e2e speedup — per-test timescale rates (FAST/CHAIN) #162

Merged
kamilkrzywda merged 1 commits from feat/e2e-speedup into master 2026-09-27 22:34:27 +02:00
Owner

Test-only change: every spec that fast-forwards legs now uses the fastest rate its assertions allow instead of a blanket SCALE=1000.

  • FAST = 10_000 (actions, hover, two-planes) / 50_000 (map-interactions chain hops) for pure arrival waits — a lagged tick can only land a plane sooner, never skip an observed state
  • CHAIN = 4_000 in queue.spec.ts: max per-tick advance (2 s × S) stays below the LEMD-length leg duration so one lagged tick cannot complete it before a poll sees the chained state; refuel test at explicit 2_000 with fuel bound relaxed to > required (exact level still pinned by the cash assertion)
  • Kept at SCALE=1000 where mid-leg observation is real: antimeridian crossing leg, queue final-hop chain window, map-interactions mid-flight click window
  • Antimeridian crossing dispatch now sets SCALE BEFORE the fly POST — with FAST-rate chains a leftover fast rate would let the dispatch tick itself consume most of the leg (flake path)
  • hover fleet-row test asserts flying from the fly endpoint's own snapshot and freezes immediately instead of speeding up then freezing mid-leg
  • two-planes parallel-flight: both-grounded poll after cleanup dispatches so afterEach heal no longer pays the range-edge return leg at SCALE (~24 s saved)

Expected CI wall time for affected tests drops ~5–6× overall (antimeridian chains ~3 min → ~15 s per direction). No game code changed; tsc + 445 unit tests + spec list verified locally.

Test-only change: every spec that fast-forwards legs now uses the fastest rate its assertions allow instead of a blanket SCALE=1000. - FAST = 10_000 (actions, hover, two-planes) / 50_000 (map-interactions chain hops) for pure arrival waits — a lagged tick can only land a plane sooner, never skip an observed state - CHAIN = 4_000 in queue.spec.ts: max per-tick advance (2 s × S) stays below the LEMD-length leg duration so one lagged tick cannot complete it before a poll sees the chained state; refuel test at explicit 2_000 with fuel bound relaxed to > required (exact level still pinned by the cash assertion) - Kept at SCALE=1000 where mid-leg observation is real: antimeridian crossing leg, queue final-hop chain window, map-interactions mid-flight click window - Antimeridian crossing dispatch now sets SCALE BEFORE the fly POST — with FAST-rate chains a leftover fast rate would let the dispatch tick itself consume most of the leg (flake path) - hover fleet-row test asserts flying from the fly endpoint's own snapshot and freezes immediately instead of speeding up then freezing mid-leg - two-planes parallel-flight: both-grounded poll after cleanup dispatches so afterEach heal no longer pays the range-edge return leg at SCALE (~24 s saved) Expected CI wall time for affected tests drops ~5–6× overall (antimeridian chains ~3 min → ~15 s per direction). No game code changed; tsc + 445 unit tests + spec list verified locally.
kamilkrzywda added 1 commit 2026-09-27 22:19:21 +02:00
- actions/hover/two-planes: FAST=10_000 for expiry fast-forwards, landing
  waits and fly-home cleanups; queue: + CHAIN=4_000 for auto-chain
  observation, refuel test at explicit 2_000 with relaxed fuel bound
- map-interactions: FAST=50_000 chain hops (~3 min -> ~15 s per direction);
  crossing leg stays at SCALE and now sets it BEFORE dispatch (a leftover
  fast rate would let the dispatch tick consume most of the leg)
- hover fleet-row test asserts flying from the fly endpoint's own snapshot
  and freezes immediately instead of speeding up then freezing mid-leg
- two-planes parallel-flight: both-grounded poll after cleanup dispatches so
  afterEach heal no longer pays the range-edge return leg at SCALE
kamilkrzywda scheduled this pull request to auto merge when all checks succeed 2026-09-27 22:22:25 +02:00
kamilkrzywda merged commit d2b799e572 into master 2026-09-27 22:34:27 +02:00
kamilkrzywda deleted branch feat/e2e-speedup 2026-09-27 22:34:27 +02:00
Sign in to join this conversation.