Placement used greedy farthest-first with a hard minimum spacing, so settlements came out as a near-uniform lattice (unrealistic). Now placeSettlements() does habitability-weighted random sampling (weight = habitability^civClusterExp) with a soft Gaussian suppression (civMinSpacingRadians) around each pick, so towns cluster on good land (rivers/coasts/fertile valleys) at irregular spacing and leave empty stretches between. Nearest-neighbour distances now span ~0.04..0.39 rad (was ~uniform) and placement concentrates on the better cells. - New knob civClusterExp (3.0; higher = tighter clustering on the best land); civMinSpacingRadians repurposed as the soft suppression scale (0.10 -> 0.06). - Separate sCivRng + deterministic, so determinism / RNG isolation hold. - test_civ: replaced the hard-spacing assertion with clustering checks (nearest-neighbour spacing varies; placed cells beat the habitable mean). All 10 suites pass; GUI build clean. Docs updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
No description provided
Languages
C++
99.6%
CMake
0.4%