data(atlas): hop-3 batch 1 — 7 systems + corporations + terrain design

Systems: Travessia/Euripos+Ostia (commercial translation),
Kensho/Enso+Mokurai (research consortium), Okafor/Onitsha+Timbuktu
Orbital Exchange (Nigerian trading hub), Lu Ban/Gongshu+Humen (Chinese
bazaar manufacturing), Arbour (garden world, the real capital),
Tanegashima/Kanashiro+Tsurumi (Japanese guild fabrication),
Yongjin/Shin Incheon+Cheongmun (Korean transit gateway),
Wolf 359 (12 named platforms + Lalo Watch, 15 stations total).

New: corporations table + 20 records (13 from wiki + DSMC + 7 Cygni B
combines). Planetary terrain generation design doc (tectonic-first
tile pipeline, PerfectWorld/PlaTec research). Atlas CLI planet count
defaults fixed (6-8 minimum).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 11:41:21 +01:00
co-authored by Claude Opus 4.6
parent bb62900db8
commit ce0ea1cd83
17 changed files with 2172 additions and 0 deletions
+280
View File
@@ -0,0 +1,280 @@
{
"system_id": "GJ 1156",
"proper_name": "Travessia",
"star_type": "G",
"spectral_class": "K5V",
"wiki_data": {
"habitable_count": 1,
"inhabited_count": 1,
"has_gas_giant": true,
"has_asteroid_belt": true,
"has_horizon_station": true,
"raw_bodies_line": null
},
"bodies": [
{
"body_id": "GJ1156b",
"proper_name": null,
"body_type": "planet",
"orbit_index": 1,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.26,
"orbital_period_days": 18,
"rotation_period_hours": 430,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "inner scorched"
},
{
"body_id": "GJ1156c",
"proper_name": null,
"body_type": "planet",
"orbit_index": 2,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.55,
"orbital_period_days": 65,
"rotation_period_hours": 1560,
"atmosphere": "toxic",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "Venus-analog"
},
{
"body_id": "GJ1156d",
"proper_name": "Euripus",
"body_type": "planet",
"orbit_index": 3,
"parent_body_id": null,
"inhabited": true,
"population": 1200000000,
"mass_class": "terrestrial",
"surface_gravity": 0.90,
"orbital_period_days": 230,
"rotation_period_hours": 24.5,
"atmosphere": "breathable",
"biome_summary": "temperate",
"hydrosphere": "ocean",
"economic_role": "service_mixed",
"settlement_pattern": "urban_concentrated",
"industrial_corridor": null,
"notes": "long coastlines, moderate seasons, bonded warehouse district"
},
{
"body_id": "GJ1156d-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ1156d",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.06,
"orbital_period_days": 14.0,
"rotation_period_hours": 336,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1156e",
"proper_name": null,
"body_type": "planet",
"orbit_index": 4,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.48,
"orbital_period_days": 450,
"rotation_period_hours": 19.0,
"atmosphere": "thin",
"biome_summary": "arid",
"hydrosphere": "rivers",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1156f",
"proper_name": null,
"body_type": "planet",
"orbit_index": 5,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.40,
"orbital_period_days": 800,
"rotation_period_hours": 16.0,
"atmosphere": "thin",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1156g",
"proper_name": null,
"body_type": "planet",
"orbit_index": 6,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.32,
"orbital_period_days": 1300,
"rotation_period_hours": 21.0,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "outer frozen"
},
{
"body_id": "GJ1156-belt",
"proper_name": null,
"body_type": "asteroid_belt",
"orbit_index": 7,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1156h",
"proper_name": null,
"body_type": "gas_giant",
"orbit_index": 8,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "gas_giant",
"surface_gravity": null,
"orbital_period_days": 2600,
"rotation_period_hours": 11.5,
"atmosphere": "dense",
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1156h-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ1156h",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.08,
"orbital_period_days": 4.5,
"rotation_period_hours": 108,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1156h-2",
"proper_name": null,
"body_type": "moon",
"orbit_index": 2,
"parent_body_id": "GJ1156h",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.05,
"orbital_period_days": 10.0,
"rotation_period_hours": 240,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1156-oort",
"proper_name": null,
"body_type": "oort_cloud",
"orbit_index": 9,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
}
],
"stations": [
{
"station_id": "GJ1156d-S1",
"proper_name": "Ostia",
"orbits_body_id": "GJ1156d",
"station_type": "commercial",
"population": 20000000,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": false,
"notes": "bonded warehouse orbital, customs brokerage, Mercado HQ"
},
{
"station_id": "GJ1156-oort-S1",
"proper_name": "Horizon Station",
"orbits_body_id": "GJ1156-oort",
"station_type": "horizon",
"population": 0,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": true,
"notes": "4 apertures"
}
]
}
+269
View File
@@ -0,0 +1,269 @@
{
"system_id": "GJ 1286",
"proper_name": "Kensho",
"star_type": "M",
"spectral_class": "K1 Ve",
"wiki_data": {
"habitable_count": 2,
"inhabited_count": 2,
"has_gas_giant": true,
"has_asteroid_belt": true,
"has_horizon_station": true,
"raw_bodies_line": null
},
"bodies": [
{
"body_id": "GJ1286b",
"proper_name": null,
"body_type": "planet",
"orbit_index": 1,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.28,
"orbital_period_days": 20,
"rotation_period_hours": 480,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "inner rocky"
},
{
"body_id": "GJ1286c",
"proper_name": null,
"body_type": "planet",
"orbit_index": 2,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.58,
"orbital_period_days": 70,
"rotation_period_hours": 1680,
"atmosphere": "toxic",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "Venus-analog"
},
{
"body_id": "GJ1286d",
"proper_name": "Enso",
"body_type": "planet",
"orbit_index": 3,
"parent_body_id": null,
"inhabited": true,
"population": 500000000,
"mass_class": "terrestrial",
"surface_gravity": 0.88,
"orbital_period_days": 280,
"rotation_period_hours": 25.0,
"atmosphere": "breathable",
"biome_summary": "temperate",
"hydrosphere": "ocean",
"economic_role": "research",
"settlement_pattern": "urban_concentrated",
"industrial_corridor": null,
"notes": "Consortium campus world, academic governance"
},
{
"body_id": "GJ1286d-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ1286d",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.06,
"orbital_period_days": 15.0,
"rotation_period_hours": 360,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1286e",
"proper_name": "Mokurai",
"body_type": "planet",
"orbit_index": 4,
"parent_body_id": null,
"inhabited": true,
"population": 80000000,
"mass_class": "terrestrial",
"surface_gravity": 0.78,
"orbital_period_days": 480,
"rotation_period_hours": 22.0,
"atmosphere": "breathable",
"biome_summary": "temperate",
"hydrosphere": "rivers",
"economic_role": "research",
"settlement_pattern": "dispersed_rural",
"industrial_corridor": null,
"notes": "field research stations, mixed agriculture"
},
{
"body_id": "GJ1286f",
"proper_name": null,
"body_type": "planet",
"orbit_index": 5,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.45,
"orbital_period_days": 800,
"rotation_period_hours": 17.5,
"atmosphere": "thin",
"biome_summary": "arid",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1286g",
"proper_name": null,
"body_type": "planet",
"orbit_index": 6,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.38,
"orbital_period_days": 1200,
"rotation_period_hours": 15.0,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1286-belt",
"proper_name": null,
"body_type": "asteroid_belt",
"orbit_index": 7,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1286h",
"proper_name": null,
"body_type": "gas_giant",
"orbit_index": 8,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "gas_giant",
"surface_gravity": null,
"orbital_period_days": 2800,
"rotation_period_hours": 12.5,
"atmosphere": "dense",
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1286h-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ1286h",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.09,
"orbital_period_days": 4.0,
"rotation_period_hours": 96,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1286h-2",
"proper_name": null,
"body_type": "moon",
"orbit_index": 2,
"parent_body_id": "GJ1286h",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.06,
"orbital_period_days": 10.0,
"rotation_period_hours": 240,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ1286-oort",
"proper_name": null,
"body_type": "oort_cloud",
"orbit_index": 9,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
}
],
"stations": [
{
"station_id": "GJ1286-oort-S1",
"proper_name": "Horizon Station",
"orbits_body_id": "GJ1286-oort",
"station_type": "horizon",
"population": 0,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": true,
"notes": "4 apertures"
}
]
}
+280
View File
@@ -0,0 +1,280 @@
{
"system_id": "GJ 139",
"proper_name": "Okafor Station",
"star_type": "F",
"spectral_class": "G8V",
"wiki_data": {
"habitable_count": 1,
"inhabited_count": 1,
"has_gas_giant": true,
"has_asteroid_belt": true,
"has_horizon_station": true,
"raw_bodies_line": null
},
"bodies": [
{
"body_id": "GJ139b",
"proper_name": null,
"body_type": "planet",
"orbit_index": 1,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.30,
"orbital_period_days": 25,
"rotation_period_hours": 600,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "inner rocky"
},
{
"body_id": "GJ139c",
"proper_name": null,
"body_type": "planet",
"orbit_index": 2,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.62,
"orbital_period_days": 90,
"rotation_period_hours": 2160,
"atmosphere": "toxic",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "Venus-analog"
},
{
"body_id": "GJ139d",
"proper_name": "Onitsha",
"body_type": "planet",
"orbit_index": 3,
"parent_body_id": null,
"inhabited": true,
"population": 350000000,
"mass_class": "terrestrial",
"surface_gravity": 0.85,
"orbital_period_days": 300,
"rotation_period_hours": 24.0,
"atmosphere": "thin",
"biome_summary": "arid",
"hydrosphere": "rivers",
"economic_role": "service_mixed",
"settlement_pattern": "urban_concentrated",
"industrial_corridor": null,
"notes": "marginal habitable, environmental management, Okafor trading house"
},
{
"body_id": "GJ139d-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ139d",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.05,
"orbital_period_days": 12.0,
"rotation_period_hours": 288,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ139e",
"proper_name": null,
"body_type": "planet",
"orbit_index": 4,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.50,
"orbital_period_days": 520,
"rotation_period_hours": 19.5,
"atmosphere": "thin",
"biome_summary": "arid",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ139f",
"proper_name": null,
"body_type": "planet",
"orbit_index": 5,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.42,
"orbital_period_days": 850,
"rotation_period_hours": 17.0,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ139g",
"proper_name": null,
"body_type": "planet",
"orbit_index": 6,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.35,
"orbital_period_days": 1400,
"rotation_period_hours": 15.5,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "outer dead"
},
{
"body_id": "GJ139-belt",
"proper_name": null,
"body_type": "asteroid_belt",
"orbit_index": 7,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ139h",
"proper_name": null,
"body_type": "gas_giant",
"orbit_index": 8,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "gas_giant",
"surface_gravity": null,
"orbital_period_days": 3200,
"rotation_period_hours": 10.5,
"atmosphere": "dense",
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ139h-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ139h",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.08,
"orbital_period_days": 4.0,
"rotation_period_hours": 96,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ139h-2",
"proper_name": null,
"body_type": "moon",
"orbit_index": 2,
"parent_body_id": "GJ139h",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.06,
"orbital_period_days": 9.5,
"rotation_period_hours": 228,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ139-oort",
"proper_name": null,
"body_type": "oort_cloud",
"orbit_index": 9,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
}
],
"stations": [
{
"station_id": "GJ139d-S1",
"proper_name": "Timbuktu Orbital Exchange",
"orbits_body_id": "GJ139d",
"station_type": "commercial",
"population": 15000000,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": false,
"notes": "regional exchange, cargo broking, transit handling"
},
{
"station_id": "GJ139-oort-S1",
"proper_name": "Horizon Station",
"orbits_body_id": "GJ139-oort",
"station_type": "horizon",
"population": 0,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": true,
"notes": "3 apertures"
}
]
}
+180
View File
@@ -0,0 +1,180 @@
{
"system_id": "GJ 15A",
"proper_name": "Lu Ban",
"star_type": "binary",
"spectral_class": "M1V",
"wiki_data": {
"habitable_count": 1,
"inhabited_count": 1,
"has_gas_giant": false,
"has_asteroid_belt": false,
"has_horizon_station": true,
"raw_bodies_line": null
},
"bodies": [
{
"body_id": "GJ15Ab",
"proper_name": null,
"body_type": "planet",
"orbit_index": 1,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.22,
"orbital_period_days": 10,
"rotation_period_hours": 240,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "inner scorched"
},
{
"body_id": "GJ15Ac",
"proper_name": "Gongshu",
"body_type": "planet",
"orbit_index": 2,
"parent_body_id": null,
"inhabited": true,
"population": 2800000000,
"mass_class": "terrestrial",
"surface_gravity": 0.82,
"orbital_period_days": 160,
"rotation_period_hours": 22.5,
"atmosphere": "breathable",
"biome_summary": "temperate",
"hydrosphere": "rivers",
"economic_role": "manufacturing",
"settlement_pattern": "urban_concentrated",
"industrial_corridor": null,
"notes": "bazaar economy, hundreds of independent makers"
},
{
"body_id": "GJ15Ac-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ15Ac",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.05,
"orbital_period_days": 9.0,
"rotation_period_hours": 216,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ15Ad",
"proper_name": null,
"body_type": "planet",
"orbit_index": 3,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.45,
"orbital_period_days": 350,
"rotation_period_hours": 18.0,
"atmosphere": "thin",
"biome_summary": "arid",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ15Ae",
"proper_name": null,
"body_type": "planet",
"orbit_index": 4,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.38,
"orbital_period_days": 650,
"rotation_period_hours": 16.0,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ15Af",
"proper_name": null,
"body_type": "planet",
"orbit_index": 5,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.30,
"orbital_period_days": 1100,
"rotation_period_hours": 20.0,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "outer dead"
},
{
"body_id": "GJ15A-oort",
"proper_name": null,
"body_type": "oort_cloud",
"orbit_index": 6,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
}
],
"stations": [
{
"station_id": "GJ15Ac-S1",
"proper_name": "Humen",
"orbits_body_id": "GJ15Ac",
"station_type": "commercial",
"population": 25000000,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": false,
"notes": "freight yards, Commission certification, MVG bottleneck"
},
{
"station_id": "GJ15A-oort-S1",
"proper_name": "Horizon Station",
"orbits_body_id": "GJ15A-oort",
"station_type": "horizon",
"population": 0,
"economic_role": "transit",
"docking_class": "standard",
"has_gate_infrastructure": true,
"notes": "1 aperture, connects to Nova Roma (MVG)"
}
]
}
+249
View File
@@ -0,0 +1,249 @@
{
"system_id": "GJ 338B",
"proper_name": "Arbour",
"star_type": "K",
"spectral_class": "K2",
"wiki_data": {
"habitable_count": 1,
"inhabited_count": 1,
"has_gas_giant": true,
"has_asteroid_belt": false,
"has_horizon_station": true,
"raw_bodies_line": "| **Bodies** | 1 habitable · 1 inhabited |"
},
"bodies": [
{
"body_id": "GJ338Bb",
"proper_name": null,
"body_type": "planet",
"orbit_index": 1,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.35,
"orbital_period_days": 30,
"rotation_period_hours": 720,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "inner rocky, unremarkable"
},
{
"body_id": "GJ338Bc",
"proper_name": null,
"body_type": "planet",
"orbit_index": 2,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.62,
"orbital_period_days": 100,
"rotation_period_hours": 2400,
"atmosphere": "thin",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "warm rocky, slight haze"
},
{
"body_id": "GJ338Bd",
"proper_name": "Arbour",
"body_type": "planet",
"orbit_index": 3,
"parent_body_id": null,
"inhabited": true,
"population": 600000000,
"mass_class": "terrestrial",
"surface_gravity": 0.96,
"orbital_period_days": 340,
"rotation_period_hours": 24.2,
"atmosphere": "breathable",
"biome_summary": "temperate",
"hydrosphere": "ocean",
"economic_role": "service_mixed",
"settlement_pattern": "dispersed_rural",
"industrial_corridor": null,
"notes": "garden world, estate-scale, gentle axial tilt, mild seasons, no extremes"
},
{
"body_id": "GJ338Bd-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ338Bd",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.12,
"orbital_period_days": 22.0,
"rotation_period_hours": 528,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "large moon, stabilizes tilt, scenic night sky"
},
{
"body_id": "GJ338Be",
"proper_name": null,
"body_type": "planet",
"orbit_index": 4,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.48,
"orbital_period_days": 600,
"rotation_period_hours": 20.0,
"atmosphere": "thin",
"biome_summary": "temperate",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "cool but not hostile, autumn colors year-round"
},
{
"body_id": "GJ338Bf",
"proper_name": null,
"body_type": "planet",
"orbit_index": 5,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.40,
"orbital_period_days": 1000,
"rotation_period_hours": 18.0,
"atmosphere": "thin",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "clean frozen, bright albedo"
},
{
"body_id": "GJ338Bg",
"proper_name": null,
"body_type": "gas_giant",
"orbit_index": 6,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "gas_giant",
"surface_gravity": null,
"orbital_period_days": 2200,
"rotation_period_hours": 11.0,
"atmosphere": "dense",
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "ringed, photogenic from the surface at opposition"
},
{
"body_id": "GJ338Bg-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ338Bg",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.08,
"orbital_period_days": 4.5,
"rotation_period_hours": 108,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ338Bg-2",
"proper_name": null,
"body_type": "moon",
"orbit_index": 2,
"parent_body_id": "GJ338Bg",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.06,
"orbital_period_days": 10.0,
"rotation_period_hours": 240,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ338Bh",
"proper_name": null,
"body_type": "planet",
"orbit_index": 7,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.32,
"orbital_period_days": 1800,
"rotation_period_hours": 16.0,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "outer sentinel, distant"
},
{
"body_id": "GJ338B-oort",
"proper_name": null,
"body_type": "oort_cloud",
"orbit_index": 8,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
}
],
"stations": [
{
"station_id": "GJ338B-oort-S1",
"proper_name": "Horizon Station",
"orbits_body_id": "GJ338B-oort",
"station_type": "horizon",
"population": 0,
"economic_role": "transit",
"docking_class": "standard",
"has_gate_infrastructure": true,
"notes": "2 apertures: Sirius + Renaissance"
}
]
}
+280
View File
@@ -0,0 +1,280 @@
{
"system_id": "GJ 34A",
"proper_name": "Tanegashima",
"star_type": "K",
"spectral_class": "G0V SB",
"wiki_data": {
"habitable_count": 1,
"inhabited_count": 1,
"has_gas_giant": true,
"has_asteroid_belt": true,
"has_horizon_station": true,
"raw_bodies_line": null
},
"bodies": [
{
"body_id": "GJ34Ab",
"proper_name": null,
"body_type": "planet",
"orbit_index": 1,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.28,
"orbital_period_days": 20,
"rotation_period_hours": 480,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "inner scorched"
},
{
"body_id": "GJ34Ac",
"proper_name": null,
"body_type": "planet",
"orbit_index": 2,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.60,
"orbital_period_days": 80,
"rotation_period_hours": 1920,
"atmosphere": "toxic",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "Venus-analog"
},
{
"body_id": "GJ34Ad",
"proper_name": "Kanashiro",
"body_type": "planet",
"orbit_index": 3,
"parent_body_id": null,
"inhabited": true,
"population": 1800000000,
"mass_class": "terrestrial",
"surface_gravity": 0.92,
"orbital_period_days": 350,
"rotation_period_hours": 23.5,
"atmosphere": "breathable",
"biome_summary": "temperate",
"hydrosphere": "ocean",
"economic_role": "manufacturing",
"settlement_pattern": "urban_concentrated",
"industrial_corridor": null,
"notes": "guild-governed fabrication, cross-corridor demographics"
},
{
"body_id": "GJ34Ad-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ34Ad",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.07,
"orbital_period_days": 16.0,
"rotation_period_hours": 384,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Ae",
"proper_name": null,
"body_type": "planet",
"orbit_index": 4,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.50,
"orbital_period_days": 580,
"rotation_period_hours": 19.0,
"atmosphere": "thin",
"biome_summary": "arid",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Af",
"proper_name": null,
"body_type": "planet",
"orbit_index": 5,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.44,
"orbital_period_days": 900,
"rotation_period_hours": 17.0,
"atmosphere": "thin",
"biome_summary": "frozen",
"hydrosphere": "rivers",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "cold but not dead"
},
{
"body_id": "GJ34Ag",
"proper_name": null,
"body_type": "planet",
"orbit_index": 6,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.36,
"orbital_period_days": 1400,
"rotation_period_hours": 15.5,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34A-belt",
"proper_name": null,
"body_type": "asteroid_belt",
"orbit_index": 7,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Ah",
"proper_name": null,
"body_type": "gas_giant",
"orbit_index": 8,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "gas_giant",
"surface_gravity": null,
"orbital_period_days": 3000,
"rotation_period_hours": 10.0,
"atmosphere": "dense",
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Ah-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ34Ah",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.09,
"orbital_period_days": 4.0,
"rotation_period_hours": 96,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Ah-2",
"proper_name": null,
"body_type": "moon",
"orbit_index": 2,
"parent_body_id": "GJ34Ah",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.06,
"orbital_period_days": 10.0,
"rotation_period_hours": 240,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34A-oort",
"proper_name": null,
"body_type": "oort_cloud",
"orbit_index": 9,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
}
],
"stations": [
{
"station_id": "GJ34Ad-S1",
"proper_name": "Tsurumi Station",
"orbits_body_id": "GJ34Ad",
"station_type": "industrial",
"population": 30000000,
"economic_role": "manufacturing",
"docking_class": "major",
"has_gate_infrastructure": false,
"notes": "guild-certified exports, fabrication transit"
},
{
"station_id": "GJ34A-oort-S1",
"proper_name": "Horizon Station",
"orbits_body_id": "GJ34A-oort",
"station_type": "horizon",
"population": 0,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": true,
"notes": "3 apertures"
}
]
}
+260
View File
@@ -0,0 +1,260 @@
{
"system_id": "GJ 34B",
"proper_name": "Yongjin",
"star_type": "M",
"spectral_class": "K7 V",
"wiki_data": {
"habitable_count": 1,
"inhabited_count": 1,
"has_gas_giant": true,
"has_asteroid_belt": true,
"has_horizon_station": true,
"raw_bodies_line": null
},
"bodies": [
{
"body_id": "GJ34Bb",
"proper_name": null,
"body_type": "planet",
"orbit_index": 1,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.24,
"orbital_period_days": 15,
"rotation_period_hours": 360,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "inner scorched"
},
{
"body_id": "GJ34Bc",
"proper_name": "Shin Incheon",
"body_type": "planet",
"orbit_index": 2,
"parent_body_id": null,
"inhabited": true,
"population": 800000000,
"mass_class": "terrestrial",
"surface_gravity": 0.80,
"orbital_period_days": 200,
"rotation_period_hours": 22.0,
"atmosphere": "breathable",
"biome_summary": "temperate",
"hydrosphere": "ocean",
"economic_role": "service_mixed",
"settlement_pattern": "urban_concentrated",
"industrial_corridor": "Gate_Corp",
"notes": "transit coordination, marginal agriculture, Gate Corp regional office"
},
{
"body_id": "GJ34Bc-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ34Bc",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.05,
"orbital_period_days": 11.0,
"rotation_period_hours": 264,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Bd",
"proper_name": null,
"body_type": "planet",
"orbit_index": 3,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.48,
"orbital_period_days": 420,
"rotation_period_hours": 18.5,
"atmosphere": "thin",
"biome_summary": "arid",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Be",
"proper_name": null,
"body_type": "planet",
"orbit_index": 4,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.40,
"orbital_period_days": 750,
"rotation_period_hours": 16.0,
"atmosphere": "thin",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Bf",
"proper_name": null,
"body_type": "planet",
"orbit_index": 5,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "terrestrial",
"surface_gravity": 0.34,
"orbital_period_days": 1200,
"rotation_period_hours": 19.5,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": "outer dead"
},
{
"body_id": "GJ34B-belt",
"proper_name": null,
"body_type": "asteroid_belt",
"orbit_index": 6,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Bg",
"proper_name": null,
"body_type": "gas_giant",
"orbit_index": 7,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": "gas_giant",
"surface_gravity": null,
"orbital_period_days": 2500,
"rotation_period_hours": 12.0,
"atmosphere": "dense",
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Bg-1",
"proper_name": null,
"body_type": "moon",
"orbit_index": 1,
"parent_body_id": "GJ34Bg",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.08,
"orbital_period_days": 4.0,
"rotation_period_hours": 96,
"atmosphere": "none",
"biome_summary": "barren",
"hydrosphere": "none",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34Bg-2",
"proper_name": null,
"body_type": "moon",
"orbit_index": 2,
"parent_body_id": "GJ34Bg",
"inhabited": false,
"population": 0,
"mass_class": "dwarf",
"surface_gravity": 0.05,
"orbital_period_days": 9.5,
"rotation_period_hours": 228,
"atmosphere": "none",
"biome_summary": "frozen",
"hydrosphere": "ice",
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
},
{
"body_id": "GJ34B-oort",
"proper_name": null,
"body_type": "oort_cloud",
"orbit_index": 8,
"parent_body_id": null,
"inhabited": false,
"population": 0,
"mass_class": null,
"surface_gravity": null,
"orbital_period_days": null,
"rotation_period_hours": null,
"atmosphere": null,
"biome_summary": null,
"hydrosphere": null,
"economic_role": null,
"settlement_pattern": null,
"industrial_corridor": null,
"notes": ""
}
],
"stations": [
{
"station_id": "GJ34Bc-S1",
"proper_name": "Cheongmun Station",
"orbits_body_id": "GJ34Bc",
"station_type": "commercial",
"population": 12000000,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": false,
"notes": "customs, gate scheduling, freight documentation"
},
{
"station_id": "GJ34B-oort-S1",
"proper_name": "Horizon Station",
"orbits_body_id": "GJ34B-oort",
"station_type": "horizon",
"population": 0,
"economic_role": "transit",
"docking_class": "major",
"has_gate_infrastructure": true,
"notes": "4 apertures"
}
]
}
+42
View File
@@ -0,0 +1,42 @@
{
"system_id": "GJ 406",
"proper_name": "Wolf 359",
"star_type": "M",
"spectral_class": "M6",
"wiki_data": {
"habitable_count": 0,
"inhabited_count": 0,
"has_gas_giant": true,
"has_asteroid_belt": true,
"has_horizon_station": true,
"raw_bodies_line": null
},
"bodies": [
{"body_id": "GJ406b", "proper_name": null, "body_type": "planet", "orbit_index": 1, "parent_body_id": null, "inhabited": false, "population": 0, "mass_class": "terrestrial", "surface_gravity": 0.20, "orbital_period_days": 8, "rotation_period_hours": 192, "atmosphere": "none", "biome_summary": "barren", "hydrosphere": "none", "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": "inner scorched, tidally locked"},
{"body_id": "GJ406c", "proper_name": null, "body_type": "planet", "orbit_index": 2, "parent_body_id": null, "inhabited": false, "population": 0, "mass_class": "terrestrial", "surface_gravity": 0.32, "orbital_period_days": 25, "rotation_period_hours": 600, "atmosphere": "none", "biome_summary": "barren", "hydrosphere": "none", "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": ""},
{"body_id": "GJ406d", "proper_name": null, "body_type": "planet", "orbit_index": 3, "parent_body_id": null, "inhabited": false, "population": 0, "mass_class": "terrestrial", "surface_gravity": 0.28, "orbital_period_days": 60, "rotation_period_hours": 1440, "atmosphere": "none", "biome_summary": "barren", "hydrosphere": "none", "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": ""},
{"body_id": "GJ406e", "proper_name": null, "body_type": "planet", "orbit_index": 4, "parent_body_id": null, "inhabited": false, "population": 0, "mass_class": "terrestrial", "surface_gravity": 0.35, "orbital_period_days": 150, "rotation_period_hours": 14.0, "atmosphere": "thin", "biome_summary": "frozen", "hydrosphere": "ice", "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": ""},
{"body_id": "GJ406f", "proper_name": null, "body_type": "planet", "orbit_index": 5, "parent_body_id": null, "inhabited": false, "population": 0, "mass_class": "terrestrial", "surface_gravity": 0.30, "orbital_period_days": 400, "rotation_period_hours": 18.0, "atmosphere": "none", "biome_summary": "frozen", "hydrosphere": "none", "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": "outer dead"},
{"body_id": "GJ406-belt", "proper_name": null, "body_type": "asteroid_belt", "orbit_index": 6, "parent_body_id": null, "inhabited": false, "population": 0, "mass_class": null, "surface_gravity": null, "orbital_period_days": null, "rotation_period_hours": null, "atmosphere": null, "biome_summary": null, "hydrosphere": null, "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": "sparse"},
{"body_id": "GJ406g", "proper_name": null, "body_type": "gas_giant", "orbit_index": 7, "parent_body_id": null, "inhabited": false, "population": 0, "mass_class": "gas_giant", "surface_gravity": null, "orbital_period_days": 1200, "rotation_period_hours": 13.0, "atmosphere": "dense", "biome_summary": null, "hydrosphere": null, "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": ""},
{"body_id": "GJ406g-1", "proper_name": null, "body_type": "moon", "orbit_index": 1, "parent_body_id": "GJ406g", "inhabited": false, "population": 0, "mass_class": "dwarf", "surface_gravity": 0.06, "orbital_period_days": 3.5, "rotation_period_hours": 84, "atmosphere": "none", "biome_summary": "barren", "hydrosphere": "none", "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": ""},
{"body_id": "GJ406-oort", "proper_name": null, "body_type": "oort_cloud", "orbit_index": 8, "parent_body_id": null, "inhabited": false, "population": 0, "mass_class": null, "surface_gravity": null, "orbital_period_days": null, "rotation_period_hours": null, "atmosphere": null, "biome_summary": null, "hydrosphere": null, "economic_role": null, "settlement_pattern": null, "industrial_corridor": null, "notes": ""}
],
"stations": [
{"station_id": "GJ406c-S1", "proper_name": "Bondstore", "orbits_body_id": "GJ406c", "station_type": "commercial", "population": 8000000, "economic_role": "transit", "docking_class": "major", "has_gate_infrastructure": false, "notes": "PL-1, bonded freight warehouse"},
{"station_id": "GJ406c-S2", "proper_name": "Coldstore", "orbits_body_id": "GJ406c", "station_type": "commercial", "population": 4000000, "economic_role": "transit", "docking_class": "standard", "has_gate_infrastructure": false, "notes": "PL-2, perishable cargo"},
{"station_id": "GJ406d-S1", "proper_name": "Carvel", "orbits_body_id": "GJ406d", "station_type": "commercial", "population": 38000000, "economic_role": "service_mixed", "docking_class": "major", "has_gate_infrastructure": false, "notes": "PR-1, oldest, Chamber of Delegates"},
{"station_id": "GJ406d-S2", "proper_name": "Corwall", "orbits_body_id": "GJ406d", "station_type": "commercial", "population": 34000000, "economic_role": "service_mixed", "docking_class": "major", "has_gate_infrastructure": false, "notes": "PR-2, overflow residential"},
{"station_id": "GJ406d-S3", "proper_name": "The Levels", "orbits_body_id": "GJ406d", "station_type": "commercial", "population": 28000000, "economic_role": "service_mixed", "docking_class": "major", "has_gate_infrastructure": false, "notes": "PR-3, vertical stack, main market, hydroponics"},
{"station_id": "GJ406e-S1", "proper_name": "Caldren", "orbits_body_id": "GJ406e", "station_type": "commercial", "population": 22000000, "economic_role": "service_mixed", "docking_class": "standard", "has_gate_infrastructure": false, "notes": "PR-4, diverse, Gate Corp families"},
{"station_id": "GJ406e-S2", "proper_name": "Aldermoor", "orbits_body_id": "GJ406e", "station_type": "commercial", "population": 6000000, "economic_role": "service_mixed", "docking_class": "restricted", "has_gate_infrastructure": false, "notes": "PA-1, Assembly regional office"},
{"station_id": "GJ406e-S3", "proper_name": "Cresside", "orbits_body_id": "GJ406e", "station_type": "industrial", "population": 5000000, "economic_role": "manufacturing", "docking_class": "restricted", "has_gate_infrastructure": false, "notes": "PGC-1, Gate Corp Class-2, dry-dock"},
{"station_id": "GJ406f-S1", "proper_name": "Midstation", "orbits_body_id": "GJ406f", "station_type": "commercial", "population": 19000000, "economic_role": "service_mixed", "docking_class": "standard", "has_gate_infrastructure": false, "notes": "PR-5, medical complex"},
{"station_id": "GJ406f-S2", "proper_name": "Bevington", "orbits_body_id": "GJ406f", "station_type": "commercial", "population": 17000000, "economic_role": "service_mixed", "docking_class": "standard", "has_gate_infrastructure": false, "notes": "PR-6, better planned"},
{"station_id": "GJ406f-S3", "proper_name": "Bretton", "orbits_body_id": "GJ406f", "station_type": "commercial", "population": 9000000, "economic_role": "service_mixed", "docking_class": "major", "has_gate_infrastructure": false, "notes": "PC-1, commodity exchange"},
{"station_id": "GJ406f-S4", "proper_name": "Waycroft", "orbits_body_id": "GJ406f", "station_type": "commercial", "population": 12000000, "economic_role": "service_mixed", "docking_class": "standard", "has_gate_infrastructure": false, "notes": "PR-7, newest, Gate Corp rotation"},
{"station_id": "GJ406g-S1", "proper_name": "GJ406g-S1", "orbits_body_id": "GJ406g", "station_type": "industrial", "population": 3000000, "economic_role": "extraction", "docking_class": "standard", "has_gate_infrastructure": false, "notes": "atmospheric extraction, platform fuel/consumables"},
{"station_id": "GJ406-oort-S1", "proper_name": "Horizon Station", "orbits_body_id": "GJ406-oort", "station_type": "horizon", "population": 0, "economic_role": "transit", "docking_class": "major", "has_gate_infrastructure": true, "notes": "5 apertures"},
{"station_id": "GJ406-oort-S2", "proper_name": "Lalo Watch", "orbits_body_id": "GJ406-oort", "station_type": "research", "population": 500, "economic_role": "research", "docking_class": "restricted", "has_gate_infrastructure": false, "notes": "outer monitoring post"}
]
}
+122
View File
@@ -0,0 +1,122 @@
# Planetary Terrain Generation — Design Reference
**Status:** Research complete, spike proposed
**Date:** 2026-03-25
**Source:** Tyre feasibility assessment + PO direction
## Approach
Tile-first generation using tectonic simulation. The pipeline outputs a **tile grid
with terrain type per cell**, not a heightmap that needs post-processing. The
heightmap is an intermediate artifact inside the simulation; the deliverable is
classified terrain tiles at the resolution the game consumes.
This follows the PerfectWorld (Civ 4) philosophy: each cell IS a game tile with
a terrain type, produced by geological process rather than noise functions.
## Pipeline Architecture
```
Input: PlanetProfile (from wiki/LocationProfile)
→ planet_type, tectonic_activity, atmosphere, age, gravity, water_coverage
Stage 1: Base terrain (tectonic simulation)
→ IF tectonic_activity > 0: run PlaTec simulation
Parameters: plate_count (3-30), simulation_steps (50-500),
sea_level, folding_ratio, erosion_period
→ IF dead/cratered: Poisson-disk crater field + fractal base
→ IF volcanic: hotspot placement + shield volcano profiles
Stage 2: Erosion passes (parameterized by planet type)
→ Hydraulic erosion (rain worlds, Earth-like)
→ Thermal erosion (all rocky bodies)
→ Glacial erosion (cold worlds, optional)
→ Aeolian erosion (thin atmosphere + wind, optional)
→ Passes = f(planet_age, atmosphere_density)
Stage 3: Climate / biome (habitable worlds only)
→ Geostrophic wind model (latitude bands + Coriolis)
→ Moisture transport from bodies of water
→ Temperature from latitude + altitude + stellar distance
→ Biome classification (Holdridge or simplified Koppen)
Stage 4: Hydrology (worlds with liquid water)
→ Flow accumulation from elevation grid
→ River network extraction
→ Lake filling at local minima
→ Coastline extraction from sea_level threshold
Stage 5: Tile classification
→ Each cell gets a terrain type: ocean, coast, shelf, plains, hills,
mountains, desert, tundra, forest, jungle, ice, volcanic, crater, etc.
→ This IS the output — a tile grid the game reads directly
Stage 6: Export
→ tiles.json or tiles.bin (terrain type per cell, game-consumable)
→ heightmap.png (16-bit grayscale, for world map viewer)
→ rivers.png (binary overlay)
→ coastlines.png (binary overlay)
→ biome_zones.json (polygon regions + biome type)
→ settlements.json (candidate settlement points)
```
## Planet Type Profiles
### Tectonic worlds (atmosphere, liquid water possible)
| Planet Type | Plates | Activity | Erosion Mix | Result |
|---|---|---|---|---|
| Earth-like | 8-15 | High | Hydraulic + thermal | Continents, mountain chains, river basins |
| Young volcanic | 3-6 | Very high, short sim | Minimal erosion | Sharp rifts, volcanic plains, calderas |
| Ice world | 5-10 | Moderate | Glacial dominant | U-valleys, fjords, ice caps, tundra |
| Desert/wind | 5-10 | Low | Aeolian dominant | Eroded plateaus, sand seas, mesas |
| Ocean world | 5-10 | High | Hydraulic + volcanic | Archipelagos, mid-ocean ridges, island chains |
| Tidally locked | 5-10 | Moderate | Hydraulic on day side | Twilight habitable band, ice cap dark side, scorched light side |
### Non-tectonic bodies (no/thin atmosphere, no liquid surface water)
| Body Type | Generation Method | Tile Types | Examples |
|---|---|---|---|
| Cratered lunar | Poisson-disk impact craters + fractal base elevation, crater size distribution follows power law, regolith plains between craters | crater_floor, crater_rim, crater_wall, regolith_plain, highland, basin | Luna, Callisto, Ganymede, most moons |
| Volcanic dead | Lava flow simulation from vent points, shield volcano height profiles, collapsed caldera basins, mare (flood basalt plains) | mare_plain, shield_slope, caldera_floor, caldera_rim, lava_channel, highland | Mercury-analog, dead volcanic moons |
| Active volcanic | Tidal heating driven, continuous resurfacing, minimal cratering, sulfur/silicate deposits | lava_field, active_vent, sulfur_deposit, cooling_crust, plume_deposit | Io-analog |
| Aeolian sculpted | Prevailing wind direction + erosion passes on fractal base, dune field formation, yardang carving, ventifact plains | dune_field, yardang_ridge, ventifact_plain, dust_basin, mesa, canyon | Mars-analog, thin-atmosphere worlds |
| Ice shell | Fractal base with crack propagation (tidal stress), cryovolcanic vent placement, tiger stripe lineae, smooth refrozen plains | ice_plain, crack_ridge, cryovent, refrozen_smooth, chaotic_terrain, crater (sparse) | Europa, Enceladus-analog |
| Barren rock | Minimal processing — fractal base + sparse cratering + thermal erosion only, no atmosphere effects | rock_plain, ridge, crater, scarp, dust_plain | Airless small bodies, dead worlds |
### Gas giants and belts (no surface tiles)
Gas giants and asteroid belts do not generate terrain tiles. They exist as
orbital entries in the atlas with atmospheric/compositional metadata only.
## Key Libraries
- **pyplatec** — Python bindings for PlaTec C++ tectonic simulator
[Mindwerks/pyplatec](https://github.com/Mindwerks/pyplatec)
- **WorldEngine** — erosion, rain shadow, Holdridge biome model
[Mindwerks/worldengine](https://github.com/Mindwerks/worldengine)
- **Totestra** — PerfectWorld2 fork with parameterized controls
[samboy/Totestra-mapscript](https://github.com/samboy/Totestra-mapscript)
## Performance
- PlaTec at 1024x512: ~2-10 seconds per planet
- Erosion passes: ~5-30 seconds
- Climate + hydrology: <2 seconds
- Total per planet: ~10-45 seconds
- 1000 planets: 3-12 hours (offline batch)
## Proposed Spike
Stand up pyplatec, generate 5 tile grids with different planet profiles
(Earth-like, volcanic, dead, ice, desert), render as preview images,
evaluate geological variety. Half a day.
## References
- PerfectWorld 1+2 (CivFanatics, Python) — midpoint displacement + plate boundary elevation
- PerfectWorld 3 (Civ5, Lua) — layered Perlin, dropped tectonics, kept climate
- PlaTec thesis: Lauri Viitanen "Physically Based Terrain Generation" (2012)
- SimpleTectonics: clustered convection approach (weigert/SimpleTectonics)
- World Orogen (orogen.studio) — browser-based, strong algorithm design
- Nixis (MightyBOBcnc/nixis) — spherical planet generation