Commit Graph

5 Commits

Author SHA1 Message Date
Jeffrey Wilcke
bbd2745f73 feat(citygen): validate cyberspace anchors, jacks and reachability
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 21:40:40 +02:00
Jeffrey Wilcke
2d451f24d8 feat(citygen): cyberspace nodes, lanes and jack ports
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 21:39:06 +02:00
Jeffrey Wilcke
59ba72f0e0 fix: review findings
- screen transitions snapshot the previous frame (ratatui swaps buffers
  after draw, so the old snapshot was always blank); frame loop extracted
  into a testable Runner
- .city loading rejects structurally inconsistent files: Grid deserialize
  checks size vs data, load_city checks header vs body and runs
  City::validate (now also checks Net link endpoints)
- saving from the map hands the live map screen back instead of a fresh
  explore screen
- signage glyphs covered by the unicode-width test

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-12 18:23:15 +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
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