Commit Graph

28 Commits

Author SHA1 Message Date
Jeffrey Wilcke
48320eb0e6 feat(city): explore and walk screens with panels and help
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:54:00 +02:00
Jeffrey Wilcke
df448525c2 feat(city): walker with symmetric shadowcasting FOV
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:51:14 +02:00
Jeffrey Wilcke
997814e2f3 feat(city): title, configure and files screens
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:49:49 +02:00
Jeffrey Wilcke
73596eadd2 feat(city): animated generating screen
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:47:14 +02:00
Jeffrey Wilcke
acd0286bab feat(city): logo, menu, form, panels and transitions
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:45:16 +02:00
Jeffrey Wilcke
741231c25b feat(city): digital net overlay
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:42:11 +02:00
Jeffrey Wilcke
d43f1b68f0 feat(city): map viewport, camera, minimap, weather and traffic overlays
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:41:04 +02:00
Jeffrey Wilcke
f005d0c1b2 feat(city): style pack, tileset and lighting
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:37:36 +02:00
Jeffrey Wilcke
0e14cd14fc feat(city): animation primitives and effects
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:34:04 +02:00
Jeffrey Wilcke
68be96a8b2 feat(city): app loop, terminal guard, save format, gen CLI
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:33:18 +02:00
Jeffrey Wilcke
0d459e7058 fix(citygen): robustness found by the extended seed sweep
- arterials merge onto existing roads and keep distance otherwise
- isolated strata components get a drop-in public connector
- blockless districts fall back to the largest clean rectangle
- sliver districts merge into neighbours (district count is a maximum)
- dressing removes blocking features that cut tiles off the street

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:30:54 +02:00
Jeffrey Wilcke
9ac713bbe9 feat(citygen): City::validate and seed sweep tests
Also guarantees one building per district and repairs interiors split
by crossing partitions, both found by the new validation.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:21:08 +02:00
Jeffrey Wilcke
b781e60d73 feat(citygen): net graph stage
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:15:13 +02:00
Jeffrey Wilcke
90b626e034 feat(citygen): naming stage
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:12:00 +02:00
Jeffrey Wilcke
fad98bba0b feat(citygen): dressing, light maps, variants
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:11:22 +02:00
Jeffrey Wilcke
2fff121576 feat(citygen): connectivity repair and public connectors
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:09:06 +02:00
Jeffrey Wilcke
ac14d2c299 feat(citygen): building interiors, doors, windows, shafts
Blocks now keep a one-tile margin from water, the map edge and other
districts and get an alley ring; lots are cut as back-to-back rows so
every building has an outdoor-facing wall for its door.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:06:29 +02:00
Jeffrey Wilcke
466e587fb7 feat(citygen): undercity, skyways and heights verticals
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 17:01:41 +02:00
Jeffrey Wilcke
7d3bd8d394 feat(citygen): lots and building placement
Also makes block fitting recursive so irregular district regions split
into several clean blocks instead of being dropped.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:58:06 +02:00
Jeffrey Wilcke
9cc97b87cf feat(citygen): per-theme street subdivision and blocks
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:53:26 +02:00
Jeffrey Wilcke
6ba66d5e63 feat(citygen): arterial road network
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:50:04 +02:00
Jeffrey Wilcke
fca3e32c97 feat(citygen): districts stage with themed Voronoi regions
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:48:48 +02:00
Jeffrey Wilcke
7c9928214f feat(citygen): generator state machine, pathing helpers, terrain stage
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:47:02 +02:00
Jeffrey Wilcke
c8d8deeb0f feat(citygen): flavor pack and theme table
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:44:14 +02:00
Jeffrey Wilcke
3a17d7e1cd feat(citygen): params validation, GenError, seeded rng helpers
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:42:32 +02:00
Jeffrey Wilcke
40b6972664 feat(citygen): tile, world and net data model
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:41:47 +02:00
Jeffrey Wilcke
698a6a13db feat(citygen): geometry primitives and Grid
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:40:04 +02:00
Jeffrey Wilcke
76c07e2927 chore: cargo workspace with citygen and city crates
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 16:39:05 +02:00