Document the independent realm-name/culture-gating changes in CLAUDE.md
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TMfyZv91tonDnPJqbaTVJE
This commit is contained in:
parent
af7b6146fd
commit
a9ea113f97
24
CLAUDE.md
24
CLAUDE.md
@ -455,6 +455,30 @@ on the Live World clock). **Steps 1–7 of the roadmap are done (plus a derived
|
||||
that just sets `mode = ColorMode::Biome` (matching the plain `5` key, no side effects, works from
|
||||
the very start of World Creation). Purely additive; the dropdown entry and `5` key are unchanged.
|
||||
`src/render` only (`Toolbar.cpp`), no save-format change.
|
||||
- **Independent realm names, a capital-label collision fix, colony/culture gating, and an explicit
|
||||
"cultureless" state** *(done)* — a cluster of follow-ups after the realm-borders overlay above.
|
||||
(1) **Atlas capital labels were colliding**: a capital's own settlement-name label was
|
||||
systematically lost to the (higher-priority) realm-name/culture block at the same point, since
|
||||
their offsets weren't real clearance, just a small nudge — fixed with an explicit bottom-up stack
|
||||
(settlement's own box → culture line → realm name, each strictly above the one below it with a
|
||||
real gap, sized off a conservative worst-case settlement font) so a capital's own name always
|
||||
survives the decluttering pass alongside its realm's. (2) **Realm names are now independently
|
||||
generated**, not literally "Kingdom of " + the capital's own name — `computeCultures()`
|
||||
(`PlanetCulture.cpp`) derives a separate "place name" via `namegen::makeName()`, keyed on the
|
||||
capital *settlement's* permanent id (stable across yearly recomputes, unlike `Nation.id` which is
|
||||
just that pass's insertion order) and its own language bank, deduped against other realms named
|
||||
the same pass — same retry pattern already used for settlement/colony naming. A kingdom and the
|
||||
city it's ruled from now read as two distinct places. (3) **`stepColonization()` now requires
|
||||
`nat.cultureId >= 0`** — a culture-less realm has nothing to pass on, and this stops it from
|
||||
propagating that gap to new colonies (colonies inherit their founder's culture at founding).
|
||||
(4) **Realm labels always show a culture line now** (3D, 2D, atlas) — either the real
|
||||
`(the Velmar)` or an explicit `(cultureless)` in a muted colour, instead of silently omitting the
|
||||
line when `Nation.cultureId` is unset (which can still arise from older conquest/schism edge cases
|
||||
predating fix 3) — makes it a readable, intentional-looking state rather than a gap that looks like
|
||||
a bug. `test_culture.cpp` updated to rebuild the new deterministic name formula and assert it
|
||||
differs from the capital's own name. Touches `src/sim` (`PlanetCulture.cpp`, `PlanetCiv.cpp`) as
|
||||
well as `src/render` — `Nation.name`/`cultureId` are derived/not saved (per the Territory & Culture
|
||||
entries above), so no save-format version bump.
|
||||
|
||||
## Current state
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user