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
- All 16 icons redrawn as rich multi-color SVGs (houses, towers,
factory, plants with smoke, services with badges/crosses, park,
fountain, stadium) — unique gradient ids, no collisions
- Toolbar grouped under labeled sections: Tools / Zones / Power /
Safety / Health / Leisure
- Every button shows price (FREE for zones); unaffordable buildings
dim and turn red as funds change
- Keyboard-shortcut badges on buttons; bigger 30px icons; hover lift
- Floating status chip above the bar shows active tool, price,
upkeep and coverage radius (SimCity status-bar feel)
- FIX: Game.ui was a method while input.js read it as a property, so
tool-change UI updates silently never ran; now a proper getter
- 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)