five-on-it / packages/catalogue/src/city/solve
packages/catalogue/src/city/solve
The city template's solver: a spec checked against its schema, its network resolved (resolve.ts) and checked (checks.ts), its districts laid over the town (districts.ts), its spawn and places found, its terrain resolved and checked (terrain.ts: the relief, the tunnels, the lakes, the compounds); then the plan Blender builds (plan.ts) and the city as text (map.ts). What it cannot build comes back as issues at their spec paths, the moment the spec is set (PUT /drafts/:id/spec), without Blender.