Create a procedural isometric city generator rendered entirely with HTML5 Canvas — a living miniature city that assembles itself from a seed, breathes through a full day/night cycle, and hums with vehicle traffic that genuinely routes through its street network.
Each run should generate a believable city, not a uniform grid: a road network with a discernible hierarchy — wider avenues, narrower side streets, perhaps a highway edge or bridge — shaped around natural features such as a river, waterfront, or a large park that breaks the block rhythm. Districts should have distinct character: a dense downtown core of tall towers with neon and rooftop details, mid-rise mixed-use blocks, low residential streets with yards and trees, and an industrial or utility edge. Buildings should be drawn in true isometric projection with correct occlusion and painter's-algorithm depth sorting, and carry human-scale detail: lit windows, rooftop units, water towers, awnings, billboards, streetlights, crosswalks, and trees along the boulevards.
The day/night cycle should be continuous and watchable. The sun arcs across the sky, building shadows stretch and swing with its position, dusk warms the facades, and at night the city answers: windows light up room by room, streetlights come on, headlights and taillights trace the roads, and neon signs glow on downtown towers, before dawn slowly reverses everything. Sky color, ambient light, shadow direction and length, window-light probability, and vehicle lights should all derive from the current time of day. Let visitors scrub time directly to any hour and watch smooth transitions, and let time run on its own at an adjustable pace.
Traffic must be actually simulated, not decorative. Vehicles spawn with real origins and destinations and navigate the actual road graph: pathfinding through the street network, favoring faster avenues over side streets, queueing behind slower vehicles, stopping at congested intersections, turning with believable arcs, and despawning or parking on arrival. Traffic density should respond to the time of day — morning and evening rush hours swell the streets, late night thins them to a handful of cars and the occasional bus or truck. Headlights, taillights, and brake lights should read clearly at night. If a visitor picks one car and follows it, its turn-by-turn decisions should make sense against the map.
Make the generator itself a first-class instrument: regenerate with a new seed, view and re-enter a seed to share a city, adjust city size, density, and time-of-day, and pause or step the simulation. Consider depth that rewards attention without cluttering the panel — pan and zoom across the city, hover a building to see what it is, blinking antenna beacons at night, drifting clouds with moving shadows, animated water. Keep the canvas smooth even for a large city, and make the layout work from a desktop browser down to a tablet viewport.
Do not take shortcuts and do not settle for a cookie-cutter map demo, a static mockup with looping sprites, or traffic dots that ignore the streets. This skill imposes no token budget limit, so pursue full depth: coherent city structure with generation variety, lighting that holds up at every hour, traffic that stands up to close watching, and small details that reward staring. Keep refining generation, light, and motion until the city feels authored and alive.