Time-scale slider values become 1, 2, 5, 10, 25, 50, 100, 250, 500, 1000 (was 1–64). Raising the max to 1000x lets e2e tests run at fastest time and finish faster.
lib/timeScale.ts — ladder [1,2,5,10,25,50,100,250,500,1000]; scaleToSlider maps off-ladder values to the nearest step by log distance (old formula assumed a power-of-two ladder)
lib/sim/engine.ts — MAX_TIME_SCALE 64 → 1000 (server-side clamp/validation); sim math is analytic in the clock, so any scale is exact (tick advance clamped to 2s × scale ≤ 33 game-min/tick)
e2e (sim, actions, right-pane, panes, map-interactions) — SCALE = 60 → 1000; slider assertions End→1000×/Home→1×; mid-flight map test moved to a ~1420 km leg (Madrid–Barajas) with pre-departure refuel so the flight window at 1000x stays observable
unit: new clampTimeScale boundary suite + off-ladder mapping cases; 238/238 green locally, tsc clean
Version
package.json → 0.14.0; CHANGELOG entry added
Checks
local: tsc clean, unit 238/238
e2e verified by CI on this PR (isolated dind stack)
## What (issue #6)
Time-scale slider values become **1, 2, 5, 10, 25, 50, 100, 250, 500, 1000** (was 1–64). Raising the max to 1000x lets e2e tests run at fastest time and finish faster.
- `lib/timeScale.ts` — ladder `[1,2,5,10,25,50,100,250,500,1000]`; `scaleToSlider` maps off-ladder values to the nearest step by log distance (old formula assumed a power-of-two ladder)
- `lib/sim/engine.ts` — `MAX_TIME_SCALE` 64 → 1000 (server-side clamp/validation); sim math is analytic in the clock, so any scale is exact (tick advance clamped to 2s × scale ≤ 33 game-min/tick)
- `app/api/sim/route.ts`, `lib/openapi.ts` — bounds + error messages updated (spec: max 1000)
- e2e (`sim`, `actions`, `right-pane`, `panes`, `map-interactions`) — `SCALE = 60 → 1000`; slider assertions End→`1000×`/Home→`1×`; mid-flight map test moved to a ~1420 km leg (Madrid–Barajas) with pre-departure refuel so the flight window at 1000x stays observable
- unit: new `clampTimeScale` boundary suite + off-ladder mapping cases; **238/238 green** locally, tsc clean
## Version
- `package.json` → **0.14.0**; CHANGELOG entry added
## Checks
- local: tsc clean, unit 238/238
- e2e verified by CI on this PR (isolated dind stack)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What (issue #6)
Time-scale slider values become 1, 2, 5, 10, 25, 50, 100, 250, 500, 1000 (was 1–64). Raising the max to 1000x lets e2e tests run at fastest time and finish faster.
lib/timeScale.ts— ladder[1,2,5,10,25,50,100,250,500,1000];scaleToSlidermaps off-ladder values to the nearest step by log distance (old formula assumed a power-of-two ladder)lib/sim/engine.ts—MAX_TIME_SCALE64 → 1000 (server-side clamp/validation); sim math is analytic in the clock, so any scale is exact (tick advance clamped to 2s × scale ≤ 33 game-min/tick)app/api/sim/route.ts,lib/openapi.ts— bounds + error messages updated (spec: max 1000)sim,actions,right-pane,panes,map-interactions) —SCALE = 60 → 1000; slider assertions End→1000×/Home→1×; mid-flight map test moved to a ~1420 km leg (Madrid–Barajas) with pre-departure refuel so the flight window at 1000x stays observableclampTimeScaleboundary suite + off-ladder mapping cases; 238/238 green locally, tsc cleanVersion
package.json→ 0.14.0; CHANGELOG entry addedChecks