refactor(schema): rename biome_summary to planet_class (D-188)

"Biome" describes per-zone vegetation classification (Whittaker table).
"Planet class" describes overall planetary character. The conflation
caused the planet generator to misclassify ~270 bodies as barren.

Scope: systems.db column, schema SQL, Rust atlas code, wiki table
headers (Biome → Class), atlas proposal JSONs, all docs/decisions,
tooling scripts. Also normalizes atmosphere vocabulary (breathable →
standard) and expands planet class mapping to all 26 wiki values.
Unknown classes default to temperate for modder safety.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-06 17:10:35 +02:00
co-authored by Claude Opus 4.6
parent 6ce708a15a
commit db241b88bd
654 changed files with 3807 additions and 7203 deletions
+10 -1
View File
@@ -645,4 +645,13 @@ Technical foundation decisions that constrain implementation: engine, client-ser
---
*50 decisions. Last updated: 2026-03-24 (D-101 partial supersession noted; D-166 development cascade added)*
### D-188: Rename biome_summary to planet_class across codebase
- **Date:** 2026-04-06
- **Decision:** The `biome_summary` field in `systems.db` and all references throughout the codebase are renamed to `planet_class`. "Biome" describes per-zone vegetation classification (Whittaker table — tropical rainforest, temperate deciduous, etc.). "Planet class" describes the overall planetary character (temperate, arid, frozen, etc.). The two concepts were conflated under one name, causing confusion in the planet generator pipeline where both exist.
- **Scope:** DB column (`bodies.biome_summary` → `bodies.planet_class`), schema SQL, all Rust atlas code, wiki table headers (`Biome` → `Class`), atlas proposal JSONs, design docs, decision refs, planet generator scripts.
- **Raised by:** Team Leader (Jeroen), during planet generator spike.
- **Dissent:** None.
---
*51 decisions. Last updated: 2026-04-06 (D-188 biome_summary → planet_class rename)*
+1 -1
View File
@@ -111,7 +111,7 @@ Technical foundation questions: engine, protocols, data structures, performance,
### Q-064: 3D planet generator for wiki system screenshots
- **Status:** Resolved — answered by #779 (Sprint 32)
- **Question:** Evaluate the Godot 3D Planet Generator (https://github.com/remijean/godot-3d-planet-generator) for generating unique planet visuals per star system in the wiki. Each of the 301 systems could get a procedurally generated planet rendered as a screenshot for its wiki page. Key questions: can we get enough visual variety across 301 systems (different biomes, atmospheres, colors, ring configurations)? Can the generator run headlessly for batch rendering? What's the parameter space — how many distinct-looking planets can it produce? Could the planet configs be seeded from system properties (star class, habitable zone, etc.) for consistency across regenerations?
- **Resolution:** Pure Python ray-sphere renderer (`spikes/planet-renders/generate_planets.py`) replaces the Godot plugin approach. Answers all evaluation criteria: (1) visual variety via biome_summary type × body_id seed = 301 distinct renders, (2) fully headless — no Godot required, ~2s for all 7 types, (3) seeded from system properties for reproducibility. Avoids headless Godot rendering complexity. See `docs/design/planetary-screenshots-spec.md`.
- **Resolution:** Pure Python ray-sphere renderer (`spikes/planet-renders/generate_planets.py`) replaces the Godot plugin approach. Answers all evaluation criteria: (1) visual variety via planet_class type × body_id seed = 301 distinct renders, (2) fully headless — no Godot required, ~2s for all 7 types, (3) seeded from system properties for reproducibility. Avoids headless Godot rendering complexity. See `docs/design/planetary-screenshots-spec.md`.
- **Cross-reference:** Wiki system pages (docs/wiki/), world generation pipeline
---