Cultures stop being static one-per-continent blocs. Culture identities are
now stateful: the list is append-only (seeded once at the dawn, schism
children appended later, records frozen after creation) and the
per-settlement culture is mutable state.
- stepCulture(year) in the yearly tick (pure hashes, no RNG):
assimilation (a conquered settlement adopts its ruler's culture, which
drops the Step-5 revolt cultBonus -> assimilation pacifies provinces),
border conversion (population x trade-prestige pressure; realm capitals
exempt), schism (a far-flung coherent cluster -- typically overseas
colonies -- breaks away as a new people with a local-bank NameGen name
and ethos/faith re-derived from its own lands).
- computeCultures() became a pure derived refresh (seeds only when the
list is empty); seedCultures() reproduces the old per-continent peoples
byte-identically for the dawn and pre-v23 loads.
- Colonies inherit the founder's culture at founding; the Step-3
mono-cultural vassalage rule is culture-matched (regionId fallback) so
schism clusters found their own realms -> colonial independence wars.
- Per-cell culture view colours by the owning settlement's culture, so a
conquered city keeps its colour until it assimilates.
- Save v23: culture identities + sSettleCulture + next-id counter, also in
the step-back frames; snapshots rewind via truncate-and-replay. Pre-v23
saves re-seed on the next refresh.
- Kind-7 world events; Cultures tab hides extinct peoples and shows a
schism child's founding year. Knobs cult* in planet.cfg.
- New test_cultevo.cpp (30 checks); all 15 existing suites still pass.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>