Advisor v2:
- Phased policy (founding/village/town/city) with scaling reserves
- Maximal-coverage siting: services score candidate spots by count of
previously-uncovered developed buildings in radius
- RCI gradient genesis: homes north, commerce buffering, industry
set back 2 extra tiles; per-tile separation filters on new districts
- District placement scored by runway length and distance from housing
- Power sized to PROJECTED demand (history-smoothed growth x14 months)
with tech diversity cap (<=3 per type) and home-distance scoring
- Collector roads: cluster orphaned plots, one straight L-path
- Budget discipline: one big-ticket purchase max per pass
Simulation core:
- City clock now advances in wall time (tick-guard bounded), decoupled
from render fps — slow devices no longer freeze the city
- Smoke test polls in game-time (monthIndex targets), not wall time
- New advisor button (toolbar, purple wand): one click per planning pass
* Genesis: founds a town from a blank map (main street + zone bands)
* Keeps power ahead of demand (wind/solar/coal by deficit size)
* BFS road spurs to reach orphaned zoned land
* Stamps new districts when demand is high and empty plots run out
* Places the weakest service coverage; parks/plazas for land value
* Never spends below an emergency reserve; recomputes power per action
- Simulation no longer dies when rAF throttles: interval watchdog
compensates only after 3s of total frame silence
- preserveDrawingBuffer now opt-in via ?cap=1 (software-GL perf)
- Smoke test drives via game API, prefers headless_shell binary,
tolerates stalled screenshots; engine suite at 51 assertions
- Power consumption x4: the grid now matters from mid-town on
- Realistic tax multipliers, trimmed service upkeep: profitable cities
- Buildings may claim empty zoned plots (services fit downtown)
- Land value ladder: maturity bonus, size-scaled upgrade sampling,
thresholds 34/74 -> full L1->L2->L3 density progression
- Soak test: 40 simulated years, 11/11 asserts green (848 citizens,
7 L3 towers, $190k surplus, proactive grid growth, 1.2ms avg tick)