Name Generation
The village name is procedurally generated by randomly selecting and combining a prefix (like "Oak" or "West") and a suffix (like "ham" or "ford") from two curated lists of classic village names.
Geometry
Plots are Lloyd-relaxed Voronoi cells based on a jiggled 8x8 grid with 10 random merges to simulate larger estates.
Infrastructure
Main roads are calculated using a greedy pathfinding algorithm toward cardinal opposites. Stranded suburban lots trigger the creation of thin driveways.
4. Drawing Features
- Urban Buildings: Narrow, "ramshackle" buildings are drawn along the road frontages, set back by a small random amount to create a sidewalk. Their depth is random (20-40%) to create an irregular skyline.
- Suburban Houses: L, T, or U-shaped houses are placed at the center of each suburban plot. They are dynamically pushed back if they intersect a main road.
- Rural Trees: Simple, sepia-toned trees with branches and shadows are scattered across all rural land. The script ensures they don't grow on top of roads.
- Fences & Walls: Boundaries touching an urban plot get thick, irregular "sketchy" stone walls. Boundaries between suburban/rural plots get a thin wire line with spaced wooden posts. Fences are not drawn in the open countryside.