Compare commits
87
Commits
@@ -0,0 +1,39 @@
|
||||
# Ticket CLI
|
||||
|
||||
**Use `tooling/db/ticket`** for all ticket operations. Never use `sqlite3` directly (crashes in Claude Code).
|
||||
|
||||
## Positional arguments — not flags
|
||||
|
||||
`ticket create` uses **positional** arguments for `type` and `title`. There is no `--title` flag.
|
||||
|
||||
```bash
|
||||
# CORRECT — type and title are positional
|
||||
tooling/db/ticket create story "My ticket title" --description "Details here" --team server --priority low
|
||||
|
||||
# WRONG — --title does not exist, gets absorbed into the title string
|
||||
tooling/db/ticket create story --title "My ticket title" --description "Details here"
|
||||
# Creates a ticket titled: "--title My ticket title"
|
||||
```
|
||||
|
||||
## Full usage
|
||||
|
||||
```bash
|
||||
# Create
|
||||
tooling/db/ticket create <type> <title> [--parent N] [--priority P] [--decision D] [--team T] [--description TEXT]
|
||||
# type: initiative | epic | story | task | bug
|
||||
# priority: critical | high | medium | low
|
||||
|
||||
# Read
|
||||
tooling/db/ticket show <id>
|
||||
tooling/db/ticket list [--sprint N] [--team T] [--status S]
|
||||
|
||||
# Update
|
||||
tooling/db/ticket assign <id> <agent>
|
||||
```
|
||||
|
||||
## Key rules
|
||||
|
||||
- **Type and title are positional** — everything else is a flag
|
||||
- **Quote the title** — always wrap in double quotes to handle spaces
|
||||
- **Never use `sqlite3` CLI** — it crashes (std::bad_alloc). Use `tooling/db/sqlite-query` or `tooling/db/sqlite-exec` for raw SQL
|
||||
- **Verify after create** — run `tooling/db/ticket show <id>` to confirm the title is clean
|
||||
@@ -66,8 +66,22 @@ works on screen before invoking `/pr-push`. If they haven't, ask:
|
||||
|
||||
```bash
|
||||
git status
|
||||
git diff --stat
|
||||
```
|
||||
|
||||
**Run both commands from the repo root** (`git rev-parse --show-toplevel`).
|
||||
Running from a subdirectory can cause paths to not resolve, hiding real
|
||||
changes — Sprint 30 proved this when `git diff HEAD -- server/src/bin/atlas.rs`
|
||||
returned 0 lines from the wrong CWD, masking uncommitted agent work.
|
||||
|
||||
**CRITICAL: Do not trust "already done" claims without checking git state.**
|
||||
If agents report that work was "already implemented in a prior commit," verify
|
||||
by checking `git status` and `git diff --stat` first. Grepping source files
|
||||
only proves the code exists on disk — it does NOT prove the code is committed.
|
||||
Uncommitted working-tree changes look identical to committed code when you
|
||||
read files. Only `git status` distinguishes "already shipped" from "just
|
||||
written by a teammate."
|
||||
|
||||
If there are uncommitted changes (staged or unstaged), run the **commit skill**
|
||||
first. Use the `/git-commit` skill to group changes into logical commits with
|
||||
proper conventional commit messages. Wait for commit to complete before
|
||||
|
||||
@@ -6,16 +6,46 @@ Format based on [Keep a Changelog](https://keepachangelog.com/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [v0.1.30] — 2026-04-05
|
||||
|
||||
### Added
|
||||
- `corridor-status` subcommand for atlas CLI — shows remaining unfinished systems grouped by geographic sector and hop distance (#744)
|
||||
- Star map insert module — concentric hop-ring view of 301 systems, sector-colored, click-to-select with info panel, pan/zoom (#674)
|
||||
- BoneAttachment3D overhead anchor above Head bone for future floating UI elements (#712)
|
||||
- CharacterVisualDescriptor wired into startup IPC and snapshot restore for save/load persistence (#718)
|
||||
- Display-only hair highlight swatch (auto-derived from primary tint) in character creation (#719)
|
||||
- Asset manifest fully populated (11 body types, 14 hair, 4 heads, 4 eyebrows, 8 clothing) with regeneration script (#720)
|
||||
- Sprint 30 acceptance test suite (27 tests across all 5 tickets)
|
||||
|
||||
### Fixed
|
||||
- `habitable_planet_count` filter now accepts both "breathable" and "standard" atmosphere values — previously all committed systems reported 0 habitable planets (#762). Systems committed before this fix may have stale `habitable_planet_count = 0`; re-commit to update.
|
||||
- `corridor-status` uses LEFT JOIN so systems without gate records are included in counts
|
||||
- `generate_body_matrix` now emits `atmosphere: "standard"` (was "breathable") to match committed-system conventions
|
||||
- DirAccess asset scanning replaced with manifest JSON — fixes character creation in exported PCK builds (#720)
|
||||
- Star map set_insert_active() no longer auto-shows the modal panel (#674)
|
||||
- Star map insert state propagation wired into main.gd (#674)
|
||||
|
||||
## [v0.1.29] — 2026-04-03
|
||||
|
||||
### Added
|
||||
- Complete body catalogs for all 301 star systems — every system now has proper_name, bodies, and stations in systems.db
|
||||
- 24 new system proposals authored across east_reach (6) and deep_frontier (18) corridors
|
||||
- Bulk-synced 233 proposals into systems.db that were missing from prior sessions
|
||||
- Named all remaining unsettled systems with GJ designations (301/301 complete)
|
||||
- Silence topics and narrative hooks for Deep Frontier corridor systems
|
||||
- Named 5 unnamed stations/bodies: Morwenna, Havelmark, Portela, Grindvik, Sturen Platforms
|
||||
|
||||
### Fixed
|
||||
- 7 duplicate body IDs in proposals (planet and gas giant sharing same letter suffix)
|
||||
- star_type/spectral_class mismatches corrected across 36 atlas proposals
|
||||
- GJ1002 copy-paste planets differentiated with unique orbital parameters
|
||||
- GJ880 malformed spectral_class and Leirvik station population
|
||||
- GJ3325 malformed spectral_class
|
||||
- 40 proposals brought to minimum planet count and given asteroid belts
|
||||
- atlas-verify now allows named uninhabited bodies (lore names)
|
||||
- GJ-111 spectral_class corrected to F5/F6V (matching wiki)
|
||||
- GJ-3943 spectral_class corrected to K5V+M3V (valid binary notation)
|
||||
- GJ-903 wiki page completed (was empty stub)
|
||||
- Deleted superseded tooling/atlas-helpers.sh
|
||||
|
||||
## [v0.1.28] — 2026-03-23
|
||||
|
||||
@@ -84,6 +84,16 @@ The ticketing database (`settledreach.db`) lives in the **parent directory** sha
|
||||
- Three test tiers: (1) Live server — highest fidelity, (2) MessagePack replay via `Protocol.decode_snapshot()` — for unreachable rooms, (3) TestHarness mock — for UI-only tests where fog data doesn't matter.
|
||||
- `make fixtures-gauntlet` regenerates real server snapshot fixtures from the Gauntlet world.
|
||||
|
||||
### GDScript conventions
|
||||
|
||||
**Autoload parse-order rule:** Autoload scripts (`client/scripts/autoloads/`) compile before global `class_name` scripts are registered. Referencing a `class_name` type directly in an autoload causes a parse-time "not declared" error. Pattern:
|
||||
- Declare fields untyped: `var my_field = null` (comment the intended type)
|
||||
- Do **not** reference `class_name` types at the top level or in `_ready()` of autoloads
|
||||
- In method bodies called at runtime (e.g. `apply_snapshot`), use `load()` inline — by then the script is cached and `load()` returns the cached resource without reloading: `var CVD := load("res://scripts/rendering/character_visual_descriptor.gd")`
|
||||
- Do **not** cache the `load()` result in `_ready()` — `_ready()` fires during autoload init, before the target script is in the resource cache, causing an actual file reload that breaks self-references in scripts using their own `class_name`
|
||||
|
||||
`game_state.gd` (`character_visual_descriptor` field) and `sim_bridge.gd` (`harness` field) follow this pattern.
|
||||
|
||||
### File conventions
|
||||
- Decisions: domain files in `decisions/` (see `decisions/README.md` for index)
|
||||
- Decision IDs: `D-NNN` (confirmed), `Q-NNN` (open questions), `R-NNN` (rejected)
|
||||
|
||||
@@ -7,11 +7,12 @@ GODOT := $(shell command -v godot4 2>/dev/null || command -v godot 2>/dev/null)
|
||||
pre-pr pre-pr-lint pre-pr-build pre-pr-test pre-pr-validate pre-pr-fixtures \
|
||||
pre-pr-server pre-pr-client pre-pr-content \
|
||||
fixtures-client fixtures-gauntlet golden-diff golden-update \
|
||||
checklist-validate checklist-generate \
|
||||
checklist-validate checklist-generate check-star-map \
|
||||
build-sr-voice run-sr-voice test-voice-mock test-voice-real \
|
||||
perf-baseline debug-schedule \
|
||||
test-ipc-fixtures test-ipc-protocol test-ipc-integration test-ipc-benchmark \
|
||||
screenshot visual-movie test-visual visual-update
|
||||
screenshot visual-movie test-visual visual-update \
|
||||
manifest
|
||||
|
||||
# --- Configuration ---
|
||||
|
||||
@@ -62,6 +63,7 @@ help:
|
||||
@echo " make test-visual Run visual golden regression tests"
|
||||
@echo " make visual-update Regenerate visual goldens and stage for commit"
|
||||
@echo ""
|
||||
@echo " make manifest Regenerate assets/characters/manifest.json from asset dirs (#720)"
|
||||
@echo " make pre-pr Run all pre-PR checks (lint, build, test, validate, fixtures)"
|
||||
@echo " make pre-pr-server Server-scoped pre-PR (lint, build, test, fixtures)"
|
||||
@echo " make pre-pr-client Client-scoped pre-PR (lint, build, test)"
|
||||
@@ -345,6 +347,9 @@ checklist-validate:
|
||||
checklist-generate:
|
||||
@tooling/validate-checklist
|
||||
|
||||
check-star-map:
|
||||
@python3 tooling/generate-star-map-data.py --check
|
||||
|
||||
perf-baseline:
|
||||
@tooling/perf-baseline
|
||||
|
||||
@@ -399,6 +404,12 @@ test-voice-real:
|
||||
cd server && cargo test --test voice_pipeline -- --nocapture
|
||||
@echo "Results: .tmp/voice-test/results.txt"
|
||||
|
||||
# --- Asset manifest ---
|
||||
|
||||
manifest:
|
||||
@tooling/generate-character-manifest
|
||||
@echo "Manifest regenerated — commit client/assets/characters/manifest.json if changed."
|
||||
|
||||
# --- Clean ---
|
||||
|
||||
clean:
|
||||
|
||||
@@ -1,13 +1,75 @@
|
||||
{
|
||||
"body_types": ["average_m", "average_f", "muscular_m", "muscular_f", "teen_m", "teen_f"],
|
||||
"heads": [],
|
||||
"hair": ["bob", "buns", "buzzed", "long", "ponytail", "bald"],
|
||||
"facial_hair": ["beard", "moustache", "mutton_chops"],
|
||||
"eyebrows": [],
|
||||
"body_types": [
|
||||
"average_f",
|
||||
"average_m",
|
||||
"child",
|
||||
"heavy_f",
|
||||
"heavy_m",
|
||||
"muscular_f",
|
||||
"muscular_m",
|
||||
"teen_f",
|
||||
"teen_m",
|
||||
"thin_f",
|
||||
"thin_m"
|
||||
],
|
||||
"heads": [
|
||||
"head_001",
|
||||
"head_002",
|
||||
"head_003",
|
||||
"head_004"
|
||||
],
|
||||
"hair": [
|
||||
"bald",
|
||||
"balding",
|
||||
"bob",
|
||||
"buns",
|
||||
"buzzed",
|
||||
"buzzed_female",
|
||||
"dreads",
|
||||
"long",
|
||||
"long_dreads",
|
||||
"mohawk",
|
||||
"ponytail",
|
||||
"ponytail_f",
|
||||
"simple_parted",
|
||||
"slick_back"
|
||||
],
|
||||
"facial_hair": [
|
||||
"beard",
|
||||
"moustache",
|
||||
"mutton_chops"
|
||||
],
|
||||
"eyebrows": [
|
||||
"female",
|
||||
"regular",
|
||||
"teen",
|
||||
"thick"
|
||||
],
|
||||
"clothing": {
|
||||
"peasant_tunic": {"slot": "torso"},
|
||||
"peasant_pants": {"slot": "legs"},
|
||||
"peasant_shoes": {"slot": "feet"}
|
||||
"boots_work": {
|
||||
"slot": "feet"
|
||||
},
|
||||
"coveralls_basic": {
|
||||
"slot": "torso"
|
||||
},
|
||||
"jacket_utility": {
|
||||
"slot": "torso"
|
||||
},
|
||||
"pants_cargo": {
|
||||
"slot": "legs"
|
||||
},
|
||||
"peasant_pants": {
|
||||
"slot": "legs"
|
||||
},
|
||||
"peasant_shoes": {
|
||||
"slot": "feet"
|
||||
},
|
||||
"peasant_tunic": {
|
||||
"slot": "torso"
|
||||
},
|
||||
"shirt_henley": {
|
||||
"slot": "torso"
|
||||
}
|
||||
},
|
||||
"accessories": []
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -100,7 +100,8 @@ var character_archetype: String = "detective"
|
||||
# #705: Character visual descriptor — set by character_creation.gd on confirmation.
|
||||
# Passed to EntityRenderer for the player entity's CharacterVisual on game start.
|
||||
# Null when no custom appearance has been selected (fallback: default descriptor).
|
||||
var character_visual_descriptor: CharacterVisualDescriptor = null
|
||||
# Type is CharacterVisualDescriptor — untyped to avoid autoload parse-order issue.
|
||||
var character_visual_descriptor = null
|
||||
|
||||
# #646: AI-Enhanced Dialogue enabled state (D-138).
|
||||
# Runtime toggle — true means the LLM re-voicing pipeline should run (server-side).
|
||||
@@ -362,6 +363,19 @@ func apply_snapshot(snapshot: Dictionary) -> void:
|
||||
else:
|
||||
settings_response = null
|
||||
|
||||
# #718: character_visual_descriptor — restored from server snapshot on save/load.
|
||||
# Server persists the descriptor and includes it in ObserverSnapshot after load.
|
||||
# Only update when field is present (null means no change).
|
||||
if snapshot.has("character_visual_descriptor") and snapshot.character_visual_descriptor is Dictionary:
|
||||
# load() returns a cached script — safe to call per-tick once the resource is in cache.
|
||||
# Cannot use CharacterVisualDescriptor directly: autoloads compile before global class_names
|
||||
# are registered, causing a parse-time "not declared" error.
|
||||
var CVD := load("res://scripts/rendering/character_visual_descriptor.gd")
|
||||
if CVD != null:
|
||||
var restored = CVD.from_dict(snapshot.character_visual_descriptor)
|
||||
if restored != null:
|
||||
character_visual_descriptor = restored
|
||||
|
||||
# v14: player_knowledge (#264, D-041) — partial KG dump for journal panel.
|
||||
# Only update when field is present (null means no change, server sends when KG changes).
|
||||
if snapshot.has("player_knowledge") and snapshot.player_knowledge is Dictionary:
|
||||
|
||||
@@ -5,7 +5,8 @@ enum ConnectionState { DISCONNECTED, CONNECTING, HANDSHAKING, CONNECTED, ERROR }
|
||||
|
||||
var state: ConnectionState = ConnectionState.DISCONNECTED
|
||||
var test_mode: bool = OS.get_environment("SR_LIVE") != "1" # SR_LIVE=1 connects to real server
|
||||
var harness: TestHarness = null # Test simulation (D-020: game logic lives outside production client)
|
||||
# Type is TestHarness — untyped to avoid autoload parse-order issue.
|
||||
var harness = null # Test simulation (D-020: game logic lives outside production client)
|
||||
var _last_snapshot: Variant = null # Most recent decoded snapshot (consumed by poll_snapshot)
|
||||
var _outbound_buffer: Array[Dictionary] = [] # Raw inputs awaiting batch encode + transport
|
||||
|
||||
@@ -33,7 +34,7 @@ signal handshake_failed(reason: String)
|
||||
|
||||
func _ready() -> void:
|
||||
if test_mode:
|
||||
harness = TestHarness.new()
|
||||
harness = load("res://scripts/protocol/test_harness.gd").new()
|
||||
print("SimBridge: Running in test mode (dynamic snapshot)")
|
||||
|
||||
|
||||
@@ -231,9 +232,9 @@ func _process(delta: float) -> void:
|
||||
_set_state(ConnectionState.ERROR)
|
||||
return
|
||||
|
||||
# Send startup message with world_seed (#175, D-010/D-029).
|
||||
# Send startup message with world_seed and character appearance (#175, D-010/D-029, #718).
|
||||
# Server blocks waiting for this before entering the tick loop.
|
||||
var startup_bytes := Protocol.encode_startup_message(GameState.world_seed, GameState.character_archetype)
|
||||
var startup_bytes := Protocol.encode_startup_message(GameState.world_seed, GameState.character_archetype, GameState.character_visual_descriptor)
|
||||
if startup_bytes.size() > 0:
|
||||
var send_err := _bridge.send_message(startup_bytes)
|
||||
if send_err != OK:
|
||||
|
||||
@@ -51,4 +51,4 @@ func reload() -> void:
|
||||
## Returns flat Dictionary with dotted keys: { "section.sub.key": "value" }.
|
||||
## Delegates to YamlParser.parse_flat() (#560).
|
||||
static func _parse_yaml(text: String) -> Dictionary:
|
||||
return YamlParser.parse_flat(text)
|
||||
return load("res://scripts/util/yaml_parser.gd").parse_flat(text)
|
||||
|
||||
@@ -24,6 +24,7 @@ extends Node2D
|
||||
@onready var loading_screen = $ModalLayer/LoadingScreen # #257: blocking overlay during load
|
||||
@onready var debug_console = $ModalLayer/DebugConsole # #581: tilde debug console
|
||||
@onready var news_ticker = $UILayer/NewsTicker # #592: scrolling headline bar (D-049 z-7)
|
||||
@onready var star_map = $UILayer/HUD/StarMap # #674: star map insert module (hop-ring view)
|
||||
|
||||
var _last_dialogue_npc_id: int = -1 # D-064: NPC entity_id for WalkAway input
|
||||
var _last_dialogue_npc_name: String = "" # #535: NPC name for dialogue_response attribution
|
||||
@@ -254,6 +255,8 @@ func _propagate_insert_state() -> void:
|
||||
interaction_prompt.set_insert_active(insert_state)
|
||||
if minimap:
|
||||
minimap.set_insert_active(insert_state)
|
||||
if star_map:
|
||||
star_map.set_insert_active(insert_state)
|
||||
|
||||
|
||||
# D-057: Update interaction list from game state.
|
||||
|
||||
@@ -494,11 +494,12 @@ static func _decode_enum_variant(raw) -> Dictionary:
|
||||
|
||||
# -- Encode: GDScript types → bytes to server ----------------------------------
|
||||
|
||||
## Encode a StartupMessage to MessagePack bytes (#175, #588).
|
||||
## Encode a StartupMessage to MessagePack bytes (#175, #588, #718).
|
||||
## Sent by the client immediately after handshake validation.
|
||||
## Server reads this to initialize SimRng (D-010, D-029) and select monologue pool (D-032).
|
||||
## character_archetype: "detective" → "Detective", "smuggler" → "Smuggler" (server enum variant).
|
||||
static func encode_startup_message(world_seed: int, character_archetype: String = "detective") -> PackedByteArray:
|
||||
## character_visual: optional CharacterVisualDescriptor — included as "character_visual_descriptor" dict.
|
||||
static func encode_startup_message(world_seed: int, character_archetype: String = "detective", character_visual: Variant = null) -> PackedByteArray:
|
||||
# Map client lowercase archetype string to server PascalCase enum variant.
|
||||
# Explicit match prevents unknown strings silently reaching the server as
|
||||
# garbage enum values — fail loudly and fall back to "Detective".
|
||||
@@ -515,6 +516,8 @@ static func encode_startup_message(world_seed: int, character_archetype: String
|
||||
"world_seed": world_seed,
|
||||
"character_archetype": archetype_variant,
|
||||
}
|
||||
if character_visual != null and character_visual.has_method("to_dict"):
|
||||
msg["character_visual_descriptor"] = character_visual.to_dict()
|
||||
var result = Messagepack.encode(msg)
|
||||
if result.status != null:
|
||||
push_error("Protocol: startup message encode failed: %s" % result.status)
|
||||
|
||||
@@ -23,6 +23,7 @@ extends Node3D
|
||||
## get_clothing_node_count() — number of clothing MeshInstance3D nodes
|
||||
## get_accessory_node_count() — number of accessory BoneAttachment3D nodes
|
||||
## get_skin_tone_texture_name(index) — skin tone texture filename key for index
|
||||
## get_overhead_anchor() — Marker3D above Head bone for floating UI (#712)
|
||||
##
|
||||
## D-159 (11 body types), D-160 (18 segments), D-161 (head separate),
|
||||
## D-162 (clothing pre-fitted), D-163 (heads via BoneAttachment3D), D-164 (skeleton fork)
|
||||
@@ -101,6 +102,8 @@ var _clothing_meshes: Array[MeshInstance3D] = []
|
||||
var _bone_attachments: Array[BoneAttachment3D] = []
|
||||
var _outline_nodes: Array[MeshInstance3D] = []
|
||||
var _accessory_attachments: Array[BoneAttachment3D] = []
|
||||
var _overhead_anchor: Marker3D = null
|
||||
var _overhead_attachment: BoneAttachment3D = null
|
||||
|
||||
# Inspectable state for tests
|
||||
var _active_torso_variant: String = "full"
|
||||
@@ -218,6 +221,13 @@ func get_skin_tone_texture_name(index: int) -> String:
|
||||
return SKIN_TONES[clampi(index, 0, SKIN_TONES.size() - 1)]["tex"]
|
||||
|
||||
|
||||
## Return the overhead anchor Marker3D (#712). Null if skeleton not loaded.
|
||||
## Anchor point for floating UI elements: status indicators, thought bubbles,
|
||||
## alert markers, speech icons. Positioned ~0.3m above the Head bone.
|
||||
func get_overhead_anchor() -> Marker3D:
|
||||
return _overhead_anchor
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Internal — teardown
|
||||
# =============================================================================
|
||||
@@ -234,6 +244,13 @@ func _clear() -> void:
|
||||
node.free()
|
||||
_outline_nodes.clear()
|
||||
|
||||
# #712: free overhead anchor before general bone attachments
|
||||
if is_instance_valid(_overhead_attachment) and _overhead_attachment.get_parent():
|
||||
_overhead_attachment.get_parent().remove_child(_overhead_attachment)
|
||||
_overhead_attachment.free()
|
||||
_overhead_attachment = null
|
||||
_overhead_anchor = null
|
||||
|
||||
for att in _bone_attachments:
|
||||
if is_instance_valid(att) and att.get_parent():
|
||||
att.get_parent().remove_child(att)
|
||||
@@ -291,6 +308,7 @@ func _load_skeleton() -> void:
|
||||
for m in armature_meshes:
|
||||
print(" armature mesh: ", m.name, " visible=", m.visible)
|
||||
_validate_slot_bones()
|
||||
_create_overhead_anchor()
|
||||
|
||||
|
||||
## Warn on any SLOT_TO_BONE entry that doesn't exist in the loaded skeleton.
|
||||
@@ -302,6 +320,26 @@ func _validate_slot_bones() -> void:
|
||||
push_warning("CharacterVisual: SLOT_TO_BONE['%s'] = '%s' — bone not found in skeleton" % [slot, bone_name])
|
||||
|
||||
|
||||
## #712: Create a Marker3D anchored ~0.3m above the Head bone via BoneAttachment3D.
|
||||
## Anchor point for floating UI elements (status indicators, thought bubbles, etc.).
|
||||
func _create_overhead_anchor() -> void:
|
||||
if _skeleton == null:
|
||||
return
|
||||
var bone_idx := _skeleton.find_bone("Head")
|
||||
if bone_idx == -1:
|
||||
push_warning("CharacterVisual: Head bone not found — overhead anchor not created")
|
||||
return
|
||||
_overhead_attachment = BoneAttachment3D.new()
|
||||
_overhead_attachment.bone_name = "Head"
|
||||
_overhead_attachment.name = "OverheadAttachment"
|
||||
_skeleton.add_child(_overhead_attachment)
|
||||
|
||||
_overhead_anchor = Marker3D.new()
|
||||
_overhead_anchor.name = "OverheadAnchor"
|
||||
_overhead_anchor.position = Vector3(0, 0.3, 0)
|
||||
_overhead_attachment.add_child(_overhead_anchor)
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Internal — body segments (D-160)
|
||||
# =============================================================================
|
||||
|
||||
@@ -0,0 +1,590 @@
|
||||
## Sprint 30 — QA acceptance tests
|
||||
##
|
||||
## Covers all 5 Sprint 30 client tickets:
|
||||
## #718 — Persist CharacterVisualDescriptor on new game start
|
||||
## #719 — Hair highlight: make swatch read-only (Option B — no compositor yet)
|
||||
## #720 — Replace DirAccess scanning with manifest JSON for export builds
|
||||
## #712 — BoneAttachment3D marker above Head bone for floating icons
|
||||
## #674 — Star map insert module (test-first: scene must exist when implemented)
|
||||
##
|
||||
## Test convention:
|
||||
## - Tests that should PASS immediately = regression guards on existing code
|
||||
## - Tests prefixed [ACCEPTANCE] = will FAIL until the ticket is implemented
|
||||
##
|
||||
## Ticket refs: #718, #719, #720, #712, #674
|
||||
class_name TestSprint30
|
||||
extends GdUnitTestSuite
|
||||
|
||||
|
||||
func before_each() -> void:
|
||||
# Reset GameState fields touched by #718 tests to avoid cross-test pollution.
|
||||
GameState.character_visual_descriptor = null
|
||||
|
||||
|
||||
func after_each() -> void:
|
||||
GameState.character_visual_descriptor = null
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# #718 — Persist CharacterVisualDescriptor
|
||||
# =============================================================================
|
||||
|
||||
func test_game_state_has_character_visual_descriptor_field() -> void:
|
||||
## GameState.character_visual_descriptor must exist and default to null.
|
||||
## Confirms the field added in game_state.gd line 103 is present.
|
||||
var gs := GameState.new()
|
||||
auto_free(gs)
|
||||
# The field is declared on the class — access it without error
|
||||
var val: Variant = gs.get("character_visual_descriptor")
|
||||
# Field should exist (not return null from missing property vs. null value)
|
||||
assert_bool(gs.has_method("apply_snapshot")).override_failure_message(
|
||||
"GameState must be a valid autoload class with apply_snapshot"
|
||||
).is_true()
|
||||
# The property itself must be gettable and null by default
|
||||
assert_bool(val == null).override_failure_message(
|
||||
"GameState.character_visual_descriptor must default to null"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_descriptor_to_dict_includes_all_required_fields() -> void:
|
||||
## CharacterVisualDescriptor.to_dict() must include all wire-format fields.
|
||||
var desc := CharacterVisualDescriptor.new()
|
||||
auto_free(desc)
|
||||
var d := desc.to_dict()
|
||||
var required_keys := [
|
||||
"body_type", "head_id", "hair_id", "hair_tint",
|
||||
"facial_hair_id", "facial_hair_tint", "eyebrow_id", "eyebrow_tint",
|
||||
"eye_color", "skin_tone", "clothing_slots", "clothing_tints",
|
||||
"accessory_slots", "accessory_tints",
|
||||
]
|
||||
for key in required_keys:
|
||||
assert_bool(d.has(key)).override_failure_message(
|
||||
"to_dict() must include field '%s'" % key
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_descriptor_to_dict_body_type_is_wire_string() -> void:
|
||||
## body_type in to_dict() must be a string (rmp_serde unit enum), not an int.
|
||||
var desc := CharacterVisualDescriptor.new()
|
||||
auto_free(desc)
|
||||
desc.body_type = CharacterVisualDescriptor.BodyType.AVERAGE_M
|
||||
var d := desc.to_dict()
|
||||
assert_str(d["body_type"]).override_failure_message(
|
||||
"to_dict() body_type must be wire string 'AverageM'"
|
||||
).is_equal("AverageM")
|
||||
|
||||
|
||||
func test_descriptor_round_trip_preserves_fields() -> void:
|
||||
## from_dict(to_dict(desc)) must preserve all scalar fields.
|
||||
var original := CharacterVisualDescriptor.new()
|
||||
auto_free(original)
|
||||
original.body_type = CharacterVisualDescriptor.BodyType.THIN_F
|
||||
original.head_id = "head_002"
|
||||
original.hair_id = "bob"
|
||||
original.hair_tint = Color(0.8, 0.4, 0.2)
|
||||
original.skin_tone = 3
|
||||
|
||||
var wire := original.to_dict()
|
||||
var restored := CharacterVisualDescriptor.from_dict(wire)
|
||||
assert_bool(restored != null).override_failure_message(
|
||||
"from_dict() must return a descriptor for valid wire data"
|
||||
).is_true()
|
||||
if restored == null:
|
||||
return
|
||||
|
||||
assert_int(int(restored.body_type)).override_failure_message(
|
||||
"body_type must survive round-trip"
|
||||
).is_equal(int(CharacterVisualDescriptor.BodyType.THIN_F))
|
||||
|
||||
assert_str(restored.head_id).override_failure_message(
|
||||
"head_id must survive round-trip"
|
||||
).is_equal("head_002")
|
||||
|
||||
assert_str(restored.hair_id).override_failure_message(
|
||||
"hair_id must survive round-trip"
|
||||
).is_equal("bob")
|
||||
|
||||
assert_int(restored.skin_tone).override_failure_message(
|
||||
"skin_tone must survive round-trip"
|
||||
).is_equal(3)
|
||||
|
||||
|
||||
func test_descriptor_from_dict_returns_null_when_missing_body_type() -> void:
|
||||
## from_dict() must return null if body_type is absent (required field).
|
||||
var d := {"head_id": "head_001"} # missing body_type
|
||||
var result := CharacterVisualDescriptor.from_dict(d)
|
||||
assert_bool(result == null).override_failure_message(
|
||||
"from_dict() must return null when body_type is missing"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_descriptor_color_encoding_is_float_array() -> void:
|
||||
## Colors must encode as [r, g, b, a] float arrays for rmp_serde compatibility.
|
||||
var desc := CharacterVisualDescriptor.new()
|
||||
auto_free(desc)
|
||||
desc.eye_color = Color(0.1, 0.2, 0.3, 1.0)
|
||||
var d := desc.to_dict()
|
||||
var encoded: Variant = d["eye_color"]
|
||||
assert_bool(encoded is Array).override_failure_message(
|
||||
"eye_color must encode as an Array [r, g, b, a]"
|
||||
).is_true()
|
||||
if not (encoded is Array):
|
||||
return
|
||||
assert_int((encoded as Array).size()).override_failure_message(
|
||||
"eye_color array must have 4 elements"
|
||||
).is_equal(4)
|
||||
assert_float((encoded as Array)[0]).override_failure_message(
|
||||
"eye_color[0] (r) must be approx 0.1"
|
||||
).is_equal_approx(0.1, 0.001)
|
||||
|
||||
|
||||
func test_apply_snapshot_restores_character_visual_descriptor() -> void:
|
||||
## #718: apply_snapshot() must restore character_visual_descriptor from
|
||||
## the "character_visual_descriptor" key in ObserverSnapshot (save/load path).
|
||||
var desc := CharacterVisualDescriptor.new()
|
||||
desc.body_type = CharacterVisualDescriptor.BodyType.MUSCULAR_F
|
||||
desc.head_id = "head_003"
|
||||
desc.hair_id = "dreads"
|
||||
desc.skin_tone = 5
|
||||
var snapshot := {
|
||||
"character_visual_descriptor": desc.to_dict(),
|
||||
}
|
||||
GameState.apply_snapshot(snapshot)
|
||||
var restored: Variant = GameState.character_visual_descriptor
|
||||
assert_bool(restored != null).override_failure_message(
|
||||
"apply_snapshot() must restore character_visual_descriptor from snapshot"
|
||||
).is_true()
|
||||
if restored != null and restored is CharacterVisualDescriptor:
|
||||
var r := restored as CharacterVisualDescriptor
|
||||
assert_int(int(r.body_type)).override_failure_message(
|
||||
"restored body_type must match"
|
||||
).is_equal(int(CharacterVisualDescriptor.BodyType.MUSCULAR_F))
|
||||
assert_str(r.head_id).override_failure_message(
|
||||
"restored head_id must match"
|
||||
).is_equal("head_003")
|
||||
assert_int(r.skin_tone).override_failure_message(
|
||||
"restored skin_tone must match"
|
||||
).is_equal(5)
|
||||
|
||||
|
||||
func test_apply_snapshot_preserves_descriptor_when_field_absent() -> void:
|
||||
## #718: If snapshot lacks "character_visual_descriptor", the existing field
|
||||
## must not be overwritten (server only sends when descriptor changes).
|
||||
var desc := CharacterVisualDescriptor.new()
|
||||
desc.hair_id = "bob"
|
||||
GameState.character_visual_descriptor = desc
|
||||
# Snapshot with no character_visual_descriptor key
|
||||
GameState.apply_snapshot({"tick": 1})
|
||||
var after: Variant = GameState.character_visual_descriptor
|
||||
assert_bool(after != null).override_failure_message(
|
||||
"apply_snapshot() must NOT clear descriptor when field is absent"
|
||||
).is_true()
|
||||
if after is CharacterVisualDescriptor:
|
||||
assert_str((after as CharacterVisualDescriptor).hair_id).override_failure_message(
|
||||
"descriptor must be unchanged after snapshot with no character_visual_descriptor key"
|
||||
).is_equal("bob")
|
||||
|
||||
|
||||
func test_protocol_encode_startup_includes_descriptor() -> void:
|
||||
## #718: Protocol.encode_startup_message() must include "character_visual_descriptor"
|
||||
## in the encoded payload when a descriptor is provided.
|
||||
var desc := CharacterVisualDescriptor.new()
|
||||
desc.body_type = CharacterVisualDescriptor.BodyType.THIN_M
|
||||
desc.hair_id = "buzzed"
|
||||
var bytes := Protocol.encode_startup_message(12345, "detective", desc)
|
||||
assert_bool(bytes.size() > 0).override_failure_message(
|
||||
"encode_startup_message() must produce non-empty bytes"
|
||||
).is_true()
|
||||
# Decode and verify the field is present (Messagepack.decode returns {status, value})
|
||||
var raw = Messagepack.decode(bytes)
|
||||
assert_bool(raw.status == null).override_failure_message(
|
||||
"encode_startup_message() output must be valid msgpack"
|
||||
).is_true()
|
||||
if raw.status != null:
|
||||
return
|
||||
var msg: Dictionary = raw.value as Dictionary
|
||||
assert_bool(msg.has("character_visual_descriptor")).override_failure_message(
|
||||
"StartupMessage must include 'character_visual_descriptor' key when descriptor is provided"
|
||||
).is_true()
|
||||
if msg.has("character_visual_descriptor"):
|
||||
assert_bool(msg["character_visual_descriptor"] is Dictionary).override_failure_message(
|
||||
"character_visual_descriptor in StartupMessage must be a Dictionary"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_protocol_encode_startup_omits_descriptor_when_null() -> void:
|
||||
## #718: encode_startup_message() must still produce valid bytes when descriptor is null.
|
||||
var bytes := Protocol.encode_startup_message(0, "detective", null)
|
||||
assert_bool(bytes.size() > 0).override_failure_message(
|
||||
"encode_startup_message() must produce valid bytes even with null descriptor"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_descriptor_has_no_hair_highlight_tint_field() -> void:
|
||||
## CharacterVisualDescriptor must NOT have a hair_highlight_tint field.
|
||||
## The highlight is always auto-derived from hair_tint (Option B of #719).
|
||||
## to_dict() must not include it in the wire format.
|
||||
var desc := CharacterVisualDescriptor.new()
|
||||
auto_free(desc)
|
||||
var d := desc.to_dict()
|
||||
assert_bool(d.has("hair_highlight_tint")).override_failure_message(
|
||||
"to_dict() must NOT include hair_highlight_tint — highlight is auto-derived"
|
||||
).is_false()
|
||||
assert_bool("hair_highlight_tint" in desc).override_failure_message(
|
||||
"CharacterVisualDescriptor must not define a hair_highlight_tint property"
|
||||
).is_false()
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# #719 — Hair highlight swatch (Option B: read-only, auto-derived)
|
||||
# =============================================================================
|
||||
|
||||
func test_derive_hair_highlight_lightens_primary() -> void:
|
||||
## _derive_hair_highlight() must return primary.lightened(0.3).
|
||||
## Tests the derivation formula in character_creation.gd:1917.
|
||||
var cc_scene_path := "res://scenes/character_creation.tscn"
|
||||
if not ResourceLoader.exists(cc_scene_path):
|
||||
push_warning("test_derive_hair_highlight_lightens_primary: scene not available in headless — skipping")
|
||||
return
|
||||
var packed := load(cc_scene_path) as PackedScene
|
||||
if packed == null:
|
||||
return
|
||||
var cc := packed.instantiate() as CharacterCreation
|
||||
if cc == null:
|
||||
push_warning("test_derive_hair_highlight_lightens_primary: failed to instantiate — skipping")
|
||||
return
|
||||
auto_free(cc)
|
||||
|
||||
# CharacterCreation._derive_hair_highlight is a private method but testable via call()
|
||||
var primary := Color(0.4, 0.3, 0.5)
|
||||
var expected := primary.lightened(0.3)
|
||||
var result: Variant = cc.call("_derive_hair_highlight", primary)
|
||||
assert_bool(result is Color).override_failure_message(
|
||||
"_derive_hair_highlight must return a Color"
|
||||
).is_true()
|
||||
if not (result is Color):
|
||||
return
|
||||
var r := result as Color
|
||||
assert_float(r.r).override_failure_message("derived highlight.r incorrect").is_equal_approx(expected.r, 0.001)
|
||||
assert_float(r.g).override_failure_message("derived highlight.g incorrect").is_equal_approx(expected.g, 0.001)
|
||||
assert_float(r.b).override_failure_message("derived highlight.b incorrect").is_equal_approx(expected.b, 0.001)
|
||||
|
||||
|
||||
func test_hair_highlight_swatch_exists_in_ui() -> void:
|
||||
## [ACCEPTANCE #719] After fix, _hair_highlight_swatch must be non-null
|
||||
## (a display node must be created in _build_hair_color_dock).
|
||||
## WILL FAIL until #719 is implemented.
|
||||
var cc_scene_path := "res://scenes/character_creation.tscn"
|
||||
if not ResourceLoader.exists(cc_scene_path):
|
||||
push_warning("test_hair_highlight_swatch_exists_in_ui: scene not available in headless — skipping")
|
||||
return
|
||||
var packed := load(cc_scene_path) as PackedScene
|
||||
if packed == null:
|
||||
return
|
||||
var cc := packed.instantiate() as CharacterCreation
|
||||
if cc == null:
|
||||
return
|
||||
auto_free(cc)
|
||||
add_child(cc)
|
||||
await get_tree().process_frame
|
||||
|
||||
# _hair_highlight_swatch must be set after _ready() builds the hair color dock
|
||||
var swatch: Variant = cc.get("_hair_highlight_swatch")
|
||||
assert_bool(swatch != null).override_failure_message(
|
||||
"[#719] _hair_highlight_swatch must not be null — a display node must be created"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_hair_highlight_swatch_is_not_interactive() -> void:
|
||||
## [ACCEPTANCE #719] The highlight swatch must be non-interactive.
|
||||
## Either mouse_filter = IGNORE, or the node is a ColorRect (not a Button with a callback).
|
||||
## WILL FAIL until #719 is implemented.
|
||||
var cc_scene_path := "res://scenes/character_creation.tscn"
|
||||
if not ResourceLoader.exists(cc_scene_path):
|
||||
push_warning("test_hair_highlight_swatch_is_not_interactive: scene not available — skipping")
|
||||
return
|
||||
var packed := load(cc_scene_path) as PackedScene
|
||||
if packed == null:
|
||||
return
|
||||
var cc := packed.instantiate() as CharacterCreation
|
||||
if cc == null:
|
||||
return
|
||||
auto_free(cc)
|
||||
add_child(cc)
|
||||
await get_tree().process_frame
|
||||
|
||||
var swatch: Variant = cc.get("_hair_highlight_swatch")
|
||||
if swatch == null:
|
||||
push_warning("test_hair_highlight_swatch_is_not_interactive: swatch not found — #719 not yet implemented")
|
||||
return
|
||||
|
||||
# If swatch is a Control node, mouse_filter must be IGNORE (2)
|
||||
if swatch is Control:
|
||||
var ctrl := swatch as Control
|
||||
assert_int(ctrl.mouse_filter).override_failure_message(
|
||||
"[#719] hair highlight swatch must have mouse_filter=IGNORE (non-interactive)"
|
||||
).is_equal(Control.MOUSE_FILTER_IGNORE)
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# #720 — Manifest JSON completeness (replaces DirAccess scanning)
|
||||
# =============================================================================
|
||||
|
||||
func test_manifest_json_is_parseable() -> void:
|
||||
## manifest.json must exist and parse as a Dictionary.
|
||||
var path := "res://assets/characters/manifest.json"
|
||||
assert_bool(ResourceLoader.exists(path) or FileAccess.file_exists(path)).override_failure_message(
|
||||
"manifest.json must exist at res://assets/characters/manifest.json"
|
||||
).is_true()
|
||||
var file := FileAccess.open(path, FileAccess.READ)
|
||||
if file == null:
|
||||
push_warning("test_manifest_json_is_parseable: file not openable — skipping")
|
||||
return
|
||||
var parsed: Variant = JSON.parse_string(file.get_as_text())
|
||||
file.close()
|
||||
assert_bool(parsed is Dictionary).override_failure_message(
|
||||
"manifest.json must parse as a JSON object (Dictionary)"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_manifest_hair_includes_all_asset_dirs() -> void:
|
||||
## [ACCEPTANCE #720] manifest.json "hair" array must include every .glb in
|
||||
## assets/characters/hair/. Currently missing: balding, buzzed_female, dreads,
|
||||
## long_dreads, mohawk, ponytail_f, simple_parted, slick_back.
|
||||
## WILL FAIL until #720 populates the manifest fully.
|
||||
var path := "res://assets/characters/manifest.json"
|
||||
var file := FileAccess.open(path, FileAccess.READ)
|
||||
if file == null:
|
||||
push_warning("test_manifest_hair_includes_all_asset_dirs: manifest not readable — skipping")
|
||||
return
|
||||
var parsed: Variant = JSON.parse_string(file.get_as_text())
|
||||
file.close()
|
||||
if not (parsed is Dictionary):
|
||||
return
|
||||
var manifest := parsed as Dictionary
|
||||
var hair_list: Array = manifest.get("hair", [])
|
||||
|
||||
# All hair IDs confirmed from assets/characters/hair/*.glb scan (2026-04-04)
|
||||
var expected_hair := [
|
||||
"bald", "balding", "bob", "buns", "buzzed", "buzzed_female",
|
||||
"dreads", "long", "long_dreads", "mohawk", "ponytail", "ponytail_f",
|
||||
"simple_parted", "slick_back",
|
||||
]
|
||||
for hair_id in expected_hair:
|
||||
assert_bool(hair_list.has(hair_id)).override_failure_message(
|
||||
"[#720] manifest 'hair' must include '%s'" % hair_id
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_manifest_heads_are_populated() -> void:
|
||||
## [ACCEPTANCE #720] manifest.json "heads" must not be empty.
|
||||
## heads/templates/ contains head_001..head_004 — all must be listed.
|
||||
## WILL FAIL until #720 populates the manifest.
|
||||
var path := "res://assets/characters/manifest.json"
|
||||
var file := FileAccess.open(path, FileAccess.READ)
|
||||
if file == null:
|
||||
push_warning("test_manifest_heads_are_populated: manifest not readable — skipping")
|
||||
return
|
||||
var parsed: Variant = JSON.parse_string(file.get_as_text())
|
||||
file.close()
|
||||
if not (parsed is Dictionary):
|
||||
return
|
||||
var manifest := parsed as Dictionary
|
||||
var heads_list: Array = manifest.get("heads", [])
|
||||
|
||||
var expected_heads := ["head_001", "head_002", "head_003", "head_004"]
|
||||
assert_bool(not heads_list.is_empty()).override_failure_message(
|
||||
"[#720] manifest 'heads' must not be empty — 4 head templates exist"
|
||||
).is_true()
|
||||
for head_id in expected_heads:
|
||||
assert_bool(heads_list.has(head_id)).override_failure_message(
|
||||
"[#720] manifest 'heads' must include '%s'" % head_id
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_manifest_body_types_includes_all_11() -> void:
|
||||
## [ACCEPTANCE #720] manifest.json "body_types" must include all 11 types.
|
||||
## Currently has 6; missing: thin_m, thin_f, heavy_m, heavy_f, child.
|
||||
## WILL FAIL until #720 updates the manifest.
|
||||
var path := "res://assets/characters/manifest.json"
|
||||
var file := FileAccess.open(path, FileAccess.READ)
|
||||
if file == null:
|
||||
push_warning("test_manifest_body_types_includes_all_11: manifest not readable — skipping")
|
||||
return
|
||||
var parsed: Variant = JSON.parse_string(file.get_as_text())
|
||||
file.close()
|
||||
if not (parsed is Dictionary):
|
||||
return
|
||||
var manifest := parsed as Dictionary
|
||||
var bt_list: Array = manifest.get("body_types", [])
|
||||
|
||||
var expected_types := [
|
||||
"thin_m", "thin_f", "average_m", "average_f",
|
||||
"muscular_m", "muscular_f", "teen_m", "teen_f",
|
||||
"heavy_m", "heavy_f", "child",
|
||||
]
|
||||
for bt in expected_types:
|
||||
assert_bool(bt_list.has(bt)).override_failure_message(
|
||||
"[#720] manifest 'body_types' must include '%s'" % bt
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_manifest_clothing_includes_all_items() -> void:
|
||||
## [ACCEPTANCE #720] manifest.json "clothing" must include all items in
|
||||
## assets/characters/clothing/. Currently missing: boots_work, coveralls_basic,
|
||||
## jacket_utility, pants_cargo, shirt_henley.
|
||||
## WILL FAIL until #720 populates the manifest.
|
||||
var path := "res://assets/characters/manifest.json"
|
||||
var file := FileAccess.open(path, FileAccess.READ)
|
||||
if file == null:
|
||||
push_warning("test_manifest_clothing_includes_all_items: manifest not readable — skipping")
|
||||
return
|
||||
var parsed: Variant = JSON.parse_string(file.get_as_text())
|
||||
file.close()
|
||||
if not (parsed is Dictionary):
|
||||
return
|
||||
var manifest := parsed as Dictionary
|
||||
var clothing_data: Variant = manifest.get("clothing", {})
|
||||
var clothing_keys: Array = []
|
||||
if clothing_data is Dictionary:
|
||||
clothing_keys = (clothing_data as Dictionary).keys()
|
||||
|
||||
# All clothing item IDs confirmed from assets/characters/clothing/ scan (2026-04-04)
|
||||
var expected_items := [
|
||||
"boots_work", "coveralls_basic", "jacket_utility", "pants_cargo",
|
||||
"peasant_pants", "peasant_shoes", "peasant_tunic", "shirt_henley",
|
||||
]
|
||||
for item_id in expected_items:
|
||||
assert_bool(clothing_keys.has(item_id)).override_failure_message(
|
||||
"[#720] manifest 'clothing' must include '%s'" % item_id
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_manifest_eyebrows_are_populated() -> void:
|
||||
## [ACCEPTANCE #720] manifest.json "eyebrows" must list all eyebrow styles.
|
||||
## assets/characters/eyebrows/ has: female, regular, teen, thick.
|
||||
## WILL FAIL until #720 populates the manifest.
|
||||
var path := "res://assets/characters/manifest.json"
|
||||
var file := FileAccess.open(path, FileAccess.READ)
|
||||
if file == null:
|
||||
push_warning("test_manifest_eyebrows_are_populated: manifest not readable — skipping")
|
||||
return
|
||||
var parsed: Variant = JSON.parse_string(file.get_as_text())
|
||||
file.close()
|
||||
if not (parsed is Dictionary):
|
||||
return
|
||||
var manifest := parsed as Dictionary
|
||||
var eb_list: Array = manifest.get("eyebrows", [])
|
||||
|
||||
var expected_eyebrows := ["female", "regular", "teen", "thick"]
|
||||
assert_bool(not eb_list.is_empty()).override_failure_message(
|
||||
"[#720] manifest 'eyebrows' must not be empty"
|
||||
).is_true()
|
||||
for eb_id in expected_eyebrows:
|
||||
assert_bool(eb_list.has(eb_id)).override_failure_message(
|
||||
"[#720] manifest 'eyebrows' must include '%s'" % eb_id
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_dir_access_scan_functions_removed() -> void:
|
||||
## [ACCEPTANCE #720] After fix, _scan_subdirs and _scan_asset_ids must be
|
||||
## removed from CharacterCreation. These functions fail in exported PCK builds.
|
||||
## WILL FAIL until #720 removes the DirAccess fallbacks.
|
||||
var cc_scene_path := "res://scenes/character_creation.tscn"
|
||||
if not ResourceLoader.exists(cc_scene_path):
|
||||
push_warning("test_dir_access_scan_functions_removed: scene not available — skipping")
|
||||
return
|
||||
var packed := load(cc_scene_path) as PackedScene
|
||||
if packed == null:
|
||||
return
|
||||
var cc := packed.instantiate() as CharacterCreation
|
||||
if cc == null:
|
||||
return
|
||||
auto_free(cc)
|
||||
|
||||
assert_bool(cc.has_method("_scan_subdirs")).override_failure_message(
|
||||
"[#720] _scan_subdirs must be removed — use manifest JSON instead"
|
||||
).is_false()
|
||||
assert_bool(cc.has_method("_scan_asset_ids")).override_failure_message(
|
||||
"[#720] _scan_asset_ids must be removed — use manifest JSON instead"
|
||||
).is_false()
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# #712 — BoneAttachment3D overhead anchor in CharacterVisual
|
||||
# =============================================================================
|
||||
|
||||
func test_character_visual_has_get_overhead_anchor() -> void:
|
||||
## CharacterVisual must expose get_overhead_anchor() as part of its public API.
|
||||
## This is a static assertion — no 3D assets required.
|
||||
var cv := CharacterVisual.new()
|
||||
auto_free(cv)
|
||||
assert_bool(cv.has_method("get_overhead_anchor")).override_failure_message(
|
||||
"CharacterVisual must have get_overhead_anchor() method (#712)"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_overhead_anchor_is_null_before_load() -> void:
|
||||
## get_overhead_anchor() must return null before load_descriptor() is called.
|
||||
## The anchor is created during skeleton load, not at construction.
|
||||
var cv := CharacterVisual.new()
|
||||
auto_free(cv)
|
||||
var anchor: Variant = cv.get_overhead_anchor()
|
||||
assert_bool(anchor == null).override_failure_message(
|
||||
"get_overhead_anchor() must be null before load_descriptor() is called"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_overhead_anchor_offset_constant() -> void:
|
||||
## [ACCEPTANCE #712] If CharacterVisual exposes the overhead anchor offset
|
||||
## as a constant or via get_overhead_anchor(), the offset must be Vector3(0, 0.3, 0).
|
||||
## Verified via code inspection: _overhead_anchor.position = Vector3(0, 0.3, 0).
|
||||
## This test loads a scene and verifies if assets are present.
|
||||
var cv := CharacterVisual.new()
|
||||
auto_free(cv)
|
||||
add_child(cv)
|
||||
|
||||
# Without GLB assets available in headless, skeleton load is a no-op.
|
||||
# Check that _overhead_attachment is also null before load (belt-and-suspenders).
|
||||
var attachment: Variant = cv.get("_overhead_attachment")
|
||||
assert_bool(attachment == null).override_failure_message(
|
||||
"_overhead_attachment must be null before skeleton is loaded"
|
||||
).is_true()
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# #674 — Star map insert module (test-first)
|
||||
# =============================================================================
|
||||
|
||||
func test_star_map_scene_exists() -> void:
|
||||
## [ACCEPTANCE #674] The star map scene must exist at the expected path.
|
||||
## WILL FAIL until #674 is implemented.
|
||||
var expected_path := "res://ui/star_map.tscn"
|
||||
assert_bool(ResourceLoader.exists(expected_path)).override_failure_message(
|
||||
"[#674] Star map scene must exist at res://ui/star_map.tscn"
|
||||
).is_true()
|
||||
|
||||
|
||||
func test_star_map_is_accessible_from_insert_ui() -> void:
|
||||
## [ACCEPTANCE #674] The star map module must be reachable from the insert UI.
|
||||
## Verify via HUD or main scene that a star_map node/scene is connected.
|
||||
## WILL FAIL until #674 wires the scene into the insert layer.
|
||||
var hud_scene_path := "res://ui/hud.tscn"
|
||||
if not ResourceLoader.exists(hud_scene_path):
|
||||
push_warning("test_star_map_is_accessible_from_insert_ui: HUD scene not found — skipping")
|
||||
return
|
||||
var packed := load(hud_scene_path) as PackedScene
|
||||
if packed == null:
|
||||
return
|
||||
var hud := packed.instantiate()
|
||||
if hud == null:
|
||||
return
|
||||
auto_free(hud)
|
||||
add_child(hud)
|
||||
await get_tree().process_frame
|
||||
|
||||
# Star map must be reachable as a named node from the HUD or insert layer
|
||||
var star_map := hud.get_node_or_null("StarMap")
|
||||
assert_bool(star_map != null).override_failure_message(
|
||||
"[#674] HUD must contain a StarMap node accessible from the insert UI"
|
||||
).is_true()
|
||||
@@ -669,6 +669,11 @@ func _build_hair_color_dock() -> Control:
|
||||
func(c): _on_hair_primary_changed(c))
|
||||
row.add_child(_hair_primary_swatch)
|
||||
|
||||
# #719 (Option B): highlight is auto-derived from primary — display-only, not editable.
|
||||
_hair_highlight_swatch = _make_display_swatch(
|
||||
_derive_hair_highlight(_descriptor.hair_tint), "Highlight")
|
||||
row.add_child(_hair_highlight_swatch)
|
||||
|
||||
_eyebrow_tint_swatch = _make_color_swatch(_descriptor.hair_tint, "Brows ●",
|
||||
func(c): _on_eyebrow_tint_changed(c))
|
||||
row.add_child(_eyebrow_tint_swatch)
|
||||
@@ -1840,45 +1845,6 @@ func _apply_search_filter(grid: GridContainer, query: String) -> void:
|
||||
child.visible = lower_q.is_empty() or (child as Button).text.to_lower().contains(lower_q)
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Asset scanning helpers
|
||||
# =============================================================================
|
||||
|
||||
## Scan a directory for subdirectory names (item_id directories like clothing/coveralls_basic/).
|
||||
## Returns fallback list if the directory is absent or empty.
|
||||
## TODO: replace with manifest JSON for export builds (DirAccess won't list res:// in PCK).
|
||||
static func _scan_subdirs(dir_path: String, fallback: Array) -> Array:
|
||||
var dir := DirAccess.open(dir_path)
|
||||
if dir == null:
|
||||
return fallback
|
||||
var ids: Array = []
|
||||
dir.list_dir_begin()
|
||||
var name := dir.get_next()
|
||||
while name != "":
|
||||
if dir.current_is_dir() and not name.begins_with("."):
|
||||
ids.append(name)
|
||||
name = dir.get_next()
|
||||
dir.list_dir_end()
|
||||
return ids if not ids.is_empty() else fallback
|
||||
|
||||
|
||||
## Scan a directory for .glb asset IDs. Returns fallback list if directory absent.
|
||||
## TODO: replace with manifest JSON for export builds (DirAccess won't list res:// in PCK).
|
||||
static func _scan_asset_ids(dir_path: String, ext: String, fallback: Array) -> Array:
|
||||
var dir := DirAccess.open(dir_path)
|
||||
if dir == null:
|
||||
return fallback
|
||||
var ids: Array = []
|
||||
dir.list_dir_begin()
|
||||
var name := dir.get_next()
|
||||
while name != "":
|
||||
if not dir.current_is_dir() and name.ends_with(ext):
|
||||
ids.append(name.get_basename())
|
||||
name = dir.get_next()
|
||||
dir.list_dir_end()
|
||||
return ids if not ids.is_empty() else fallback
|
||||
|
||||
|
||||
func _get_clothing_ids_for_slot(slot: String) -> Array:
|
||||
# Clothing items from manifest — slot assignment is explicit, not prefix-based.
|
||||
var clothing_data: Variant = _manifest.get("clothing", {})
|
||||
|
||||
+6
-1
@@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://cq1y5w3hmxr8b"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cq1y5w3hmxr8b"]
|
||||
|
||||
[ext_resource type="Script" path="res://ui/hud.gd" id="1_hud"]
|
||||
[ext_resource type="PackedScene" path="res://ui/star_map.tscn" id="2_starmap"]
|
||||
|
||||
[node name="HUD" type="Control"]
|
||||
layout_mode = 3
|
||||
@@ -36,3 +37,7 @@ text = "Mode: Baseline"
|
||||
[node name="TimeLabel" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Time: 08:00"
|
||||
|
||||
; #674: Star map insert — concentric hop-ring view, hidden by default, toggled via keybind
|
||||
[node name="StarMap" parent="." instance=ExtResource("2_starmap")]
|
||||
visible = false
|
||||
|
||||
@@ -62,7 +62,7 @@ func _show_character_creation() -> void:
|
||||
_char_creation.creation_cancelled.connect(_on_creation_cancelled)
|
||||
|
||||
|
||||
func _on_creation_confirmed(descriptor: CharacterVisualDescriptor) -> void:
|
||||
func _on_creation_confirmed(descriptor) -> void:
|
||||
if _char_creation != null and is_instance_valid(_char_creation):
|
||||
_char_creation.queue_free()
|
||||
_char_creation = null
|
||||
|
||||
@@ -0,0 +1,529 @@
|
||||
class_name StarMapRenderer
|
||||
extends Control
|
||||
|
||||
## Star map — concentric hop-ring view of the Settled Reach gate network (#674).
|
||||
## Renders 301 systems as dots on concentric rings (hop distance from Gateway).
|
||||
## Sector-colored: core (white-gold), north (blue), south (orange), east (green), west (tan).
|
||||
##
|
||||
## Data source: res://data/star_map_data.json (generated from star-map.json + systems.db).
|
||||
## Regenerate with: tooling/generate-star-map-data.py
|
||||
##
|
||||
## D-013: Diegetic neural insert overlay. Accessible from the insert UI.
|
||||
## Parent epic: #51 (Diegetic Insert/Minimap), ticket #674.
|
||||
|
||||
const DATA_PATH := "res://data/star_map_data.json"
|
||||
|
||||
# Layout
|
||||
const MAP_CENTER_FRACTION := Vector2(0.5, 0.5) # center of control
|
||||
const MIN_RING_RADIUS: float = 30.0 # innermost ring (hop 0 = gateway dot only)
|
||||
const RING_SPACING: float = 22.0 # pixels between hop rings
|
||||
const MAX_HOP_RINGS: int = 24 # max hop distance we render rings for
|
||||
|
||||
# Dot sizing
|
||||
const DOT_RADIUS_HUB: float = 4.5
|
||||
const DOT_RADIUS_JUNCTION: float = 3.5
|
||||
const DOT_RADIUS_DEFAULT: float = 2.5
|
||||
const DOT_RADIUS_DEAD_END: float = 2.0
|
||||
const GATEWAY_RADIUS: float = 6.0
|
||||
|
||||
# Selection
|
||||
const SELECTION_RING_RADIUS: float = 8.0
|
||||
const HIT_RADIUS: float = 10.0 # click tolerance
|
||||
|
||||
# Edge rendering
|
||||
const EDGE_WIDTH: float = 0.4
|
||||
const EDGE_ALPHA: float = 0.12
|
||||
const EDGE_SELECTED_ALPHA: float = 0.5
|
||||
|
||||
# Colors — sector palette from wireframe
|
||||
const COLOR_BG: Color = Color("#0d1117")
|
||||
const COLOR_RING: Color = Color("#1a2030")
|
||||
const COLOR_RING_MAJOR: Color = Color("#222a3a")
|
||||
const COLOR_GATEWAY: Color = Color("#f0d060")
|
||||
const COLOR_SELECTION: Color = Color("#f0d060")
|
||||
const COLOR_TEXT: Color = Color("#c8d0e0")
|
||||
const COLOR_TEXT_DIM: Color = Color("#667788")
|
||||
const COLOR_INFO_BG: Color = Color(0.05, 0.08, 0.14, 0.92)
|
||||
|
||||
const SECTOR_COLORS: Dictionary = {
|
||||
"core": Color("#c8d0e0"),
|
||||
"north_reach": Color("#4488aa"),
|
||||
"south_reach": Color("#aa6644"),
|
||||
"east_reach": Color("#44aa66"),
|
||||
"west_reach": Color("#aa8844"),
|
||||
"deep_frontier": Color("#556677"),
|
||||
"unknown": Color("#445566"),
|
||||
}
|
||||
|
||||
const SECTOR_LABELS: Dictionary = {
|
||||
"north_reach": "NORTH REACH",
|
||||
"south_reach": "SOUTH REACH",
|
||||
"east_reach": "EAST REACH",
|
||||
"west_reach": "WEST REACH",
|
||||
}
|
||||
|
||||
# Quadrant angles for sector placement (radians, 0 = right, counterclockwise)
|
||||
# North = top (-PI/2), East = right (0), South = bottom (PI/2), West = left (PI)
|
||||
const SECTOR_ANGLE_CENTER: Dictionary = {
|
||||
"north_reach": -PI / 2.0,
|
||||
"east_reach": 0.0,
|
||||
"south_reach": PI / 2.0,
|
||||
"west_reach": PI,
|
||||
}
|
||||
const SECTOR_ANGLE_SPREAD: float = PI / 2.5 # each sector occupies ~72° of arc
|
||||
const CORE_ANGLE_SPREAD: float = TAU # core systems spread full circle
|
||||
const DEEP_FRONTIER_ANGLE_SPREAD: float = TAU # deep frontier wraps entire outer edge
|
||||
|
||||
# Pan/zoom
|
||||
const ZOOM_MIN: float = 0.3
|
||||
const ZOOM_MAX: float = 3.0
|
||||
const ZOOM_STEP: float = 0.15
|
||||
|
||||
# Internal state
|
||||
var _nodes: Array = []
|
||||
var _edges: Array = []
|
||||
var _node_positions: Dictionary = {} # system_id -> Vector2 (screen coords relative to map center)
|
||||
var _node_lookup: Dictionary = {} # system_id -> node dict
|
||||
var _selected_system: String = ""
|
||||
var _hovered_system: String = ""
|
||||
|
||||
var _zoom: float = 1.0
|
||||
var _pan_offset: Vector2 = Vector2.ZERO
|
||||
var _is_panning: bool = false
|
||||
var _pan_start: Vector2 = Vector2.ZERO
|
||||
var _pan_start_offset: Vector2 = Vector2.ZERO
|
||||
|
||||
var _data_loaded: bool = false
|
||||
var _insert_active: bool = true
|
||||
var _show_edges: bool = false # toggle edge display
|
||||
var _dirty: bool = true # redraw needed — set by state changes, cleared after _draw
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
mouse_filter = Control.MOUSE_FILTER_STOP
|
||||
_load_data()
|
||||
if _data_loaded:
|
||||
_compute_layout()
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if not visible:
|
||||
return
|
||||
if _dirty and _data_loaded:
|
||||
queue_redraw()
|
||||
_dirty = false
|
||||
|
||||
|
||||
## Called from main.gd when insert state changes.
|
||||
## Only force-hides when insert is inactive. Does NOT auto-show — star map is
|
||||
## modal (player opens via toggle_visible()), not always-on like the minimap.
|
||||
func set_insert_active(active: bool) -> void:
|
||||
_insert_active = active
|
||||
if not active:
|
||||
visible = false
|
||||
|
||||
|
||||
## Toggle visibility (e.g., from a keybind or button).
|
||||
func toggle_visible() -> void:
|
||||
visible = not visible
|
||||
if visible:
|
||||
_dirty = true
|
||||
|
||||
|
||||
## Return the currently selected system data, or empty dict.
|
||||
func get_selected_system() -> Dictionary:
|
||||
return _node_lookup.get(_selected_system, {})
|
||||
|
||||
|
||||
## Return total system count.
|
||||
func get_system_count() -> int:
|
||||
return _nodes.size()
|
||||
|
||||
|
||||
## Return total edge count.
|
||||
func get_edge_count() -> int:
|
||||
return _edges.size()
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Data loading
|
||||
# =============================================================================
|
||||
|
||||
func _load_data() -> void:
|
||||
if not FileAccess.file_exists(DATA_PATH):
|
||||
push_warning("StarMapRenderer: data file not found at %s" % DATA_PATH)
|
||||
return
|
||||
var file := FileAccess.open(DATA_PATH, FileAccess.READ)
|
||||
if file == null:
|
||||
push_warning("StarMapRenderer: could not open %s" % DATA_PATH)
|
||||
return
|
||||
var parsed: Variant = JSON.parse_string(file.get_as_text())
|
||||
file.close()
|
||||
if not (parsed is Dictionary):
|
||||
push_warning("StarMapRenderer: invalid JSON in %s" % DATA_PATH)
|
||||
return
|
||||
var data := parsed as Dictionary
|
||||
_nodes = data.get("nodes", [])
|
||||
_edges = data.get("edges", [])
|
||||
for node: Dictionary in _nodes:
|
||||
_node_lookup[node.get("system_id", "")] = node
|
||||
_data_loaded = true
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Layout — place systems on concentric rings by hop distance
|
||||
# =============================================================================
|
||||
|
||||
func _compute_layout() -> void:
|
||||
_node_positions.clear()
|
||||
|
||||
# Group nodes by hop distance
|
||||
var rings: Dictionary = {} # hop -> Array of nodes
|
||||
for node: Dictionary in _nodes:
|
||||
var hop: int = int(node.get("hop_distance", 0))
|
||||
if not rings.has(hop):
|
||||
rings[hop] = []
|
||||
rings[hop].append(node)
|
||||
|
||||
# Place each ring
|
||||
for hop: int in rings:
|
||||
var ring_nodes: Array = rings[hop]
|
||||
var radius: float = MIN_RING_RADIUS + hop * RING_SPACING
|
||||
|
||||
if hop == 0:
|
||||
# Gateway at center
|
||||
for node: Dictionary in ring_nodes:
|
||||
_node_positions[node["system_id"]] = Vector2.ZERO
|
||||
continue
|
||||
|
||||
# Sort nodes within ring by sector for angular grouping
|
||||
ring_nodes.sort_custom(_sort_by_sector_angle)
|
||||
|
||||
# Distribute nodes within their sector's angular range
|
||||
var sector_groups: Dictionary = {}
|
||||
for node: Dictionary in ring_nodes:
|
||||
var sector: String = node.get("geographic_sector", "unknown")
|
||||
if not sector_groups.has(sector):
|
||||
sector_groups[sector] = []
|
||||
sector_groups[sector].append(node)
|
||||
|
||||
for sector: String in sector_groups:
|
||||
var group: Array = sector_groups[sector]
|
||||
var count: int = group.size()
|
||||
|
||||
var center_angle: float
|
||||
var spread: float
|
||||
if sector == "core":
|
||||
center_angle = 0.0
|
||||
spread = CORE_ANGLE_SPREAD
|
||||
elif sector == "deep_frontier":
|
||||
center_angle = 0.0
|
||||
spread = DEEP_FRONTIER_ANGLE_SPREAD
|
||||
elif SECTOR_ANGLE_CENTER.has(sector):
|
||||
center_angle = SECTOR_ANGLE_CENTER[sector]
|
||||
spread = SECTOR_ANGLE_SPREAD
|
||||
else:
|
||||
center_angle = 0.0
|
||||
spread = TAU
|
||||
|
||||
# Distribute evenly within sector arc, with deterministic offset per system
|
||||
for i: int in range(count):
|
||||
var node: Dictionary = group[i]
|
||||
var t: float
|
||||
if count == 1:
|
||||
t = 0.0
|
||||
else:
|
||||
t = float(i) / float(count) - 0.5 # -0.5 to +0.5
|
||||
var angle: float = center_angle + t * spread
|
||||
# Add small per-node jitter based on system_id hash for visual variety
|
||||
var jitter: float = _system_hash(node["system_id"]) * 0.08
|
||||
angle += jitter
|
||||
# Slight radial variation to avoid perfect circles
|
||||
var r_var: float = radius + _system_hash(node["system_id"] + "r") * RING_SPACING * 0.3
|
||||
_node_positions[node["system_id"]] = Vector2(cos(angle), sin(angle)) * r_var
|
||||
|
||||
|
||||
func _sort_by_sector_angle(a: Dictionary, b: Dictionary) -> bool:
|
||||
var sa: float = _sector_sort_key(a)
|
||||
var sb: float = _sector_sort_key(b)
|
||||
if sa != sb:
|
||||
return sa < sb
|
||||
return a.get("system_id", "") < b.get("system_id", "")
|
||||
|
||||
|
||||
func _sector_sort_key(node: Dictionary) -> float:
|
||||
var sector: String = node.get("geographic_sector", "unknown")
|
||||
match sector:
|
||||
"core": return 0.0
|
||||
"north_reach": return 1.0
|
||||
"east_reach": return 2.0
|
||||
"south_reach": return 3.0
|
||||
"west_reach": return 4.0
|
||||
"deep_frontier": return 5.0
|
||||
_: return 6.0
|
||||
|
||||
|
||||
## Deterministic float in [-1, 1] from a string key.
|
||||
func _system_hash(key: String) -> float:
|
||||
var h: int = key.hash() & 0x7FFFFFFF # mask to 31-bit positive range
|
||||
return float(h) / 2147483647.0 * 2.0 - 1.0
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Drawing
|
||||
# =============================================================================
|
||||
|
||||
func _draw() -> void:
|
||||
if not _data_loaded:
|
||||
return
|
||||
|
||||
var sz: Vector2 = get_rect().size
|
||||
var center: Vector2 = sz * MAP_CENTER_FRACTION + _pan_offset
|
||||
|
||||
# Background
|
||||
draw_rect(Rect2(Vector2.ZERO, sz), COLOR_BG)
|
||||
|
||||
# Hop rings (concentric circles)
|
||||
_draw_rings(center)
|
||||
|
||||
# Sector labels
|
||||
_draw_sector_labels(center)
|
||||
|
||||
# Edges (gate connections)
|
||||
if _show_edges or _selected_system != "":
|
||||
_draw_edges(center)
|
||||
|
||||
# System dots
|
||||
_draw_systems(center)
|
||||
|
||||
# Selection highlight
|
||||
if _selected_system != "":
|
||||
_draw_selection(center)
|
||||
|
||||
# Info panel for selected system
|
||||
if _selected_system != "":
|
||||
_draw_info_panel(sz)
|
||||
|
||||
# Title
|
||||
_draw_title()
|
||||
|
||||
|
||||
func _draw_rings(center: Vector2) -> void:
|
||||
for hop: int in range(MAX_HOP_RINGS + 1):
|
||||
var radius: float = (MIN_RING_RADIUS + hop * RING_SPACING) * _zoom
|
||||
if radius < 1.0 or radius > 2000.0:
|
||||
continue
|
||||
var color: Color = COLOR_RING_MAJOR if hop % 5 == 0 else COLOR_RING
|
||||
draw_arc(center, radius, 0.0, TAU, 64, color, 0.5 if hop % 5 == 0 else 0.3, true)
|
||||
|
||||
|
||||
func _draw_sector_labels(center: Vector2) -> void:
|
||||
var label_radius: float = (MIN_RING_RADIUS + 12 * RING_SPACING) * _zoom
|
||||
for sector: String in SECTOR_LABELS:
|
||||
var angle: float = SECTOR_ANGLE_CENTER.get(sector, 0.0)
|
||||
var pos: Vector2 = center + Vector2(cos(angle), sin(angle)) * label_radius
|
||||
var label: String = SECTOR_LABELS[sector]
|
||||
var color: Color = SECTOR_COLORS.get(sector, COLOR_TEXT_DIM)
|
||||
var font := get_theme_default_font()
|
||||
var font_size: int = 10
|
||||
var text_size: Vector2 = font.get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size)
|
||||
draw_string(font, pos - text_size / 2.0, label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color)
|
||||
|
||||
|
||||
func _draw_systems(center: Vector2) -> void:
|
||||
for node: Dictionary in _nodes:
|
||||
var sid: String = node.get("system_id", "")
|
||||
if not _node_positions.has(sid):
|
||||
continue
|
||||
var pos: Vector2 = center + _node_positions[sid] * _zoom
|
||||
var sector: String = node.get("geographic_sector", "unknown")
|
||||
var topology: String = node.get("gate_topology", "")
|
||||
var color: Color = SECTOR_COLORS.get(sector, COLOR_TEXT_DIM)
|
||||
var radius: float = _dot_radius(topology)
|
||||
|
||||
# Gateway gets special treatment
|
||||
if node.get("is_gateway", false):
|
||||
color = COLOR_GATEWAY
|
||||
radius = GATEWAY_RADIUS
|
||||
|
||||
# Dim deep frontier slightly
|
||||
if sector == "deep_frontier":
|
||||
color.a = 0.7
|
||||
|
||||
# Hover highlight
|
||||
if sid == _hovered_system and sid != _selected_system:
|
||||
draw_arc(pos, radius + 3.0, 0.0, TAU, 16, Color(color.r, color.g, color.b, 0.4), 1.0, true)
|
||||
|
||||
draw_circle(pos, radius, color)
|
||||
|
||||
|
||||
func _draw_edges(center: Vector2) -> void:
|
||||
for edge: Array in _edges:
|
||||
if edge.size() < 2:
|
||||
continue
|
||||
var sid_a: String = edge[0]
|
||||
var sid_b: String = edge[1]
|
||||
if not _node_positions.has(sid_a) or not _node_positions.has(sid_b):
|
||||
continue
|
||||
var pos_a: Vector2 = center + _node_positions[sid_a] * _zoom
|
||||
var pos_b: Vector2 = center + _node_positions[sid_b] * _zoom
|
||||
|
||||
var alpha: float = EDGE_ALPHA
|
||||
# Highlight edges connected to selected system
|
||||
if _selected_system == sid_a or _selected_system == sid_b:
|
||||
alpha = EDGE_SELECTED_ALPHA
|
||||
|
||||
var color := Color(COLOR_TEXT.r, COLOR_TEXT.g, COLOR_TEXT.b, alpha)
|
||||
draw_line(pos_a, pos_b, color, EDGE_WIDTH, true)
|
||||
|
||||
|
||||
func _draw_selection(center: Vector2) -> void:
|
||||
if not _node_positions.has(_selected_system):
|
||||
return
|
||||
var pos: Vector2 = center + _node_positions[_selected_system] * _zoom
|
||||
draw_arc(pos, SELECTION_RING_RADIUS, 0.0, TAU, 24, COLOR_SELECTION, 1.2, true)
|
||||
|
||||
# Draw label next to selection
|
||||
var node: Dictionary = _node_lookup.get(_selected_system, {})
|
||||
var label: String = node.get("proper_name", _selected_system)
|
||||
if label.is_empty():
|
||||
label = _selected_system
|
||||
var font := get_theme_default_font()
|
||||
draw_string(font, pos + Vector2(SELECTION_RING_RADIUS + 4, 4), label, HORIZONTAL_ALIGNMENT_LEFT, -1, 12, COLOR_SELECTION)
|
||||
|
||||
|
||||
func _draw_info_panel(sz: Vector2) -> void:
|
||||
var node: Dictionary = _node_lookup.get(_selected_system, {})
|
||||
if node.is_empty():
|
||||
return
|
||||
|
||||
var panel_w: float = 220.0
|
||||
var panel_h: float = 130.0
|
||||
var margin: float = 16.0
|
||||
var panel_pos := Vector2(sz.x - panel_w - margin, margin)
|
||||
|
||||
# Background
|
||||
draw_rect(Rect2(panel_pos, Vector2(panel_w, panel_h)), COLOR_INFO_BG)
|
||||
draw_rect(Rect2(panel_pos, Vector2(panel_w, panel_h)), Color(COLOR_TEXT.r, COLOR_TEXT.g, COLOR_TEXT.b, 0.15), false, 1.0)
|
||||
|
||||
var font := get_theme_default_font()
|
||||
var y: float = panel_pos.y + 20.0
|
||||
var x: float = panel_pos.x + 12.0
|
||||
var line_h: float = 18.0
|
||||
|
||||
# System name
|
||||
var name: String = node.get("proper_name", "")
|
||||
if name.is_empty():
|
||||
name = node.get("system_id", "Unknown")
|
||||
draw_string(font, Vector2(x, y), name, HORIZONTAL_ALIGNMENT_LEFT, -1, 14, COLOR_TEXT)
|
||||
y += line_h
|
||||
|
||||
# System ID
|
||||
draw_string(font, Vector2(x, y), node.get("system_id", ""), HORIZONTAL_ALIGNMENT_LEFT, -1, 10, COLOR_TEXT_DIM)
|
||||
y += line_h
|
||||
|
||||
# Sector
|
||||
var sector: String = node.get("geographic_sector", "").replace("_", " ").capitalize()
|
||||
var sector_color: Color = SECTOR_COLORS.get(node.get("geographic_sector", ""), COLOR_TEXT_DIM)
|
||||
draw_string(font, Vector2(x, y), "Sector: " + sector, HORIZONTAL_ALIGNMENT_LEFT, -1, 11, sector_color)
|
||||
y += line_h
|
||||
|
||||
# Hop distance
|
||||
draw_string(font, Vector2(x, y), "Hop distance: " + str(node.get("hop_distance", "?")), HORIZONTAL_ALIGNMENT_LEFT, -1, 11, COLOR_TEXT_DIM)
|
||||
y += line_h
|
||||
|
||||
# Topology
|
||||
var topo: String = node.get("gate_topology", "").replace("_", " ").capitalize()
|
||||
draw_string(font, Vector2(x, y), "Topology: " + topo, HORIZONTAL_ALIGNMENT_LEFT, -1, 11, COLOR_TEXT_DIM)
|
||||
y += line_h
|
||||
|
||||
# Gate connections
|
||||
draw_string(font, Vector2(x, y), "Gates: " + str(node.get("aperture_count", 0)) + " apertures", HORIZONTAL_ALIGNMENT_LEFT, -1, 11, COLOR_TEXT_DIM)
|
||||
|
||||
|
||||
func _draw_title() -> void:
|
||||
var font := get_theme_default_font()
|
||||
draw_string(font, Vector2(16, 28), "THE REACH — NAVIGATOR", HORIZONTAL_ALIGNMENT_LEFT, -1, 16, COLOR_TEXT)
|
||||
draw_string(font, Vector2(16, 44), "Concord Assembly Gate Network — %d Systems" % _nodes.size(), HORIZONTAL_ALIGNMENT_LEFT, -1, 10, COLOR_TEXT_DIM)
|
||||
|
||||
|
||||
func _dot_radius(topology: String) -> float:
|
||||
match topology:
|
||||
"hub": return DOT_RADIUS_HUB
|
||||
"junction": return DOT_RADIUS_JUNCTION
|
||||
"dead_end": return DOT_RADIUS_DEAD_END
|
||||
_: return DOT_RADIUS_DEFAULT
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Input — selection, pan, zoom
|
||||
# =============================================================================
|
||||
|
||||
func _gui_input(event: InputEvent) -> void:
|
||||
if event is InputEventMouseButton:
|
||||
var mb := event as InputEventMouseButton
|
||||
if mb.pressed:
|
||||
match mb.button_index:
|
||||
MOUSE_BUTTON_LEFT:
|
||||
_handle_click(mb.position)
|
||||
MOUSE_BUTTON_MIDDLE:
|
||||
_is_panning = true
|
||||
_pan_start = mb.position
|
||||
_pan_start_offset = _pan_offset
|
||||
MOUSE_BUTTON_WHEEL_UP:
|
||||
var old_zoom := _zoom
|
||||
_zoom = clampf(_zoom + ZOOM_STEP, ZOOM_MIN, ZOOM_MAX)
|
||||
if _zoom != old_zoom:
|
||||
_dirty = true
|
||||
MOUSE_BUTTON_WHEEL_DOWN:
|
||||
var old_zoom := _zoom
|
||||
_zoom = clampf(_zoom - ZOOM_STEP, ZOOM_MIN, ZOOM_MAX)
|
||||
if _zoom != old_zoom:
|
||||
_dirty = true
|
||||
else:
|
||||
if mb.button_index == MOUSE_BUTTON_MIDDLE:
|
||||
_is_panning = false
|
||||
|
||||
elif event is InputEventMouseMotion:
|
||||
var mm := event as InputEventMouseMotion
|
||||
if _is_panning:
|
||||
_pan_offset = _pan_start_offset + (mm.position - _pan_start)
|
||||
_dirty = true
|
||||
else:
|
||||
_update_hover(mm.position)
|
||||
|
||||
|
||||
## Find the system_id of the nearest node to screen position, or "" if none within HIT_RADIUS.
|
||||
func _find_nearest_system(pos: Vector2) -> String:
|
||||
var sz: Vector2 = get_rect().size
|
||||
var center: Vector2 = sz * MAP_CENTER_FRACTION + _pan_offset
|
||||
var best_dist: float = HIT_RADIUS
|
||||
var best_sid: String = ""
|
||||
for node: Dictionary in _nodes:
|
||||
var sid: String = node.get("system_id", "")
|
||||
if not _node_positions.has(sid):
|
||||
continue
|
||||
var node_pos: Vector2 = center + _node_positions[sid] * _zoom
|
||||
var dist: float = pos.distance_to(node_pos)
|
||||
if dist < best_dist:
|
||||
best_dist = dist
|
||||
best_sid = sid
|
||||
return best_sid
|
||||
|
||||
|
||||
func _handle_click(pos: Vector2) -> void:
|
||||
var nearest := _find_nearest_system(pos)
|
||||
if nearest != "":
|
||||
_selected_system = nearest
|
||||
_show_edges = true
|
||||
else:
|
||||
_selected_system = ""
|
||||
_show_edges = false
|
||||
_dirty = true
|
||||
|
||||
|
||||
func _update_hover(pos: Vector2) -> void:
|
||||
var nearest := _find_nearest_system(pos)
|
||||
if nearest != _hovered_system:
|
||||
_hovered_system = nearest
|
||||
_dirty = true
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://ui/star_map.gd" id="1_starmap"]
|
||||
|
||||
; #674: Star map insert module — concentric hop-ring view of the Settled Reach gate network.
|
||||
; Sector-colored, interactive selection, pan/zoom. Accessible from the insert UI.
|
||||
; Data source: res://data/star_map_data.json (enriched from star-map.json + systems.db).
|
||||
; Positioned as full-size overlay. Toggle visibility via set_insert_active() or toggle_visible().
|
||||
|
||||
[node name="StarMapRenderer" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 1
|
||||
script = ExtResource("1_starmap")
|
||||
@@ -0,0 +1,289 @@
|
||||
{
|
||||
"system_id": "GJ 111",
|
||||
"proper_name": "Helderoog",
|
||||
"star_type": "F",
|
||||
"spectral_class": "F5/F6V",
|
||||
"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": "GJ111b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.56,
|
||||
"orbital_period_days": 76.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.78,
|
||||
"orbital_period_days": 290.0,
|
||||
"rotation_period_hours": 23.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "hot_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111d",
|
||||
"proper_name": "Greyton",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 1200,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.96,
|
||||
"orbital_period_days": 650.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_4 Afrikaans heritage (daughter colony of Eerste Wacht); 1-aperture dead_end; F5V brightest star on the corridor — white, requires viewport filtering; thick atmosphere, strong magnetic field, vigorous weather; lush native vegetation, active hydrology; written charter governance (codified from Eerste Wacht's customary law); agricultural surplus exported to Eerste Wacht; shared partnership protocols for genetic diversity management; largest population on the deep chain"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.64,
|
||||
"orbital_period_days": 1500.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111f",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 4800.0,
|
||||
"rotation_period_hours": 10.8,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, two moons"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111f-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ111f",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.14,
|
||||
"orbital_period_days": 7.6,
|
||||
"rotation_period_hours": 182.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111f-m2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ111f",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 17.2,
|
||||
"rotation_period_hours": 412.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "small rocky moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 12000.0,
|
||||
"rotation_period_hours": 36.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 28000.0,
|
||||
"rotation_period_hours": 45.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 60000.0,
|
||||
"rotation_period_hours": 53.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 130000.0,
|
||||
"rotation_period_hours": 31.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ111-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ111-oort-S1",
|
||||
"proper_name": "Helderoog Horizon",
|
||||
"orbits_body_id": "GJ111-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 25,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 1 aperture; dead_end; connects Eerste Wacht; agricultural surplus freight to parent community; medical and genetic supply receiving; decade-rated reserves"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"system_id": "GJ 1111",
|
||||
"proper_name": "Zenzele",
|
||||
"star_type": "unusual",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M6.5",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1156h",
|
||||
"body_id": "GJ1156i",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 9,
|
||||
@@ -213,11 +213,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1156h-1",
|
||||
"body_id": "GJ1156i-1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ1156h",
|
||||
"parent_body_id": "GJ1156i",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
@@ -233,11 +233,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1156h-2",
|
||||
"body_id": "GJ1156i-2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ1156h",
|
||||
"parent_body_id": "GJ1156i",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"system_id": "GJ 117",
|
||||
"proper_name": null,
|
||||
"proper_name": "GJ 117",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M1V",
|
||||
"wiki_data": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"system_id": "GJ 1221",
|
||||
"proper_name": null,
|
||||
"proper_name": "GJ 1221",
|
||||
"star_type": "D",
|
||||
"spectral_class": "DXP9",
|
||||
"wiki_data": {
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 1267",
|
||||
"proper_name": "Saudade",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ1267b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 10.2,
|
||||
"rotation_period_hours": 244.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1267c",
|
||||
"proper_name": "Monsaraz",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 10000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 72.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_3 Portuguese heritage; 2-aperture through_route; M0V dim star; founded in solidarity with Recanto's exiles one hop away; corridor supply function to Recanto; community governance (nominal Assembly registration, Commission compliance); three centuries continuous kinship and commerce relationship with Recanto; Guardians of Autonomy sympathy (institutional wariness from founding history)"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1267-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1267d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"orbital_period_days": 250.0,
|
||||
"rotation_period_hours": 25.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1267e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 740.0,
|
||||
"rotation_period_hours": 29.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1267f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2100.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1267g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5600.0,
|
||||
"rotation_period_hours": 18.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ1267-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ1267-oort-S1",
|
||||
"proper_name": "Saudade Horizon",
|
||||
"orbits_body_id": "GJ1267-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 220,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Recanto and outer corridor; corridor supply staging; kinship and commerce freight to Recanto"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
{
|
||||
"system_id": "GJ 127A",
|
||||
"proper_name": "Dalim",
|
||||
"star_type": "F",
|
||||
"spectral_class": "F8V",
|
||||
"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": "GJ127Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.48,
|
||||
"orbital_period_days": 42.0,
|
||||
"rotation_period_hours": 17.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Ac",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.72,
|
||||
"orbital_period_days": 180.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "hot_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Ad",
|
||||
"proper_name": "Harra",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 500,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.92,
|
||||
"orbital_period_days": 550.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "research",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_4 Arabic heritage research community; 2-aperture through_route; F8V near-solar star; oxygen-nitrogen atmosphere; volcanic activity in southern hemisphere; geothermal energy from volcanic region; greenhouse agriculture independent of star light cycle; astronomical observation program; geological monitoring network; communications relay for deep corridor; collegial administrative council governance; population includes descendants of founding academics"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.60,
|
||||
"orbital_period_days": 1300.0,
|
||||
"rotation_period_hours": 31.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Af",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 4200.0,
|
||||
"rotation_period_hours": 12.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, two moons"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Af-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ127Af",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.10,
|
||||
"orbital_period_days": 6.2,
|
||||
"rotation_period_hours": 148.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Af-m2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ127Af",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.06,
|
||||
"orbital_period_days": 14.8,
|
||||
"rotation_period_hours": 355.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "small rocky moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 9600.0,
|
||||
"rotation_period_hours": 34.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Ah",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 43.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Ai",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.26,
|
||||
"orbital_period_days": 48000.0,
|
||||
"rotation_period_hours": 51.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127Aj",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.09,
|
||||
"orbital_period_days": 104000.0,
|
||||
"rotation_period_hours": 29.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ127A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ127A-oort-S1",
|
||||
"proper_name": "Dalim Horizon",
|
||||
"orbits_body_id": "GJ127A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 30,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Entremeio and Candeia corridor; communications relay node for deep corridor"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 138",
|
||||
"proper_name": "Sertão",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ138b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 9.6,
|
||||
"rotation_period_hours": 230.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ138c",
|
||||
"proper_name": "Portel",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 12000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 70.0,
|
||||
"rotation_period_hours": 28.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_4 Portuguese heritage ('backcountry'); 2-aperture through_route; M0V dim star; adapted M-dwarf agricultural techniques (supplemental lighting, calibrated irrigation); modest agricultural surplus toward Nascente corridor; community council governance; Commission filed registration only (no resident agents); supply lead times in months"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ138-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ138d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.5,
|
||||
"orbital_period_days": 240.0,
|
||||
"rotation_period_hours": 25.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ138e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 29.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ138f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ138g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5200.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ138-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ138-oort-S1",
|
||||
"proper_name": "Sertão Horizon",
|
||||
"orbits_body_id": "GJ138-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 240,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Pollux corridor and Pedra Funda; agricultural freight staging; Commission registration (compliance on community timeline)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -213,7 +213,7 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ139h",
|
||||
"body_id": "GJ139j",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 10,
|
||||
@@ -233,11 +233,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ139h-1",
|
||||
"body_id": "GJ139j-1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ139h",
|
||||
"parent_body_id": "GJ139j",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
@@ -253,11 +253,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ139h-2",
|
||||
"body_id": "GJ139j-2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ139h",
|
||||
"parent_body_id": "GJ139j",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
|
||||
@@ -0,0 +1,280 @@
|
||||
{
|
||||
"system_id": "GJ 142",
|
||||
"proper_name": "Leuchtturm",
|
||||
"star_type": "G",
|
||||
"spectral_class": "G5V",
|
||||
"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": "GJ142b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.5,
|
||||
"orbital_period_days": 42.0,
|
||||
"rotation_period_hours": 17.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142c",
|
||||
"proper_name": "Jena",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 3000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.88,
|
||||
"orbital_period_days": 350.0,
|
||||
"rotation_period_hours": 26.2,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "research",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_3 German heritage ('lighthouse'); 2-aperture spur_end; G5V warm yellow star (warmer than deep_frontier norm); limited arable zones, small research-sized population; three-century astronomical observation archive (deep frontier survey coordinates, spectroscopic data); Veil Institute informal relationship (collegial, professional networks, shared calibration standards); community council governance; Commission minimal presence (infrequent administrative visits); community exports data not crops"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.68,
|
||||
"orbital_period_days": 700.0,
|
||||
"rotation_period_hours": 23.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2200.0,
|
||||
"rotation_period_hours": 11.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ142e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 6.4,
|
||||
"rotation_period_hours": 153.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 5600.0,
|
||||
"rotation_period_hours": 34.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 13000.0,
|
||||
"rotation_period_hours": 43.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 28000.0,
|
||||
"rotation_period_hours": 52.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 60000.0,
|
||||
"rotation_period_hours": 30.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.09,
|
||||
"orbital_period_days": 120000.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ142-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ142-oort-S1",
|
||||
"proper_name": "Leuchtturm Horizon",
|
||||
"orbits_body_id": "GJ142-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 180,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; spur_end; connects Knotenpunkt and GJ 425A; observatory supply staging; Commission administrative visits; relay array for inner-corridor data transmission"
|
||||
},
|
||||
{
|
||||
"station_id": "GJ142c-S1",
|
||||
"proper_name": "Sternwarte",
|
||||
"orbits_body_id": "GJ142c",
|
||||
"station_type": "research",
|
||||
"population": 420,
|
||||
"economic_role": "research",
|
||||
"docking_class": "standard",
|
||||
"has_gate_infrastructure": false,
|
||||
"notes": "deep frontier observatory; precision optical instruments, cryogenic data storage; three-century spectroscopic archive; Veil Institute affiliated researchers; equipment reserve stockpile"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 146",
|
||||
"proper_name": "GJ 146",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ146b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 10.4,
|
||||
"rotation_period_hours": 249.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ146c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.78,
|
||||
"orbital_period_days": 68.0,
|
||||
"rotation_period_hours": 26.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "marginal HZ candidate; cold, low biodiversity, 'adequate' per surveys; assessed and set aside multiple times; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ146-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ146d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.48,
|
||||
"orbital_period_days": 230.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ146e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 680.0,
|
||||
"rotation_period_hours": 29.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ146f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 1900.0,
|
||||
"rotation_period_hours": 22.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ146g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.07,
|
||||
"orbital_period_days": 5000.0,
|
||||
"rotation_period_hours": 17.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ146-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ146-oort-S1",
|
||||
"proper_name": "GJ 146 Horizon",
|
||||
"orbits_body_id": "GJ146-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Randgebiet and GJ 853A; corridor waypoint; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 147",
|
||||
"proper_name": "Entremeio",
|
||||
"star_type": "F",
|
||||
"spectral_class": "F9V",
|
||||
"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": "GJ147b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 58.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147c",
|
||||
"proper_name": "Almeirim",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 700,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.90,
|
||||
"orbital_period_days": 480.0,
|
||||
"rotation_period_hours": 26.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_4 mixed south_reach heritage (Brazilian-Portuguese, Filipino, Indonesian); 2-aperture through_route; F9V near-solar star with distant M-dwarf companion ('the follower'); thin atmosphere requiring supplemental pressure at low elevations; equatorial lakeside settlement in microclimate; elected municipal council governance (four-year terms); last conventional settlement on corridor to Abzu; corridor provisioning services; 40% caloric needs still imported"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.66,
|
||||
"orbital_period_days": 1100.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 3600.0,
|
||||
"rotation_period_hours": 11.6,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ147e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 6.8,
|
||||
"rotation_period_hours": 163.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 8800.0,
|
||||
"rotation_period_hours": 38.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.39,
|
||||
"orbital_period_days": 20000.0,
|
||||
"rotation_period_hours": 47.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.25,
|
||||
"orbital_period_days": 44000.0,
|
||||
"rotation_period_hours": 57.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.22,
|
||||
"orbital_period_days": 64000.0,
|
||||
"rotation_period_hours": 42.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 96000.0,
|
||||
"rotation_period_hours": 28.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ147-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ147-oort-S1",
|
||||
"proper_name": "Entremeio Horizon",
|
||||
"orbits_body_id": "GJ147-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 35,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Nova Estrada and Dalim corridor; last conventional provisioning stop before deep chain toward Abzu; corridor provisioning services"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 167",
|
||||
"proper_name": "GJ 167",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K2V",
|
||||
"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": "GJ167b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 26.0,
|
||||
"rotation_period_hours": 19.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.72,
|
||||
"orbital_period_days": 190.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "near-HZ rocky, marginal conditions, unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.56,
|
||||
"orbital_period_days": 560.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1600.0,
|
||||
"rotation_period_hours": 11.8,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ167e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.4,
|
||||
"rotation_period_hours": 129.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4200.0,
|
||||
"rotation_period_hours": 33.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 9800.0,
|
||||
"rotation_period_hours": 42.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 28.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 48000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ167-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ167-oort-S1",
|
||||
"proper_name": "GJ 167 Horizon",
|
||||
"orbits_body_id": "GJ167-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 324A and Helle Wacht; automated relay only; navigation waypoint; no settlement attempt ever made"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 174",
|
||||
"proper_name": "Tiefenbach",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K3V",
|
||||
"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": "GJ174b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 22.0,
|
||||
"rotation_period_hours": 19.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174c",
|
||||
"proper_name": "Clausthal",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 20000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.90,
|
||||
"orbital_period_days": 180.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_3 German heritage ('deep creek'); 2-aperture through_route; K3V stable star; agriculturally self-sufficient (three centuries, steadier yields than M-dwarf corridor); community governance (self-reliant, Compact affiliation historical not operational); emergency reserve protocols in continuous operation since founding; Commission compliance maintained on schedule (no visit in current generation); external supply measured in years not months"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.56,
|
||||
"orbital_period_days": 560.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1800.0,
|
||||
"rotation_period_hours": 11.8,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ174e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.8,
|
||||
"rotation_period_hours": 139.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4600.0,
|
||||
"rotation_period_hours": 33.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 10800.0,
|
||||
"rotation_period_hours": 42.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 28.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 52000.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ174-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ174-oort-S1",
|
||||
"proper_name": "Tiefenbach Horizon",
|
||||
"orbits_body_id": "GJ174-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 380,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Altgrund and outer deep_frontier; agricultural freight staging; emergency reserve supply logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 177",
|
||||
"proper_name": "GJ 177",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ177b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 10.6,
|
||||
"rotation_period_hours": 254.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ177c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.8,
|
||||
"orbital_period_days": 68.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable but unremarkable; adequate atmosphere, temperature, water, geology; nothing exceeds parameters in any direction; surveys thorough and unenthusiastic; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ177-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ177d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.5,
|
||||
"orbital_period_days": 220.0,
|
||||
"rotation_period_hours": 25.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ177e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 660.0,
|
||||
"rotation_period_hours": 29.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ177f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 1800.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ177g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 4800.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ177-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ177-oort-S1",
|
||||
"proper_name": "GJ 177 Horizon",
|
||||
"orbits_body_id": "GJ177-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 394 and GJ 425A; automated transit processing; corridor waypoint"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 189",
|
||||
"proper_name": "Altgrund",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ189b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 9.8,
|
||||
"rotation_period_hours": 235.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ189c",
|
||||
"proper_name": "Goslar",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 30000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.9,
|
||||
"orbital_period_days": 70.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_2 German heritage ('old ground'); 2-aperture through_route; M0V dim star; four centuries continuous M-dwarf agriculture (mature worked soil, established cultivars); community governance predating all formal Reach institutions; Compact of Westphalia elder system (warm relations, non-binding); Commission long compliance record; communication relay maintenance as critical infrastructure; absorbed four successive cohorts of crisis refugees across four centuries"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ189-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ189d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 240.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ189e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 29.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ189f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2000.0,
|
||||
"rotation_period_hours": 22.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ189g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5400.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ189-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ189-oort-S1",
|
||||
"proper_name": "Altgrund Horizon",
|
||||
"orbits_body_id": "GJ189-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 560,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects inner German frontier corridor; agricultural freight staging; communication relay infrastructure (critical for deep_frontier connectivity); Commission compliance office"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 201",
|
||||
"proper_name": "GJ 201",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K2V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": true,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ201b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 28.0,
|
||||
"rotation_period_hours": 20.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, trace atmosphere, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.82,
|
||||
"orbital_period_days": 200.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "HZ candidate; geologically stable, hydrologically inert, atmospherically adequate; four surveys across three centuries, each confirming no compelling reason to settle; junction topology noted as potentially strategic if traffic increased by an order of magnitude; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 580.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1900.0,
|
||||
"rotation_period_hours": 12.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, two captured moons"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ201e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.1,
|
||||
"orbital_period_days": 5.6,
|
||||
"rotation_period_hours": 134.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "captured icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201e-m2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ201e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.07,
|
||||
"orbital_period_days": 13.2,
|
||||
"rotation_period_hours": 316.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "captured rocky moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4800.0,
|
||||
"rotation_period_hours": 34.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 11000.0,
|
||||
"rotation_period_hours": 43.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 26000.0,
|
||||
"rotation_period_hours": 28.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 54000.0,
|
||||
"rotation_period_hours": 23.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ201-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ201-oort-S1",
|
||||
"proper_name": "GJ 201 Horizon",
|
||||
"orbits_body_id": "GJ201-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 3 apertures; junction; connects Fernlicht, GJ 684A (deep chain), and GJ 481 (Errai spur); last shared node before three diverging corridors; Gate Corporation maintenance rotation (~18 months); automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 204",
|
||||
"proper_name": "Pedra Funda",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K5V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ204b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 14.0,
|
||||
"rotation_period_hours": 336.0,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ204c",
|
||||
"proper_name": "Mértola",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 15000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.88,
|
||||
"orbital_period_days": 140.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_3 Portuguese heritage ('deep stone'); 2-aperture through_route; K5V dim star; religious founding community (synodal governance — religious council evolved into secular administration); three centuries self-sufficient M-dwarf agriculture; agricultural expertise maintained alongside theological conviction; Commission compliance filed on schedule (no visit in decades)"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ204-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ204d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"orbital_period_days": 440.0,
|
||||
"rotation_period_hours": 25.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ204e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 1200.0,
|
||||
"rotation_period_hours": 29.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ204f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.30,
|
||||
"orbital_period_days": 3400.0,
|
||||
"rotation_period_hours": 35.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ204g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 8400.0,
|
||||
"rotation_period_hours": 22.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ204h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.07,
|
||||
"orbital_period_days": 20000.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ204-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ204-oort-S1",
|
||||
"proper_name": "Pedra Funda Horizon",
|
||||
"orbits_body_id": "GJ204-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 180,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Sertão corridor and outer deep_frontier; medical supply imports; agricultural freight staging; Commission compliance submissions (no on-site presence)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 211",
|
||||
"proper_name": "Encruzilhada",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ211b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 9.4,
|
||||
"rotation_period_hours": 225.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ211c",
|
||||
"proper_name": "Almeida",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 10000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 70.0,
|
||||
"rotation_period_hours": 28.6,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_4 Portuguese heritage ('crossroads'); 2-aperture through_route (founding requirement — never one gate); M0V dim star; Portuguese M-dwarf farming; strongly autonomist community governance (founded by Gate Silence survivors); disproportionate gate maintenance and contingency investment; Commission gate inspection documentation most thorough in territory"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ211-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ211d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.5,
|
||||
"orbital_period_days": 240.0,
|
||||
"rotation_period_hours": 25.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ211e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 700.0,
|
||||
"rotation_period_hours": 29.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ211f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2000.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ211g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5400.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ211-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ211-oort-S1",
|
||||
"proper_name": "Encruzilhada Horizon",
|
||||
"orbits_body_id": "GJ211-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 340,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 117 and Último Farol; gate maintenance invested at premium levels; contingency supply staging; Commission gate inspection coordination"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 282B",
|
||||
"proper_name": "Travessia",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K5V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ282Bb",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 16.0,
|
||||
"rotation_period_hours": 20.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ282Bc",
|
||||
"proper_name": "Belver",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 800,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.82,
|
||||
"orbital_period_days": 140.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_4 Portuguese heritage ('beautiful watch'); 2-aperture through_route; K5V dim star; thin atmosphere, low surface water; twenty-year soil amendment cycles before first harvest; community assembly governance (direct democracy, all residents over fifteen); last provisioning stop before deep corridor toward Abzu; vinho de campo local fermented grain beverage; Portuguese loanwords in agricultural vocabulary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ282B-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ282Bd",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"orbital_period_days": 440.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ282Be",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 1200.0,
|
||||
"rotation_period_hours": 30.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ282Bf",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.30,
|
||||
"orbital_period_days": 3400.0,
|
||||
"rotation_period_hours": 36.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ282Bg",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 8800.0,
|
||||
"rotation_period_hours": 23.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ282Bh",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 18.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ282B-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ282B-oort-S1",
|
||||
"proper_name": "Travessia Horizon",
|
||||
"orbits_body_id": "GJ282B-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 45,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects The Narrows and deeper corridor toward GJ 421B; transit provisioning for outbound travelers; biological amendment supply staging"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 309",
|
||||
"proper_name": "Vorposten",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K0V",
|
||||
"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": "GJ309b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 30.0,
|
||||
"rotation_period_hours": 19.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309c",
|
||||
"proper_name": "Freystadt",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 2000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.9,
|
||||
"orbital_period_days": 280.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_5 German heritage ('outpost'); 2-aperture through_route; K0V stable star; early-generation K-type agriculture (not yet self-sufficient); Compact of Westphalia founding instincts (mutual recognition, minimal external obligations); community compact governance; Compact agricultural consultation and equipment support (time-limited); Commission registration filed but no visit"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2200.0,
|
||||
"rotation_period_hours": 11.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ309e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.6,
|
||||
"rotation_period_hours": 134.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 5400.0,
|
||||
"rotation_period_hours": 34.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 12400.0,
|
||||
"rotation_period_hours": 42.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.26,
|
||||
"orbital_period_days": 26000.0,
|
||||
"rotation_period_hours": 50.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 54000.0,
|
||||
"rotation_period_hours": 29.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ309-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ309-oort-S1",
|
||||
"proper_name": "Vorposten Horizon",
|
||||
"orbits_body_id": "GJ309-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 140,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Weitblick and Randgebiet; Compact settlement support coordination; first-generation infrastructure still building"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 324A",
|
||||
"proper_name": null,
|
||||
"star_type": "K",
|
||||
"spectral_class": "K0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": true,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ324Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 28.0,
|
||||
"rotation_period_hours": 19.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324Ac",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.82,
|
||||
"orbital_period_days": 280.0,
|
||||
"rotation_period_hours": 25.6,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable zone; marginal agricultural potential per 180-year-old survey; unsettled — every cohort that assessed it moved on; no more recent survey commissioned"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324Ad",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2200.0,
|
||||
"rotation_period_hours": 11.6,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324Ae-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ324Ae",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.8,
|
||||
"rotation_period_hours": 139.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324Af",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 5600.0,
|
||||
"rotation_period_hours": 34.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 12800.0,
|
||||
"rotation_period_hours": 42.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324Ah",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.26,
|
||||
"orbital_period_days": 28000.0,
|
||||
"rotation_period_hours": 50.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324Ai",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 58000.0,
|
||||
"rotation_period_hours": 29.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ324A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ324A-oort-S1",
|
||||
"proper_name": "GJ 324A Horizon",
|
||||
"orbits_body_id": "GJ324A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; spur_end; connects Knotenpunkt and GJ 167; self-maintaining alien construction; automated relay hardware (wave_3 corridor mapping era); no human servicing in living memory; open charter site (no qualifying application in three centuries)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"system_id": "GJ 325B",
|
||||
"proper_name": null,
|
||||
"proper_name": "GJ 325B",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K6 V",
|
||||
"wiki_data": {
|
||||
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 3403",
|
||||
"proper_name": "GJ 3403",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K2V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": true,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ3403b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 26.0,
|
||||
"rotation_period_hours": 19.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.84,
|
||||
"orbital_period_days": 195.0,
|
||||
"rotation_period_hours": 25.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable zone; meets minimum settlement parameters across all categories; no compelling argument for or against; surveyed multiple times, never claimed; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 560.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1800.0,
|
||||
"rotation_period_hours": 11.8,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ3403e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.8,
|
||||
"rotation_period_hours": 139.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4600.0,
|
||||
"rotation_period_hours": 34.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 10600.0,
|
||||
"rotation_period_hours": 42.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 28.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 50000.0,
|
||||
"rotation_period_hours": 22.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3403-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ3403-oort-S1",
|
||||
"proper_name": "GJ 3403 Horizon",
|
||||
"orbits_body_id": "GJ3403-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Neugrund and GJ 656; corridor node; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 349",
|
||||
"proper_name": "Randgebiet",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ349b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 9.8,
|
||||
"rotation_period_hours": 235.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ349c",
|
||||
"proper_name": "Herborn",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 1500,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.84,
|
||||
"orbital_period_days": 70.0,
|
||||
"rotation_period_hours": 28.2,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_5 German heritage ('border territory'); 2-aperture through_route; M0V dim star; second/third generation M-dwarf agriculture (viable, not yet surplus); community governance (Compact cultural inheritance, not formal membership); basic infrastructure and fabrication; limited medical capability (two practitioners); founded by second-generation Vorposten settlers"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ349-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ349d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.48,
|
||||
"orbital_period_days": 240.0,
|
||||
"rotation_period_hours": 25.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ349e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 29.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ349f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ349g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5200.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ349-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ349-oort-S1",
|
||||
"proper_name": "Randgebiet Horizon",
|
||||
"orbits_body_id": "GJ349-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 65,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Vorposten and outer corridor; supply line staging; no external faction or Commission presence"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -213,7 +213,7 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ34Ah",
|
||||
"body_id": "GJ34Aj",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 10,
|
||||
@@ -233,11 +233,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ34Ah-1",
|
||||
"body_id": "GJ34Aj-1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ34Ah",
|
||||
"parent_body_id": "GJ34Aj",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
@@ -253,11 +253,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ34Ah-2",
|
||||
"body_id": "GJ34Aj-2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ34Ah",
|
||||
"parent_body_id": "GJ34Aj",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ34Bg",
|
||||
"body_id": "GJ34Bi",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 9,
|
||||
@@ -213,11 +213,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ34Bg-1",
|
||||
"body_id": "GJ34Bi-1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ34Bg",
|
||||
"parent_body_id": "GJ34Bi",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
@@ -233,11 +233,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ34Bg-2",
|
||||
"body_id": "GJ34Bi-2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ34Bg",
|
||||
"parent_body_id": "GJ34Bi",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 354A",
|
||||
"proper_name": "GJ 354A",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ354Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 11.4,
|
||||
"rotation_period_hours": 273.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ354Ac",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.76,
|
||||
"orbital_period_days": 72.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "HZ candidate; thin atmosphere — technically habitable but pressure differential requires expensive engineering; noted, assessed as solvable at cost, determined not worth the cost at hop 12; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ354A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ354Ad",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.5,
|
||||
"orbital_period_days": 240.0,
|
||||
"rotation_period_hours": 25.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ354Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 29.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ354Af",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ354Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5200.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ354A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ354A-oort-S1",
|
||||
"proper_name": "GJ 354A Horizon",
|
||||
"orbits_body_id": "GJ354A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 656 and GJ 684B; corridor waypoint; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 394",
|
||||
"proper_name": "GJ 394",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ394b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 11.0,
|
||||
"rotation_period_hours": 264.0,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ394c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.74,
|
||||
"orbital_period_days": 66.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "marginal HZ outer edge; cold, dry, atmospherically sparse; meets minimum parameters per surveys; suitable for emergency shelter only; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ394-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ394d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.48,
|
||||
"orbital_period_days": 220.0,
|
||||
"rotation_period_hours": 25.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ394e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 660.0,
|
||||
"rotation_period_hours": 29.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ394f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 1800.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ394g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 4800.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ394-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ394-oort-S1",
|
||||
"proper_name": "GJ 394 Horizon",
|
||||
"orbits_body_id": "GJ394-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 177 and Einde; the anteroom — empty corridor node before the dead-end terminus; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 3943",
|
||||
"proper_name": "Brandpunt",
|
||||
"star_type": "binary",
|
||||
"spectral_class": "K5V+M3V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ3943b",
|
||||
"proper_name": "Skuiling",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 1800,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.62,
|
||||
"orbital_period_days": 130.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": "research",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": "research_export",
|
||||
"notes": "polar ice extraction provides water supply and habitat foundation; pressurized dome settlements anchored to ice-extraction framework; Agricultural Spectrum Research Compact facilities; primary K5V+M3V binary oscillation testing environment; 1,800 permanent residents plus rotating research cohort from member communities"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3943-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3943c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.48,
|
||||
"orbital_period_days": 400.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3943d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 1100.0,
|
||||
"rotation_period_hours": 29.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3943e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 3000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3943f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 7600.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3943g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.06,
|
||||
"orbital_period_days": 18000.0,
|
||||
"rotation_period_hours": 15.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ3943-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ3943-oort-S1",
|
||||
"proper_name": "Brandpunt Horizon",
|
||||
"orbits_body_id": "GJ3943-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 120,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Pedra Seca and Eerste Wacht; wave_5 settlement; Agricultural Spectrum Research Compact operations; Commission research contract; researcher rotation transit; K5V+M3V binary (shifting light registers as color oscillation on viewport)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"system_id": "GJ 3988",
|
||||
"proper_name": null,
|
||||
"proper_name": "GJ 3988",
|
||||
"star_type": "unusual",
|
||||
"spectral_class": "k-m",
|
||||
"wiki_data": {
|
||||
@@ -61,7 +61,7 @@
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 86.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "trace",
|
||||
@@ -81,7 +81,7 @@
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.30,
|
||||
"surface_gravity": 0.3,
|
||||
"orbital_period_days": 260.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "trace",
|
||||
@@ -101,7 +101,7 @@
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.10,
|
||||
"surface_gravity": 0.1,
|
||||
"orbital_period_days": 780.0,
|
||||
"rotation_period_hours": 20.2,
|
||||
"atmosphere": "none",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"system_id": "GJ 4056",
|
||||
"proper_name": null,
|
||||
"star_type": "unusual",
|
||||
"spectral_class": "g",
|
||||
"proper_name": "GJ 4056",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M4V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 0,
|
||||
"inhabited_count": 0,
|
||||
@@ -121,7 +121,7 @@
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.10,
|
||||
"surface_gravity": 0.1,
|
||||
"orbital_period_days": 2400.0,
|
||||
"rotation_period_hours": 20.6,
|
||||
"atmosphere": "none",
|
||||
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 407",
|
||||
"proper_name": "Einde",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K2V",
|
||||
"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": "GJ407b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 26.0,
|
||||
"rotation_period_hours": 19.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407c",
|
||||
"proper_name": "Sutherland",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 3000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.88,
|
||||
"orbital_period_days": 200.0,
|
||||
"rotation_period_hours": 26.6,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_5 Afrikaans/Dutch heritage ('the end'); 1-aperture dead_end; K2V adequate star; agricultural by design and conviction (no extraction, no heavy industry, no large-scale industrial processes); community assembly governance (full resident participation, slow, considered correct); minimum Commission compliance; extended isolation stockpiles; reached only through unsettled GJ 394"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 580.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1800.0,
|
||||
"rotation_period_hours": 11.8,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ407e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.8,
|
||||
"rotation_period_hours": 139.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4600.0,
|
||||
"rotation_period_hours": 34.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 10800.0,
|
||||
"rotation_period_hours": 42.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 28.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 50000.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ407-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ407-oort-S1",
|
||||
"proper_name": "Einde Horizon",
|
||||
"orbits_body_id": "GJ407-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 65,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 1 aperture; dead_end; connects GJ 394 (unsettled anteroom); single supply corridor; isolation stockpile staging; minimum Commission compliance"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -44,12 +44,12 @@
|
||||
"surface_gravity": 0.89,
|
||||
"orbital_period_days": 200.0,
|
||||
"rotation_period_hours": 24.8,
|
||||
"atmosphere": "breathable",
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "rivers-lakes",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "distributed-rural",
|
||||
"industrial_corridor": "west_reach",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; K2V habitable zone; genuine agricultural potential found by founding pastoral cooperative; temperate conditions, good soil, river-valley farmland; Wave 3 settlement ~300 years old; population peaked ~80 years ago and in slow consistent decline as young adults leave for inner-corridor systems offering more economic variety; self-governing council of landholders (reformed ~150 years ago to include non-agricultural members); no Assembly or Compact presence; Gate Corporation maintenance rotation is extent of institutional contact"
|
||||
},
|
||||
{
|
||||
@@ -165,7 +165,7 @@
|
||||
"orbital_period_days": 27.8,
|
||||
"rotation_period_hours": 667.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "ice",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 421B",
|
||||
"proper_name": "Pedra Seca",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K7V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ421Bb",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 15.0,
|
||||
"rotation_period_hours": 360.0,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ421Bc",
|
||||
"proper_name": "Serpa",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 800,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.84,
|
||||
"orbital_period_days": 115.0,
|
||||
"rotation_period_hours": 27.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_3 Southern African heritage (Afrikaans/Xhosa, Portuguese naming); 2-aperture through_route; K7V dim star; arid — shallow aquifers, seasonal seep-springs, measurable but rare precipitation; cistern and condensation collector network (built before permanent structures); community council governance (water allocation as primary function); water sales to deeper corridor travelers (charter provisions against profiteering); drought-resistant grains and root vegetables"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ421B-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ421Bd",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"orbital_period_days": 460.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ421Be",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 1300.0,
|
||||
"rotation_period_hours": 30.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ421Bf",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.30,
|
||||
"orbital_period_days": 3600.0,
|
||||
"rotation_period_hours": 36.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ421Bg",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 9200.0,
|
||||
"rotation_period_hours": 23.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ421Bh",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ421B-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ421B-oort-S1",
|
||||
"proper_name": "Pedra Seca Horizon",
|
||||
"orbits_body_id": "GJ421B-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 40,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Travessia and GJ 3943; water provisioning for deeper corridor travelers; last reliably watered stop before unsettled stretch"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 425A",
|
||||
"proper_name": "GJ 425A",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K4V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 0,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ425Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 18.0,
|
||||
"rotation_period_hours": 19.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ425Ac",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.66,
|
||||
"orbital_period_days": 155.0,
|
||||
"rotation_period_hours": 25.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "near-HZ rocky, marginal conditions, unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ425A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ425Ad",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.48,
|
||||
"orbital_period_days": 480.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ425Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 1400.0,
|
||||
"rotation_period_hours": 30.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ425Af",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 3800.0,
|
||||
"rotation_period_hours": 36.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ425Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 9600.0,
|
||||
"rotation_period_hours": 22.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ425Ah",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.07,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ425A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ425A-oort-S1",
|
||||
"proper_name": "GJ 425A Horizon",
|
||||
"orbits_body_id": "GJ425A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Leuchtturm and GJ 177; automated relay hardware; minimal transit traffic; unmaintained gap in Leuchtturm corridor"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 428A",
|
||||
"proper_name": "Fluchtburg",
|
||||
"star_type": "K",
|
||||
"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": "GJ428Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 16.0,
|
||||
"rotation_period_hours": 19.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428Ac",
|
||||
"proper_name": "Fritzlar",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 14000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.88,
|
||||
"orbital_period_days": 145.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_4 German heritage ('refuge castle'); 2-aperture through_route; K5V stable star; unauthorized settlement (no Assembly registration, no Commission presence); Founding Refusals governance (codified principles on limits of institutional authority); agricultural surplus; transit hospitality services; quiet corridor influence in deep_frontier oral tradition; Guardians of Autonomy declined formal affiliation"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428Ad",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.54,
|
||||
"orbital_period_days": 440.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1400.0,
|
||||
"rotation_period_hours": 12.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428Ae-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ428Ae",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.10,
|
||||
"orbital_period_days": 5.4,
|
||||
"rotation_period_hours": 129.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428Af",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 3800.0,
|
||||
"rotation_period_hours": 33.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 9000.0,
|
||||
"rotation_period_hours": 42.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428Ah",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 21000.0,
|
||||
"rotation_period_hours": 28.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428Ai",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 46000.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ428A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ428A-oort-S1",
|
||||
"proper_name": "Fluchtburg Horizon",
|
||||
"orbits_body_id": "GJ428A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 280,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 69 and Fernlicht corridor; unauthorized (no Assembly registration); transit hospitality; agricultural freight staging"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"system_id": "GJ 434",
|
||||
"proper_name": null,
|
||||
"proper_name": "GJ 434",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M1Vvar",
|
||||
"wiki_data": {
|
||||
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 481",
|
||||
"proper_name": "Orchard's End",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K2V",
|
||||
"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": "GJ481b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 28.0,
|
||||
"rotation_period_hours": 20.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481c",
|
||||
"proper_name": "Pershore",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 4000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.92,
|
||||
"orbital_period_days": 200.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_4 mixed south_reach heritage (Orchard family founding expedition); 2-aperture spur_end; K2V amber-warm agricultural star; unusually favorable conditions for hop 14; adapted stone-fruit orchards visible from orbit (pale amber stripe in fruiting season, six generations selective cultivation); cooperative council governance (founding charter, expanded by amendment to include non-founding families); net food exporter; no Syndic affiliation, no corporate supply contracts by charter"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.60,
|
||||
"orbital_period_days": 580.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1900.0,
|
||||
"rotation_period_hours": 12.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ481e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 6.4,
|
||||
"rotation_period_hours": 153.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4800.0,
|
||||
"rotation_period_hours": 34.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 11000.0,
|
||||
"rotation_period_hours": 43.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 26000.0,
|
||||
"rotation_period_hours": 29.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 54000.0,
|
||||
"rotation_period_hours": 23.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ481-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ481-oort-S1",
|
||||
"proper_name": "Orchard's End Horizon",
|
||||
"orbits_body_id": "GJ481-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 80,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; spur_end; connects Errai corridor; agricultural surplus freight staging; no Commission or Syndic presence"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 482B",
|
||||
"proper_name": "Travessa",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K2V",
|
||||
"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": "GJ482Bb",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 24.0,
|
||||
"rotation_period_hours": 19.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482Bc",
|
||||
"proper_name": "Constância",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 8000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 200.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "commercial",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_4 Portuguese heritage ('crossing'); 2-aperture through_route; K2V stable star; transit services economy (freight handling, vessel servicing, cold storage, bond warehousing); adequate local food production without surplus; Syndic commercial standing office (formal bond certification); community council governance; Commission nominal (documentation filed via Syndic, no resident personnel)"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482B-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482Bd",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 560.0,
|
||||
"rotation_period_hours": 27.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482Be",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1800.0,
|
||||
"rotation_period_hours": 11.6,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482Be-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ482Be",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.8,
|
||||
"rotation_period_hours": 139.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482Bf",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4600.0,
|
||||
"rotation_period_hours": 33.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482Bg",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 10600.0,
|
||||
"rotation_period_hours": 42.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482Bh",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 28.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482Bi",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 50000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ482B-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ482B-oort-S1",
|
||||
"proper_name": "Travessa Horizon",
|
||||
"orbits_body_id": "GJ482B-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 620,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Posto Avançado and Dois Sóis; freight handling and cold storage infrastructure; Syndic commercial standing office (bond certification, transit documentation); vessel servicing"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 5",
|
||||
"proper_name": "GJ 5",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": true,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ5b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 30.0,
|
||||
"rotation_period_hours": 19.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 275.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable zone; good agricultural potential per survey; stable geology, sufficient water; part of potential GJ 524–GJ 5–Ouplaas agricultural chain; unsettled — Ouplaas residents have complex feelings about corridor development"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2200.0,
|
||||
"rotation_period_hours": 11.8,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ5e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 6.2,
|
||||
"rotation_period_hours": 148.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 5400.0,
|
||||
"rotation_period_hours": 34.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 12400.0,
|
||||
"rotation_period_hours": 42.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 28000.0,
|
||||
"rotation_period_hours": 28.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 58000.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ5-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ5-oort-S1",
|
||||
"proper_name": "GJ 5 Horizon",
|
||||
"orbits_body_id": "GJ5-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 524 and Ouplaas; empty corridor between unclaimed G-type and oldest deep_frontier settlement; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 501B",
|
||||
"proper_name": "Candeia",
|
||||
"star_type": "F",
|
||||
"spectral_class": "F5V",
|
||||
"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": "GJ501Bb",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 68.0,
|
||||
"rotation_period_hours": 19.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Bc",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.74,
|
||||
"orbital_period_days": 260.0,
|
||||
"rotation_period_hours": 21.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "hot_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Bd",
|
||||
"proper_name": "Limiar",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 43,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.94,
|
||||
"orbital_period_days": 650.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_5 Portuguese heritage waypoint community; 2-aperture through_route; F5V bright star; dense atmosphere, geologically stable; first-generation greenhouse agriculture; waypoint provisioning station for deep corridor transit; community consensus governance; most supply-dependent settlement on deep corridor"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501B-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Be",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.68,
|
||||
"orbital_period_days": 1400.0,
|
||||
"rotation_period_hours": 29.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Bf",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 5200.0,
|
||||
"rotation_period_hours": 13.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Bf-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ501Bf",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.09,
|
||||
"orbital_period_days": 8.4,
|
||||
"rotation_period_hours": 201.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Bg",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 11400.0,
|
||||
"rotation_period_hours": 32.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Bh",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.32,
|
||||
"orbital_period_days": 26000.0,
|
||||
"rotation_period_hours": 41.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Bi",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.24,
|
||||
"orbital_period_days": 56000.0,
|
||||
"rotation_period_hours": 49.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501Bj",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.10,
|
||||
"orbital_period_days": 118000.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ501B-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ501B-oort-S1",
|
||||
"proper_name": "Candeia Horizon",
|
||||
"orbits_body_id": "GJ501B-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 12,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Dalim and Skemeraand corridor; waypoint reprovisioning; smallest horizon crew on the deep corridor"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
{
|
||||
"system_id": "GJ 524",
|
||||
"proper_name": "GJ 524",
|
||||
"star_type": "G",
|
||||
"spectral_class": "G5V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": true,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ524b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 48.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.96,
|
||||
"orbital_period_days": 350.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable zone; exceptional — temperate climate, rich soil, diverse biosphere, no atmospheric processing needed; five survey reports across two centuries all recommend settlement; three feasibility studies funded, no expedition materialized; the deep frontier's best unclaimed world; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.68,
|
||||
"orbital_period_days": 780.0,
|
||||
"rotation_period_hours": 23.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2400.0,
|
||||
"rotation_period_hours": 10.8,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, two moons"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ524e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.14,
|
||||
"orbital_period_days": 7.2,
|
||||
"rotation_period_hours": 172.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524e-m2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ524e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 16.4,
|
||||
"rotation_period_hours": 393.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "small rocky moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 6200.0,
|
||||
"rotation_period_hours": 35.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 14000.0,
|
||||
"rotation_period_hours": 43.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 32000.0,
|
||||
"rotation_period_hours": 52.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 68000.0,
|
||||
"rotation_period_hours": 30.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.09,
|
||||
"orbital_period_days": 140000.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ524-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ524-oort-S1",
|
||||
"proper_name": "GJ 524 Horizon",
|
||||
"orbits_body_id": "GJ524-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Saudade and GJ 5; corridor transit past the deep frontier's most exceptional unclaimed world; automated; Assembly territorial survey archive registration"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 528A",
|
||||
"proper_name": "Ouplaas",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ528Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 10.8,
|
||||
"rotation_period_hours": 259.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ528Ac",
|
||||
"proper_name": "Klaarstroom",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 22000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.88,
|
||||
"orbital_period_days": 74.0,
|
||||
"rotation_period_hours": 28.2,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_2 Afrikaans heritage ('old farm'); 2-aperture through_route; M0V dim star; oldest continuously worked agricultural settlement in deep_frontier (four centuries); family-representative council governance (unchanged for two hundred years); courteous indifference to Reach institutions; food surplus traded through Cairn pocket chain to Skuilplek; Guardians of Autonomy informal community; agricultural tempo — planning in decades"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ528A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ528Ad",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 260.0,
|
||||
"rotation_period_hours": 26.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ528Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 780.0,
|
||||
"rotation_period_hours": 30.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ528Af",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2200.0,
|
||||
"rotation_period_hours": 23.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ528Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5800.0,
|
||||
"rotation_period_hours": 19.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ528A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ528A-oort-S1",
|
||||
"proper_name": "Ouplaas Horizon",
|
||||
"orbits_body_id": "GJ528A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 240,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Skuilplek and outer Cairn pocket; agricultural freight staging; Commission liaison transit point (infrequent, courteous hospitality)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 532",
|
||||
"proper_name": "Kettenschmied",
|
||||
"star_type": "K",
|
||||
"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": "GJ532b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 18.0,
|
||||
"rotation_period_hours": 20.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532c",
|
||||
"proper_name": "Iserlohn",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 1500,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.80,
|
||||
"orbital_period_days": 140.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "mining",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": "component_fabrication",
|
||||
"notes": "primary inhabited world; wave_3 German heritage ('Iserlohn needle and wire town'); 2-aperture through_route; K5V dim star; marginal surface (thin atmosphere, limited water); pressurized industrial habitation; guild-structure cooperative governance (craft qualification membership, non-guild residents vote on community matters only); metallic asteroid field mining + fabrication (chain, cable, structural hardware, fasteners); deep frontier's most reliable source of fabricated metal components; food entirely imported via corridor trade; six-month emergency food reserve mandated by charter"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": null,
|
||||
"rotation_period_hours": null,
|
||||
"atmosphere": null,
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": "mining",
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "metallic asteroid field — ferrous and rare-earth concentrations; primary resource for fabrication; active extraction"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.56,
|
||||
"orbital_period_days": 440.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1400.0,
|
||||
"rotation_period_hours": 12.8,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner gas giant; gravitational dynamics help sustain metallic asteroid field stability"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532f",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 3800.0,
|
||||
"rotation_period_hours": 11.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 9600.0,
|
||||
"rotation_period_hours": 34.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 28.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.26,
|
||||
"orbital_period_days": 46000.0,
|
||||
"rotation_period_hours": 44.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 96000.0,
|
||||
"rotation_period_hours": 23.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ532-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ532-oort-S1",
|
||||
"proper_name": "Kettenschmied Horizon",
|
||||
"orbits_body_id": "GJ532-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 120,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 904 and Sonnenkap corridor; fabricated metal component freight staging; food import receiving"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 546",
|
||||
"proper_name": "Eerste Wacht",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K5V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ546b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 17.0,
|
||||
"rotation_period_hours": 20.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ546c",
|
||||
"proper_name": "Leliefontein",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 400,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.82,
|
||||
"orbital_period_days": 140.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_2 Afrikaans heritage ('lily spring'); 2-aperture through_route; K5V dim star; thin atmosphere, limited water; single reliable subsurface aquifer; settlement built into rocky terrain near aquifer; elder council governance (founding families, five centuries customary law); partnership protocols for genetic diversity management; local Afrikaans variant after 500 years linguistic drift; self-sufficient (manufactures most needs from local materials); decade-rated supply interruption stockpiles"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ546-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ546d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 440.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ546e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 1200.0,
|
||||
"rotation_period_hours": 30.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ546f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.30,
|
||||
"orbital_period_days": 3400.0,
|
||||
"rotation_period_hours": 37.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ546g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 8800.0,
|
||||
"rotation_period_hours": 23.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ546h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 19.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ546-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ546-oort-S1",
|
||||
"proper_name": "Eerste Wacht Horizon",
|
||||
"orbits_body_id": "GJ546-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 20,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 3943 gap and GJ 111; wave_2 anomaly at hop 18 — oldest settlement on the deep corridor; Commission irregular maintenance visits; community courteous and uninterested in extended interaction"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 556",
|
||||
"proper_name": "Recanto",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ556b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 9.4,
|
||||
"rotation_period_hours": 225.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ556c",
|
||||
"proper_name": "Idanha",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 8000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 70.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_4 Portuguese heritage ('retreat'); 1-aperture dead_end; M0V dim star; substantially self-sufficient by design (agricultural + fabrication); emergency council governance (founding emergency framework made permanent by precedent); zero voluntary compliance reporting; reflexive suspicion of external authority; contingency stores against gate disruption (duration not publicly stated)"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ556-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ556d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"orbital_period_days": 240.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ556e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 29.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ556f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2000.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ556g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5400.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ556-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ556-oort-S1",
|
||||
"proper_name": "Recanto Horizon",
|
||||
"orbits_body_id": "GJ556-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 80,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 1 aperture; dead_end; connects GJ 1267; single-point supply line; no external faction or institutional presence; contingency supply staging"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 598",
|
||||
"proper_name": "Helle Wacht",
|
||||
"star_type": "F",
|
||||
"spectral_class": "F5V",
|
||||
"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": "GJ598b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.54,
|
||||
"orbital_period_days": 72.0,
|
||||
"rotation_period_hours": 17.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.76,
|
||||
"orbital_period_days": 280.0,
|
||||
"rotation_period_hours": 23.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "hot_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, desiccated, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598d",
|
||||
"proper_name": "Freudenberg",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 2500,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.94,
|
||||
"orbital_period_days": 650.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_5 German heritage ('bright watch'); 2-aperture through_route; F5V bright star — genuine agricultural advantage; Compact of Westphalia dissidents (zero institutional obligations founding premise); community building institutions from scratch while debating their philosophical basis; early agricultural success from favorable F-type conditions; increasing local fabrication toward self-sufficiency; no formal affiliations by design"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.62,
|
||||
"orbital_period_days": 1500.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598f",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 4800.0,
|
||||
"rotation_period_hours": 10.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598f-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ598f",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 7.4,
|
||||
"rotation_period_hours": 177.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 11000.0,
|
||||
"rotation_period_hours": 35.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 26000.0,
|
||||
"rotation_period_hours": 44.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 56000.0,
|
||||
"rotation_period_hours": 52.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 110000.0,
|
||||
"rotation_period_hours": 30.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ598-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ598-oort-S1",
|
||||
"proper_name": "Helle Wacht Horizon",
|
||||
"orbits_body_id": "GJ598-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 85,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Weitblick and outer deep_frontier; minimum Commission compliance for gate access maintained; no institutional representation by design"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -70,7 +70,7 @@
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_1 German heritage ('edge'); 2-aperture through_route; F2III bright giant — hot equator, settlement in polar and temperate zones; open-field agriculture with substantial surplus; light manufacturing (four centuries institutional investment); Council of Rand governance (nine seats, staggered terms, founding charter continuity); Compact of Westphalia founding member and treaty drafter; five centuries continuous self-governance; oldest governing body in outer west"
|
||||
"notes": "primary inhabited world; wave_1 German heritage ('edge'); 2-aperture through_route; F2III bright giant — significantly more UV-intense than a main-sequence F; equatorial zones inhospitable without shielding, settlement concentrated in polar and high-latitude temperate regions; star is post-main-sequence and progressing toward giant phase on geological timescales, but current habitability is stable for millions of years; open-field agriculture with substantial surplus; light manufacturing (four centuries institutional investment); Council of Rand governance (nine seats, staggered terms, founding charter continuity); Compact of Westphalia founding member and treaty drafter; five centuries continuous self-governance; oldest governing body in outer west"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ601A-belt",
|
||||
|
||||
@@ -0,0 +1,280 @@
|
||||
{
|
||||
"system_id": "GJ 61",
|
||||
"proper_name": "Fernlicht",
|
||||
"star_type": "G",
|
||||
"spectral_class": "G5V",
|
||||
"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": "GJ61b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 48.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61c",
|
||||
"proper_name": "Wolfenbüttel",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 8000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.94,
|
||||
"orbital_period_days": 350.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "research",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_3 German heritage ('far light'); 2-aperture spur_end; G5V warm yellow star — geographic anomaly at hop 12, genuine comfort; scholar-exile community (three centuries continuous research tradition); observational astronomy, native ecology biology, secession-period historiography; no formal university or degree authority; community council governance; no Assembly registration beyond minimum transit filing; neighborly relationship with Fluchtburg (scholars and deserters)"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.70,
|
||||
"orbital_period_days": 780.0,
|
||||
"rotation_period_hours": 24.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2600.0,
|
||||
"rotation_period_hours": 11.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ61e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 6.8,
|
||||
"rotation_period_hours": 163.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 6400.0,
|
||||
"rotation_period_hours": 35.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 14000.0,
|
||||
"rotation_period_hours": 44.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 32000.0,
|
||||
"rotation_period_hours": 52.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 68000.0,
|
||||
"rotation_period_hours": 30.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.09,
|
||||
"orbital_period_days": 140000.0,
|
||||
"rotation_period_hours": 25.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ61-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ61-oort-S1",
|
||||
"proper_name": "Fernlicht Horizon",
|
||||
"orbits_body_id": "GJ61-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 280,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; spur_end; connects Fluchtburg corridor; technical supply staging; scholarly exchange logistics"
|
||||
},
|
||||
{
|
||||
"station_id": "GJ61c-S1",
|
||||
"proper_name": "Bibliothek",
|
||||
"orbits_body_id": "GJ61c",
|
||||
"station_type": "research",
|
||||
"population": 620,
|
||||
"economic_role": "research",
|
||||
"docking_class": "standard",
|
||||
"has_gate_infrastructure": false,
|
||||
"notes": "scholarly archive and research facility; observational astronomy (250+ years continuous), native ecology biology, secession-period historiography; instrument fabrication workshop; selective archive access protocols"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 616",
|
||||
"proper_name": "GJ 616",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K2V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": true,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ616b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 28.0,
|
||||
"rotation_period_hours": 20.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 200.0,
|
||||
"rotation_period_hours": 26.2,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable zone; meets settlement criteria fully; breathable atmosphere, stable geology, adequate water; at hop eight this would be settled — at hop twelve the distance defeats every proposal; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 580.0,
|
||||
"rotation_period_hours": 27.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1800.0,
|
||||
"rotation_period_hours": 12.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ616e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 6.2,
|
||||
"rotation_period_hours": 148.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4800.0,
|
||||
"rotation_period_hours": 34.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 11000.0,
|
||||
"rotation_period_hours": 42.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 26000.0,
|
||||
"rotation_period_hours": 28.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 54000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ616-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ616-oort-S1",
|
||||
"proper_name": "GJ 616 Horizon",
|
||||
"orbits_body_id": "GJ616-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 853A and Errai corridor; habitable world below that every proposal has failed to settle; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 656",
|
||||
"proper_name": "GJ 656",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ656b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 10.8,
|
||||
"rotation_period_hours": 259.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ656c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.82,
|
||||
"orbital_period_days": 68.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable but perpetually overcast; persistent low cloud cover reduces already dim M-dwarf light further; breathable, adequate water, minimum biological prerequisites met; settlement proposals consistently abandoned after noting permanent grey; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ656-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ656d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.5,
|
||||
"orbital_period_days": 230.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ656e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 700.0,
|
||||
"rotation_period_hours": 29.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ656f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 1900.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ656g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5000.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ656-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ656-oort-S1",
|
||||
"proper_name": "GJ 656 Horizon",
|
||||
"orbits_body_id": "GJ656-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 3403 and GJ 354A; corridor transit past the perpetually grey world; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -193,7 +193,7 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ661Ah",
|
||||
"body_id": "GJ661Ai",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 9,
|
||||
@@ -213,11 +213,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ661Ah-1",
|
||||
"body_id": "GJ661Ai-1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ661Ah",
|
||||
"parent_body_id": "GJ661Ai",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
@@ -233,11 +233,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ661Ah-2",
|
||||
"body_id": "GJ661Ai-2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ661Ah",
|
||||
"parent_body_id": "GJ661Ai",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ664h",
|
||||
"body_id": "GJ664i",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 9,
|
||||
@@ -213,11 +213,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ664h-1",
|
||||
"body_id": "GJ664i-1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ664h",
|
||||
"parent_body_id": "GJ664i",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
@@ -233,11 +233,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ664h-2",
|
||||
"body_id": "GJ664i-2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ664h",
|
||||
"parent_body_id": "GJ664i",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 6711",
|
||||
"proper_name": "Abzu",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K3V",
|
||||
"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": "GJ6711b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 18.0,
|
||||
"rotation_period_hours": 15.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711c",
|
||||
"proper_name": "Dar",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 400,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 180.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_3 mixed heritage (Arabic, South Asian, East African); 1-aperture dead_end; K3V amber star; doubled light environment from gas giant atmospheric reflection; valley settlement in temperate zone between ridgelines; adapted cultivation for local consumption; no export economy; stable population maintained for 300 years; furthest settled system in the Reach"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.62,
|
||||
"orbital_period_days": 420.0,
|
||||
"rotation_period_hours": 24.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1600.0,
|
||||
"rotation_period_hours": 14.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "mid-range gas giant; highly reflective upper atmosphere returns amber starlight toward inner system; two moons"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ6711e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 5.4,
|
||||
"rotation_period_hours": 129.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711e-m2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ6711e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.05,
|
||||
"orbital_period_days": 12.6,
|
||||
"rotation_period_hours": 302.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "small rocky moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 4200.0,
|
||||
"rotation_period_hours": 35.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 10400.0,
|
||||
"rotation_period_hours": 44.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.20,
|
||||
"orbital_period_days": 26000.0,
|
||||
"rotation_period_hours": 50.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.06,
|
||||
"orbital_period_days": 58000.0,
|
||||
"rotation_period_hours": 19.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ6711-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ6711-oort-S1",
|
||||
"proper_name": "Abzu Horizon",
|
||||
"orbits_body_id": "GJ6711-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 15,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 1 aperture; dead_end; connects Skemeraand; medical and genetic supply receiving; no Commission permanent station"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 672",
|
||||
"proper_name": "Nova Estrada",
|
||||
"star_type": "G",
|
||||
"spectral_class": "G0V",
|
||||
"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": "GJ672b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.54,
|
||||
"orbital_period_days": 52.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.76,
|
||||
"orbital_period_days": 200.0,
|
||||
"rotation_period_hours": 23.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "hot_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672d",
|
||||
"proper_name": "Viçosa",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 200,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.96,
|
||||
"orbital_period_days": 460.0,
|
||||
"rotation_period_hours": 26.2,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_5 mixed heritage (Brazilian, Mozambican, Filipino, Vietnamese, Portuguese-speaking majority); 2-aperture through_route; G0V solar-type star — warm, bright; thick atmosphere, active weather, surface water; native ecology present but not aggressively competitive; community meeting governance (all adults, majority vote, no formal charter); 30 years old, early-stage development; positioning as corridor waypoint; 47 children born on-world (first generation)"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.64,
|
||||
"orbital_period_days": 1100.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672f",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 3200.0,
|
||||
"rotation_period_hours": 11.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672f-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ672f",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 7.2,
|
||||
"rotation_period_hours": 172.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 8200.0,
|
||||
"rotation_period_hours": 36.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 18000.0,
|
||||
"rotation_period_hours": 45.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 40000.0,
|
||||
"rotation_period_hours": 53.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 86000.0,
|
||||
"rotation_period_hours": 31.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ672-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ672-oort-S1",
|
||||
"proper_name": "Nova Estrada Horizon",
|
||||
"orbits_body_id": "GJ672-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 15,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 726 corridor and deeper frontier; emerging waypoint; early-stage provisioning capability; supply intervals 14-18 months"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 675",
|
||||
"proper_name": "Neugrund",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K0V",
|
||||
"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": "GJ675b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 30.0,
|
||||
"rotation_period_hours": 19.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675c",
|
||||
"proper_name": "Laubach",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 2000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.90,
|
||||
"orbital_period_days": 280.0,
|
||||
"rotation_period_hours": 26.6,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_5 mixed German-Portuguese-Dutch heritage ('new ground'); 2-aperture through_route; K0V stable star; deliberate multi-corridor cultural experiment; three distinct agricultural traditions being tested under same conditions; community governance (multi-heritage, no Compact affiliation by design); three-corridor supply relationships maintained; establishment phase (food supplement imports while agricultural base matures)"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 27.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2200.0,
|
||||
"rotation_period_hours": 11.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ675e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.6,
|
||||
"rotation_period_hours": 134.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 5600.0,
|
||||
"rotation_period_hours": 34.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 12800.0,
|
||||
"rotation_period_hours": 42.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.26,
|
||||
"orbital_period_days": 28000.0,
|
||||
"rotation_period_hours": 51.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 58000.0,
|
||||
"rotation_period_hours": 29.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ675-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ675-oort-S1",
|
||||
"proper_name": "Neugrund Horizon",
|
||||
"orbits_body_id": "GJ675-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 120,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Altgrund and south corridor; three-corridor supply coordination; Guardian field visits (two, case-study interest)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 684A",
|
||||
"proper_name": "Sonnenkap",
|
||||
"star_type": "G",
|
||||
"spectral_class": "G0V",
|
||||
"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": "GJ684Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 50.0,
|
||||
"rotation_period_hours": 18.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Ac",
|
||||
"proper_name": "Freyburg",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 3000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.96,
|
||||
"orbital_period_days": 460.0,
|
||||
"rotation_period_hours": 25.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_4 German heritage ('sun cape'); 2-aperture spur_end; G0V solar-type star — startlingly bright at hop 14; thick nitrogen-oxygen atmosphere, active hydrology, extensive surface water; engineering cooperative governance (elected management board, west_reach charter model); over-specified infrastructure, elegant irrigation; highest agricultural output per hectare of any non-Syndic deep_frontier operation; no Commission relay station (declined twice)"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Ad",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.70,
|
||||
"orbital_period_days": 780.0,
|
||||
"rotation_period_hours": 24.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2600.0,
|
||||
"rotation_period_hours": 11.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Ae-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ684Ae",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 7.2,
|
||||
"rotation_period_hours": 172.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Af",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 6800.0,
|
||||
"rotation_period_hours": 36.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 15000.0,
|
||||
"rotation_period_hours": 44.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Ah",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 34000.0,
|
||||
"rotation_period_hours": 52.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Ai",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 72000.0,
|
||||
"rotation_period_hours": 30.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Aj",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.09,
|
||||
"orbital_period_days": 150000.0,
|
||||
"rotation_period_hours": 25.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ684A-oort-S1",
|
||||
"proper_name": "Sonnenkap Horizon",
|
||||
"orbits_body_id": "GJ684A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 140,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; spur_end; connects GJ 201 junction and GJ 532 corridor; agricultural export freight staging; no Commission relay station (community declined); cooperative-operated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 684B",
|
||||
"proper_name": "Paso Largo",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K3V",
|
||||
"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": "GJ684Bb",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 22.0,
|
||||
"rotation_period_hours": 19.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Bc",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 180.0,
|
||||
"rotation_period_hours": 14.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "ringed gas giant in HZ; ring-light reflects off upper atmosphere in a pale band ('the long stride'); two moons"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Bc-m1",
|
||||
"proper_name": "Quelimane",
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ684Bc",
|
||||
"inhabited": true,
|
||||
"population": 2000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.62,
|
||||
"orbital_period_days": 8.4,
|
||||
"rotation_period_hours": 201.6,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "inhabited moon; wave_3 Brazilian-Mozambican heritage; tidally locked to gas giant; complex tidal patterns, sky never entirely dark; agriculture under glass; cooperative governance (founding charter caps production expansion, social enforcement); subsistence-plus economy; basic transit anchorage (water, atmo cycling, food stores); three centuries continuous habitation; three-year critical component reserve"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Bc-m2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ684Bc",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 18.6,
|
||||
"rotation_period_hours": 446.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "smaller rocky moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684B-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Bd",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.56,
|
||||
"orbital_period_days": 560.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Be",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 1500.0,
|
||||
"rotation_period_hours": 30.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Bf",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 4200.0,
|
||||
"rotation_period_hours": 36.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Bg",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.26,
|
||||
"orbital_period_days": 10000.0,
|
||||
"rotation_period_hours": 44.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Bh",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 28.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684Bi",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 50000.0,
|
||||
"rotation_period_hours": 22.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ684B-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ684B-oort-S1",
|
||||
"proper_name": "Paso Largo Horizon",
|
||||
"orbits_body_id": "GJ684B-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 80,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 354A and GJ 875; transit anchorage with basic reprovisioning; cooperative-operated; no Commission or Syndic presence"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 69",
|
||||
"proper_name": "GJ 69",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K5V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": true,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ69b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 16.0,
|
||||
"rotation_period_hours": 19.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.88,
|
||||
"orbital_period_days": 140.0,
|
||||
"rotation_period_hours": 25.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable zone; stable agricultural potential; three settlement proposals over two centuries (all abandoned); green and quiet and waiting; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.56,
|
||||
"orbital_period_days": 440.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1400.0,
|
||||
"rotation_period_hours": 12.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ69e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 5.4,
|
||||
"rotation_period_hours": 129.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 3800.0,
|
||||
"rotation_period_hours": 33.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 8800.0,
|
||||
"rotation_period_hours": 42.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 20000.0,
|
||||
"rotation_period_hours": 28.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 44000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ69-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ69-oort-S1",
|
||||
"proper_name": "GJ 69 Horizon",
|
||||
"orbits_body_id": "GJ69-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Tiefenbach and Fluchtburg; corridor gap between two settled communities; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"system_id": "GJ 695A",
|
||||
"proper_name": null,
|
||||
"proper_name": "GJ 695A",
|
||||
"star_type": "G",
|
||||
"spectral_class": "G5IV",
|
||||
"wiki_data": {
|
||||
@@ -21,7 +21,7 @@
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"surface_gravity": 0.5,
|
||||
"orbital_period_days": 52.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 707",
|
||||
"proper_name": "Dois Sóis",
|
||||
"star_type": "binary",
|
||||
"spectral_class": "K4V+K8V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ707b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 22.0,
|
||||
"rotation_period_hours": 20.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, circumbinary orbit, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ707c",
|
||||
"proper_name": "Faial",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 18000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.88,
|
||||
"orbital_period_days": 160.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_3 Portuguese heritage ('Azorean island'); 2-aperture through_route; binary star system — two light sources, shifting shadow angles; architecture designed for binary light; agriculture timed to binary orbital period with dual-stellar calendar; community governance (three centuries institutional confidence); self-sufficient food system adapted to complex binary seasonal variations; locally fabricated binary-specific agricultural equipment"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ707-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 circumbinary asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ707d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"orbital_period_days": 480.0,
|
||||
"rotation_period_hours": 25.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, circumbinary orbit"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ707e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.38,
|
||||
"orbital_period_days": 1300.0,
|
||||
"rotation_period_hours": 29.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ707f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 3600.0,
|
||||
"rotation_period_hours": 22.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ707g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 9200.0,
|
||||
"rotation_period_hours": 18.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ707-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ707-oort-S1",
|
||||
"proper_name": "Dois Sóis Horizon",
|
||||
"orbits_body_id": "GJ707-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 340,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Travessa and outer deep_frontier; agricultural freight staging; binary-specific equipment logistics; Commission clean compliance record (infrequent administrative visits)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 722",
|
||||
"proper_name": "Skuilplek",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ722b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 9.6,
|
||||
"rotation_period_hours": 230.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ722c",
|
||||
"proper_name": "Rietbron",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 12000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 70.0,
|
||||
"rotation_period_hours": 27.6,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_4 Afrikaans heritage ('reed spring'); 2-aperture through_route; M0V dim star; substantially self-sufficient (food since first generation, minimal lattice integration by design); community governance (legacy Commission exemption status, automatic renewal, no visit in living memory); Guardians of Autonomy named affiliation (cited in Guardian minimal-lattice viability literature); seven-generation M-dwarf agriculture from Cairn pocket tradition"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ722-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ722d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"orbital_period_days": 240.0,
|
||||
"rotation_period_hours": 25.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ722e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 720.0,
|
||||
"rotation_period_hours": 29.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ722f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2000.0,
|
||||
"rotation_period_hours": 22.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ722g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5400.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ722-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ722-oort-S1",
|
||||
"proper_name": "Skuilplek Horizon",
|
||||
"orbits_body_id": "GJ722-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 180,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Droëland and outer Cairn pocket; minimal lattice infrastructure by community design; Guardian field representative visits (occasional); legacy Commission exemption maintained automatically"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 726",
|
||||
"proper_name": "GJ 726",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K5V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ726b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 18.0,
|
||||
"rotation_period_hours": 20.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ726c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.74,
|
||||
"orbital_period_days": 140.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "HZ candidate; minimum parameters met, nothing exceeded; native lichen-analogue, geologically quiet; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ726-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ726d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.5,
|
||||
"orbital_period_days": 440.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ726e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 1200.0,
|
||||
"rotation_period_hours": 30.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ726f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.3,
|
||||
"orbital_period_days": 3400.0,
|
||||
"rotation_period_hours": 36.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ726g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 8800.0,
|
||||
"rotation_period_hours": 23.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ726h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 18.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ726-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ726-oort-S1",
|
||||
"proper_name": "GJ 726 Horizon",
|
||||
"orbits_body_id": "GJ726-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Claraboia and GJ 672; deep corridor transit increasing slowly over fifty years; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 7547",
|
||||
"proper_name": "Skemeraand",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K4V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ7547b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.41,
|
||||
"orbital_period_days": 22.0,
|
||||
"rotation_period_hours": 16.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ7547c",
|
||||
"proper_name": "Brandwacht",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 300,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.84,
|
||||
"orbital_period_days": 160.0,
|
||||
"rotation_period_hours": 28.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "urban_concentrated",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_2 Afrikaans heritage (520 years); 2-aperture through_route; K4V dim star; thin atmosphere, limited surface water; volcanic caldera settlement with residual thermal energy; mineral-rich caldera soils; five centuries continuous habitation; elder council governance (founding families); partnership protocols for genetic diversity management; penultimate system before Abzu"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ7547-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ7547d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.54,
|
||||
"orbital_period_days": 480.0,
|
||||
"rotation_period_hours": 25.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ7547e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 1400.0,
|
||||
"rotation_period_hours": 32.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ7547f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.30,
|
||||
"orbital_period_days": 3800.0,
|
||||
"rotation_period_hours": 38.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ7547g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.14,
|
||||
"orbital_period_days": 9200.0,
|
||||
"rotation_period_hours": 22.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ7547h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.07,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ7547-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ7547-oort-S1",
|
||||
"proper_name": "Skemeraand Horizon",
|
||||
"orbits_body_id": "GJ7547-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 18,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Candeia and Abzu corridor; medical and genetic supply receiving; minimal Commission contact"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -213,7 +213,7 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ780i",
|
||||
"body_id": "GJ780j",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 10,
|
||||
@@ -233,11 +233,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ780i-1",
|
||||
"body_id": "GJ780j-1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ780i",
|
||||
"parent_body_id": "GJ780j",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
@@ -253,11 +253,11 @@
|
||||
"notes": ""
|
||||
},
|
||||
{
|
||||
"body_id": "GJ780i-2",
|
||||
"body_id": "GJ780j-2",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": "GJ780i",
|
||||
"parent_body_id": "GJ780j",
|
||||
"inhabited": false,
|
||||
"population": 0,
|
||||
"mass_class": "dwarf",
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"system_id": "GJ 853A",
|
||||
"proper_name": "GJ 853A",
|
||||
"star_type": "M",
|
||||
"spectral_class": "M0V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ853Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 11.2,
|
||||
"rotation_period_hours": 268.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner scorched rocky, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ853Ac",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.84,
|
||||
"orbital_period_days": 74.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer HZ; dim, not warm, not well-lit; adequate but not comfortable without climate infrastructure; commercially significant mineral deposits in crust (processed-goods precursors); multiple exploratory interest claims filed, none advanced; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ853A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ853Ad",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.52,
|
||||
"orbital_period_days": 250.0,
|
||||
"rotation_period_hours": 25.8,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ853Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 760.0,
|
||||
"rotation_period_hours": 30.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ853Af",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 2100.0,
|
||||
"rotation_period_hours": 22.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ853Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 5600.0,
|
||||
"rotation_period_hours": 18.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ853A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ853A-oort-S1",
|
||||
"proper_name": "GJ 853A Horizon",
|
||||
"orbits_body_id": "GJ853A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Randgebiet corridor and GJ 146; mineral-rich habitable world below; survey archive registered with Assembly territorial authority; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 868",
|
||||
"proper_name": "Encontro",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K4/K5V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": true,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ868b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.4,
|
||||
"orbital_period_days": 18.0,
|
||||
"rotation_period_hours": 19.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.86,
|
||||
"orbital_period_days": 150.0,
|
||||
"rotation_period_hours": 26.2,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "habitable zone; temperate, adequate water, stable geology; meets settlement criteria; informally called 'Encontro' ('meeting') by corridor communities; joint settlement discussed for 150 years without resolution (governance model disagreement); unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.56,
|
||||
"orbital_period_days": 460.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 1500.0,
|
||||
"rotation_period_hours": 12.4,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ868e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.1,
|
||||
"orbital_period_days": 5.6,
|
||||
"rotation_period_hours": 134.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 4000.0,
|
||||
"rotation_period_hours": 34.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 9400.0,
|
||||
"rotation_period_hours": 42.6,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 28.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 46000.0,
|
||||
"rotation_period_hours": 22.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ868-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ868-oort-S1",
|
||||
"proper_name": "GJ 868 Horizon",
|
||||
"orbits_body_id": "GJ868-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Pedra Funda and Dois Sóis; transit waypoint between two Portuguese corridor communities; automated"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 875",
|
||||
"proper_name": "The Narrows",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K5V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 0,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ875b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 18.0,
|
||||
"rotation_period_hours": 20.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ875c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.72,
|
||||
"orbital_period_days": 140.0,
|
||||
"rotation_period_hours": 26.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "HZ candidate; marginal atmosphere, no surface water; minerals adequate for local use only; surveys recommend transit corridor maintenance over settlement; unsettled"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ875-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ875d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.50,
|
||||
"orbital_period_days": 440.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ875e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.40,
|
||||
"orbital_period_days": 1200.0,
|
||||
"rotation_period_hours": 30.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ875f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.30,
|
||||
"orbital_period_days": 3400.0,
|
||||
"rotation_period_hours": 36.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ875g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 8800.0,
|
||||
"rotation_period_hours": 23.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ875h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.07,
|
||||
"orbital_period_days": 22000.0,
|
||||
"rotation_period_hours": 18.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ875-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ875-oort-S1",
|
||||
"proper_name": "The Narrows Horizon",
|
||||
"orbits_body_id": "GJ875-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 0,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Paso Largo and deeper corridor; 'the squeeze' — transit path passes close to primary; automated; serviced by Paso Largo technical crews"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{
|
||||
"system_id": "GJ 903",
|
||||
"proper_name": "Errai",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K1IV",
|
||||
"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": "GJ903b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 34.0,
|
||||
"rotation_period_hours": 19.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903c",
|
||||
"proper_name": "Ghadames",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 4000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.90,
|
||||
"orbital_period_days": 370.0,
|
||||
"rotation_period_hours": 26.8,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_4 Arabic heritage ('the shepherd'); 2-aperture through_route; K1IV subgiant — wider HZ, warm amber light; pre-settlement Arabic star name retained as system designation; community governance"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903d",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.58,
|
||||
"orbital_period_days": 780.0,
|
||||
"rotation_period_hours": 27.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903e",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 2400.0,
|
||||
"rotation_period_hours": 12.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903e-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ903e",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.11,
|
||||
"orbital_period_days": 6.2,
|
||||
"rotation_period_hours": 148.8,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903f",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.44,
|
||||
"orbital_period_days": 6200.0,
|
||||
"rotation_period_hours": 34.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.34,
|
||||
"orbital_period_days": 14000.0,
|
||||
"rotation_period_hours": 43.4,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 32000.0,
|
||||
"rotation_period_hours": 29.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.08,
|
||||
"orbital_period_days": 68000.0,
|
||||
"rotation_period_hours": 23.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant ice dwarf"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ903-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ903-oort-S1",
|
||||
"proper_name": "Errai Horizon",
|
||||
"orbits_body_id": "GJ903-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 120,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects GJ 616 and GJ 481 spur; deep_frontier corridor transit"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"system_id": "GJ 904",
|
||||
"proper_name": "Claraboia",
|
||||
"star_type": "F",
|
||||
"spectral_class": "F7V",
|
||||
"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": "GJ904b",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.54,
|
||||
"orbital_period_days": 72.0,
|
||||
"rotation_period_hours": 18.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904c",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.76,
|
||||
"orbital_period_days": 280.0,
|
||||
"rotation_period_hours": 23.6,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "hot_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904d",
|
||||
"proper_name": "Soajo",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 600,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.96,
|
||||
"orbital_period_days": 620.0,
|
||||
"rotation_period_hours": 26.4,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "temperate",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": null,
|
||||
"notes": "primary inhabited world; wave_4 Portuguese heritage ('communal granary village'); 2-aperture through_route; F7V warm bright star; thick atmosphere, active weather, surface oceans (~40%), vigorous native biosphere; cooperative charter governance (successor charter from dissolved cooperative, includes dissolution protocol); continuous ecological negotiation — adapted agriculture competing with native organisms; 150 years local cultivar development; biological monitoring as core community expertise"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904e",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.64,
|
||||
"orbital_period_days": 1400.0,
|
||||
"rotation_period_hours": 27.2,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, cold, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904f",
|
||||
"proper_name": null,
|
||||
"body_type": "gas_giant",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": null,
|
||||
"surface_gravity": null,
|
||||
"orbital_period_days": 4200.0,
|
||||
"rotation_period_hours": 11.2,
|
||||
"atmosphere": "gas_giant",
|
||||
"biome_summary": null,
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer gas giant, one moon"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904f-m1",
|
||||
"proper_name": null,
|
||||
"body_type": "moon",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": "GJ904f",
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 7.4,
|
||||
"rotation_period_hours": 177.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "icy moon, tidally locked"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904g",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.46,
|
||||
"orbital_period_days": 10000.0,
|
||||
"rotation_period_hours": 36.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904h",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.36,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 44.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904i",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.28,
|
||||
"orbital_period_days": 52000.0,
|
||||
"rotation_period_hours": 53.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904j",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 10,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.13,
|
||||
"orbital_period_days": 110000.0,
|
||||
"rotation_period_hours": 31.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ904-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 11,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ904-oort-S1",
|
||||
"proper_name": "Claraboia Horizon",
|
||||
"orbits_body_id": "GJ904-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 40,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Kettenschmied and GJ 726 corridor; biological sample and ecological data trade coordination; fabricated component receiving"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"system_id": "GJ 914A",
|
||||
"proper_name": "Droëland",
|
||||
"star_type": "K",
|
||||
"spectral_class": "K2V",
|
||||
"wiki_data": {
|
||||
"habitable_count": 1,
|
||||
"inhabited_count": 1,
|
||||
"has_gas_giant": false,
|
||||
"has_asteroid_belt": true,
|
||||
"has_horizon_station": true,
|
||||
"raw_bodies_line": null
|
||||
},
|
||||
"bodies": [
|
||||
{
|
||||
"body_id": "GJ914Ab",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 1,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 24.0,
|
||||
"rotation_period_hours": 19.4,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "barren",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "inner rocky, hot, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ914Ac",
|
||||
"proper_name": "Calvinia",
|
||||
"body_type": "planet",
|
||||
"orbit_index": 2,
|
||||
"parent_body_id": null,
|
||||
"inhabited": true,
|
||||
"population": 18000,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.88,
|
||||
"orbital_period_days": 200.0,
|
||||
"rotation_period_hours": 26.6,
|
||||
"atmosphere": "standard",
|
||||
"biome_summary": "cold_arid",
|
||||
"hydrosphere": "liquid_water",
|
||||
"economic_role": "agricultural",
|
||||
"settlement_pattern": "dispersed",
|
||||
"industrial_corridor": "agricultural_export",
|
||||
"notes": "primary inhabited world; wave_3 Afrikaans heritage ('dry land'); 2-aperture through_route; K2V dim star; three centuries worked soil; mature irrigated agriculture (grain, legumes); no industrial sector; community governance with Guardian-aligned autonomist reflexes; Commission filed registration only (no resident personnel); multi-year contingency reserves as founding practice; supply dependency on Stilwater corridor for fabricated components"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ914A-belt",
|
||||
"proper_name": null,
|
||||
"body_type": "asteroid_belt",
|
||||
"orbit_index": 3,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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 asteroid belt"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ914Ad",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 4,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.56,
|
||||
"orbital_period_days": 580.0,
|
||||
"rotation_period_hours": 27.4,
|
||||
"atmosphere": "thin",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": null,
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer rocky, frozen, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ914Ae",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 5,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.42,
|
||||
"orbital_period_days": 1600.0,
|
||||
"rotation_period_hours": 30.2,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ914Af",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 6,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.32,
|
||||
"orbital_period_days": 4200.0,
|
||||
"rotation_period_hours": 36.8,
|
||||
"atmosphere": "trace",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "distant icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ914Ag",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 7,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "terrestrial",
|
||||
"surface_gravity": 0.24,
|
||||
"orbital_period_days": 10000.0,
|
||||
"rotation_period_hours": 44.6,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "far outer icy rocky, uninhabited"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ914Ah",
|
||||
"proper_name": null,
|
||||
"body_type": "planet",
|
||||
"orbit_index": 8,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"mass_class": "dwarf",
|
||||
"surface_gravity": 0.12,
|
||||
"orbital_period_days": 24000.0,
|
||||
"rotation_period_hours": 28.2,
|
||||
"atmosphere": "none",
|
||||
"biome_summary": "frozen",
|
||||
"hydrosphere": "ice",
|
||||
"economic_role": null,
|
||||
"settlement_pattern": null,
|
||||
"industrial_corridor": null,
|
||||
"notes": "outermost dwarf, near oort boundary"
|
||||
},
|
||||
{
|
||||
"body_id": "GJ914A-oort",
|
||||
"proper_name": null,
|
||||
"body_type": "oort_cloud",
|
||||
"orbit_index": 9,
|
||||
"parent_body_id": null,
|
||||
"inhabited": false,
|
||||
"population": null,
|
||||
"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": "oort cloud"
|
||||
}
|
||||
],
|
||||
"stations": [
|
||||
{
|
||||
"station_id": "GJ914A-oort-S1",
|
||||
"proper_name": "Droëland Horizon",
|
||||
"orbits_body_id": "GJ914A-oort",
|
||||
"station_type": "horizon",
|
||||
"population": 320,
|
||||
"economic_role": "transit",
|
||||
"docking_class": "major",
|
||||
"has_gate_infrastructure": true,
|
||||
"notes": "horizon station — 2 apertures; through_route; connects Stilwater and outer Cairn pocket; grain and legume freight staging; contingency reserve logistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,103 @@
|
||||
# Sprint 30: Clean Slate — Client Tasks
|
||||
|
||||
**Goal:** Close Phase 1 wiki quality debt — stereotype correction, data integrity fixes, and atlas regressions — so the wiki stands correct before Phase 1 UI work begins.
|
||||
|
||||
**Branch:** `client`
|
||||
**Agents:** Stig (dev), Tyre (arch), Hoshe (QA)
|
||||
|
||||
## New Tickets
|
||||
|
||||
| # | Title | Priority | Blocked by |
|
||||
|---|-------|----------|------------|
|
||||
| #718 | Persist CharacterVisualDescriptor on new game start | high | — |
|
||||
| #674 | Star map insert module — concentric hop-ring view | medium | — |
|
||||
| #712 | Add BoneAttachment3D marker above Head bone for floating icons | medium | — |
|
||||
| #719 | Hair highlight: add descriptor field or make swatch read-only | medium | — |
|
||||
| #720 | Replace DirAccess asset scanning with manifest JSON for export builds | medium | — |
|
||||
|
||||
Use `tooling/db/ticket show <id>` for full details.
|
||||
|
||||
## Key Decisions
|
||||
|
||||
- `decisions/architecture.md` — D-134 (full character customisation: hair, clothing, colors at tile scale), D-146 (character preview: tile-scale sprite, no separate portrait), D-043 (art direction: functional warmth), D-044 (visual hierarchy)
|
||||
- `decisions/scope.md` — D-114 (Phase 4 deliverable: player viewport with final-version assets)
|
||||
|
||||
## Notes
|
||||
|
||||
### Existing code to understand first
|
||||
|
||||
Before starting any ticket, read:
|
||||
|
||||
- `client/ui/character_creation.gd` — the character creation screen. Manages `CharacterVisualDescriptor`, layer selectors, color swatches, preview pane, and manifest loading.
|
||||
- `client/assets/characters/manifest.json` — asset manifest listing available body types, heads, hair, facial hair, clothing, accessories. Partially populated (heads array is empty).
|
||||
- `client/scripts/autoloads/game_state.gd` — player entity ID and session state. CharacterVisualDescriptor will be stored here on new game start.
|
||||
- `client/scripts/rendering/entity_renderer.gd` — current entity sprite system. Integration point for #718 (persisted descriptor must survive into gameplay rendering).
|
||||
|
||||
### #718 — Persist CharacterVisualDescriptor on new game start
|
||||
|
||||
When the player confirms the character creation screen, the client sends a `CharacterVisualDescriptor` to the server. The server must receive it and persist it so the descriptor survives save/load cycles and is included in `ObserverSnapshot`. This ticket is the client side: wire the confirmed descriptor from `character_creation.gd` through to the new-game IPC call. Verify the descriptor reaches the server (coordinate with server team if the server-side storage is not yet implemented — server ticket is out of scope this sprint unless added separately).
|
||||
|
||||
**What to deliver:**
|
||||
- On confirm in `character_creation.gd`, serialize descriptor and include it in the new-game start message to the server
|
||||
- Store descriptor in `GameState` so it persists across scene transitions
|
||||
- After load, confirm descriptor is restored from server snapshot (integration test: start game, check descriptor fields match what was entered)
|
||||
|
||||
**File locations:**
|
||||
- `client/ui/character_creation.gd` — add serialization + send call
|
||||
- `client/scripts/autoloads/game_state.gd` — add descriptor field + restore from snapshot
|
||||
- `client/protocol/` — may need a new message type for descriptor transmission
|
||||
|
||||
### #712 — BoneAttachment3D marker above Head bone
|
||||
|
||||
Add an empty `Marker3D` node anchored as a `BoneAttachment3D` to the Head bone in the player character skeleton scene. Offset approximately 0.3m above the Head bone origin. This node is the anchor point for floating UI elements — status indicators, thought bubbles, alert markers, speech icons.
|
||||
|
||||
**What to deliver:**
|
||||
- Locate the skeleton scene (likely `client/assets/characters/skeleton/` or similar based on the Sprint 28 asset pipeline)
|
||||
- Add `BoneAttachment3D` with bone_name = "Head", child `Marker3D` at offset Vector3(0, 0.3, 0)
|
||||
- Export a `@export` var or named node path from the character root so other systems can reference the marker node without hardcoded paths
|
||||
- No functional systems need to use this marker yet — the ticket is infrastructure for future floating UI work
|
||||
|
||||
**Gotcha:** BoneAttachment3D must be a child of the skeleton, not the character root. If the skeleton is a `Skeleton3D` inside a scene, the attachment must be added inside that scene, not the parent.
|
||||
|
||||
### #719 — Hair highlight: add descriptor field or make swatch read-only
|
||||
|
||||
The hair highlight swatch in the character creation screen accepts user input but the override is a no-op. `CharacterVisualDescriptor` has no `hair_highlight_tint` field, and `_on_hair_highlight_changed` in `character_creation.gd` does not write to the descriptor. Two valid resolutions:
|
||||
|
||||
**Option A (preferred if adding the field is low-risk):** Add `hair_highlight_tint: Color` to `CharacterVisualDescriptor` and wire `_on_hair_highlight_changed` to write it. The compositor must then read and apply it. This is the fuller fix.
|
||||
|
||||
**Option B (if the compositor cannot accept it yet):** Make the swatch non-interactive — visually show the derived highlight color (`_derive_hair_highlight(descriptor.hair_tint)`) but remove the `ColorPickerButton` and replace with a plain `ColorRect` labeled "Auto". Add a `# TODO: ticket #719` comment noting the deferred field.
|
||||
|
||||
Decide which option to implement based on compositor readiness. If the compositor already supports `hair_highlight_tint` (check `client/scripts/rendering/character_compositor.gd` if it exists), go with Option A. Otherwise Option B.
|
||||
|
||||
### #720 — Replace DirAccess with manifest JSON
|
||||
|
||||
The character creation screen uses `DirAccess.open("res://...")` in two fallback functions (around lines 1849 and 1868 in `character_creation.gd`) to scan for available assets. This approach fails in exported PCK builds because `DirAccess` cannot enumerate `res://` paths inside a PCK archive.
|
||||
|
||||
The manifest approach is already partially implemented — `_load_manifest()`, `_manifest_array()`, and `MANIFEST_PATH` are in place. The manifest file at `client/assets/characters/manifest.json` exists and is partially populated.
|
||||
|
||||
**What to deliver:**
|
||||
- Remove the two `DirAccess.open()` fallback scanning functions (lines ~1849-1868)
|
||||
- Populate `manifest.json` fully: add all available asset IDs for heads, hair, clothing, accessories, and body_types by scanning the actual asset directories once (during development) and encoding the result into JSON
|
||||
- Add a `tooling/` script or `Makefile` target that regenerates `manifest.json` from the asset directories, so it stays in sync as artists add assets — this prevents the manifest going stale
|
||||
- Verify: in an exported build (or by disabling DirAccess manually), the character creation screen populates all tabs correctly from the manifest alone
|
||||
|
||||
**Note:** `manifest.json` currently has `"heads": []` — the heads array is empty. If head assets exist in `client/assets/characters/heads/`, add them. If none exist yet, leave empty but document in a comment that the manifest is the source of truth.
|
||||
|
||||
## Dependency Chain
|
||||
|
||||
```
|
||||
#718 (persist descriptor) — standalone, no client-side blockers
|
||||
#719 (hair highlight) — standalone, read compositor state first
|
||||
#720 (manifest JSON) — standalone
|
||||
#712 (bone marker) — standalone
|
||||
#674 (star map) — standalone
|
||||
```
|
||||
|
||||
All five tickets are parallel tracks. No cross-dependencies within this sprint.
|
||||
|
||||
## PR Workflow
|
||||
|
||||
When ready to submit, create a PR with `tea` CLI. **All flags are required** to avoid TTY prompts (see CLAUDE.md "Gitea access" section):
|
||||
```bash
|
||||
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(client): Sprint 30 character and UI fixes" --description "body" --base main --head client
|
||||
```
|
||||
@@ -0,0 +1,106 @@
|
||||
# Sprint 30: Clean Slate — Copy Team Tasks
|
||||
|
||||
**Goal:** Close Phase 1 wiki quality debt — stereotype correction, data integrity fixes, and atlas regressions — so the wiki stands correct before Phase 1 UI work begins.
|
||||
|
||||
**Branch:** `copy`
|
||||
**Agents:** Mellanie (author), Paula (narrative review), Miri (worldbuilding/naming)
|
||||
|
||||
## New Tickets
|
||||
|
||||
| # | Title | Priority | Blocked by |
|
||||
|---|-------|----------|------------|
|
||||
| #763 | fix(wiki): GJ1111 and GJ54.1 prose not updated for population rebalance | high | — |
|
||||
| #772 | content(wiki): Afrikaans cultural stereotype imbalance at ~15:1 ratio | medium | — |
|
||||
| #753 | Fix Mabuhay wiki: GJ 482A continuity error | medium | — |
|
||||
| #757 | Fix Pereira's Rest wiki: population 800 → 42K | medium | — |
|
||||
| #758 | fix(wiki): Langemark (GJ42) celestial bodies table uses non-schema values | medium | — |
|
||||
| #759 | fix(wiki): Solheim (GJ19) topology disconnect | medium | — |
|
||||
| #764 | fix(atlas): GJ1111 star_type reverted to unusual — regression from PR #101 | medium | — |
|
||||
| #767 | fix(atlas): GJ707 star_type/spectral_class fields swapped | medium | — |
|
||||
| #769 | fix(wiki): GJ-147 etymology says 'passagem' but system is named Entremeio | medium | — |
|
||||
| #770 | fix(wiki): GJ-875 header says G-type but System Profile shows K5 | medium | — |
|
||||
| #771 | fix(wiki): GJ-7547 and GJ-6711 spectral class truncated to bare 'K' | low | — |
|
||||
| #754 | fix(wiki): update stale Calibration Notes on GJ1128, GJ136, GJ625 | low | — |
|
||||
| #755 | fix(wiki): GJ432A wiki prose still says Punjabi-Canadian | low | — |
|
||||
| #756 | fix(wiki): GJ541 header says G-type, proposal says K (K2IIIp) | low | — |
|
||||
| #760 | fix(atlas): GJ601A needs F2III stellar evolution context in notes | low | — |
|
||||
| #761 | fix(atlas): GJ4056 spectral_class 'g' is malformed | low | — |
|
||||
| #765 | fix(wiki): South Reach rebalanced systems need calibration notes for small populations | low | — |
|
||||
| #768 | fix(atlas): GJ189 wave_2 at hop 8-11 needs reconciliation | low | — |
|
||||
|
||||
Use `tooling/db/ticket show <id>` for full details.
|
||||
|
||||
## Key Decisions
|
||||
|
||||
- `decisions/content.md` — D-121 (all content must be internally consistent), D-128 (culture implicit in starting location)
|
||||
- `decisions/scope.md` — D-114 (wiki content phase is Phase 1 deliverable)
|
||||
|
||||
## Notes
|
||||
|
||||
### #763 — GJ1111 and GJ54.1 prose rebalance
|
||||
|
||||
Both systems had populations reduced from 500M/800M tiers to 380K/320K. The wiki prose still describes the institutional depth, guild curricula, and transit apparatus of large hubs. Rewrite prose to match the actual populations — these are mid-tier settlements, not megahub capitals. Check both `wiki/star-systems/GJ-1111/index.md` and `wiki/star-systems/GJ-54.1/index.md`.
|
||||
|
||||
### #772 — Afrikaans stereotype imbalance
|
||||
|
||||
Cultural audit flagged ~15:1 confirming:subverting ratio for Afrikaans-coded systems. Recent additions (Eerste Wacht, Helderoog, Skemeraand) pushed pastoral/frontier stereotype further. The next Afrikaans-adjacent system authored this sprint must subvert the dominant register — urban, technocratic, industrial, or post-pastoral framing. This is a content authoring constraint, not a correction to existing pages. Coordinate with Miri on which candidate system to author and what subverting angle fits its astrophysics. Read `docs/audits/cultural-stereotyping-audit.md` before starting.
|
||||
|
||||
### #753 — Mabuhay continuity error
|
||||
|
||||
`wiki/star-systems/GJ-1073/index.md` references GJ 482A as an unsurveyed system in the silence topic and narrative hook. GJ 482A is Dagat — a 300-year-old wave_3 settlement with 210K people. Either reframe the mystery to a genuinely unsurveyed system, or rewrite the hook to reference Dagat correctly. Do not invent a new system — use an existing unsurveyed entry from the atlas.
|
||||
|
||||
### #757 — Pereira's Rest population
|
||||
|
||||
`wiki/star-systems/GJ-208/index.md` Faction Notes says "approximately eight hundred." The body catalog sets population to 42,000. One-line change in the prose; also verify no other sections use the 800 figure.
|
||||
|
||||
### #758 — Langemark schema values
|
||||
|
||||
`wiki/star-systems/GJ-42/index.md` celestial bodies table uses: `breathable` (should be `standard`), `rivers-lakes` (not a valid biome value), `west_reach` (not a valid economy/corridor tag). Normalize all three to schema-valid values. See `db/schema.sql` for valid enum values and `tooling/db/sqlite-query "SELECT DISTINCT atmosphere FROM bodies"` to confirm live values.
|
||||
|
||||
### #759 — Solheim topology
|
||||
|
||||
`wiki/star-systems/GJ-19/index.md` references Caldwell Point for food routing and describes food exports to loop neighbors, but the adjacent-system topology links are absent or broken. Either add the topology references to the proposal JSON (if the links are real and just not encoded), or rewrite the narrative to remove the claims. Do not fabricate topology — check `tooling/db/sqlite-query "SELECT * FROM gates WHERE system_id IN (SELECT id FROM star_systems WHERE gj_id='GJ19')"` to confirm real connections.
|
||||
|
||||
### #764 — GJ1111 star_type regression
|
||||
|
||||
PR #101 specifically corrected GJ1111 from `unusual` to `M`. A later PR reverted it. M6.5 is an extreme red dwarf but classifiable as M. Fix `star_type` back to `M` in the proposal JSON. If `unusual` has been redefined to cover edge cases like M6.5, document the reasoning in a Calibration Note rather than using `unusual` as a classification workaround.
|
||||
|
||||
### #767 — GJ707 field swap
|
||||
|
||||
`GJ707` (Dois Sóis) has `star_type: unusual` and `spectral_class: binary` — these are inverted. Should be `star_type: binary` with actual spectral classification in `spectral_class`. Also check `body_ids` — a binary system likely uses two-star naming conventions (A/B suffix) that may need correcting.
|
||||
|
||||
### #769 — GJ-147 etymology
|
||||
|
||||
`wiki/star-systems/GJ-147/index.md` line 21 explains "The name passagem is Portuguese" but the system is named Entremeio (meaning "in-between"). Fix wiki text to match the actual name. Then update the proposal JSON to ensure the `name_etymology` field (if present) reflects Entremeio, not passagem.
|
||||
|
||||
### #770 — GJ-875 header/profile mismatch
|
||||
|
||||
Wiki header says G-type; System Profile table shows K5. A Calibration Note acknowledges the discrepancy but the header was never corrected. Fix the header to K-type. Remove or simplify the Calibration Note — once the header is correct the note is redundant.
|
||||
|
||||
### Low-priority fixes (#754, #755, #756, #760, #761, #765, #768, #771)
|
||||
|
||||
All are small targeted corrections from PR reviews. Handle these after the high/medium tickets. Batch-address where possible but keep each change in its own commit with the ticket number in the message.
|
||||
|
||||
- **#754** — Calibration Notes on GJ1128, GJ136, GJ625 describe pre-fix header mismatches that no longer exist. Remove or update the notes.
|
||||
- **#755** — `wiki/star-systems/GJ-432A/index.md` line 25: change "Punjabi-Canadian research tradition" to "Punjabi heritage research tradition".
|
||||
- **#756** — GJ541 (Chandra Deep) wiki header says G-type; proposal has K, K2IIIp. Update header to K-type.
|
||||
- **#760** — GJ601A (Ostmark) proposal notes need acknowledgment of F2III bright giant finite habitability window, increased UV load, and polar settlement rationale.
|
||||
- **#761** — GJ4056 has `spectral_class: g` (lowercase, no subtype). Correct to proper classification (G5V or similar based on star mass/luminosity).
|
||||
- **#765** — GJ54.1, GJ1111, GJ905 populations diverge significantly from heuristics table. Add Calibration Notes to proposals marking these as intentional small populations (not authoring errors).
|
||||
- **#768** — GJ189 (Altgrund) is `wave_2` but at hop 8-11. Either wave is wrong, hop is wrong, or there is an in-setting explanation (old route, pre-gate era colony). Reconcile: add a Calibration Note if the inconsistency is intentional and explainable, otherwise correct the field.
|
||||
- **#771** — GJ-7547 and GJ-6711 System Profile tables show bare `K` instead of full spectral class (e.g. `K4V`). Update wiki tables to match proposal JSON.
|
||||
|
||||
## Dependency Chain
|
||||
|
||||
```
|
||||
All tickets are independent — no blocking dependencies within this sprint.
|
||||
Process high-priority tickets first, then medium, then low.
|
||||
#772 (Afrikaans subversion) requires Miri involvement for system selection.
|
||||
```
|
||||
|
||||
## PR Workflow
|
||||
|
||||
When ready to submit, create a PR with `tea` CLI. **All flags are required** to avoid TTY prompts (see CLAUDE.md "Gitea access" section):
|
||||
```bash
|
||||
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "fix(wiki): Sprint 30 wiki quality fixes and atlas regressions" --description "body" --base main --head copy
|
||||
```
|
||||
@@ -0,0 +1,52 @@
|
||||
# Sprint 30: Clean Slate — Joint Briefing
|
||||
|
||||
**Goal:** Close Phase 1 wiki quality debt — stereotype correction, data integrity fixes, and atlas regressions — so the wiki stands correct before Phase 1 UI work begins.
|
||||
|
||||
**Sprint number:** 30
|
||||
**Theme:** Clean Slate
|
||||
**Status:** planning
|
||||
|
||||
## Pre-Sprint Checklist
|
||||
|
||||
| Item | Owner | Status |
|
||||
|------|-------|--------|
|
||||
| Epics #638, #683, #738 closed (all children done) | SI | done |
|
||||
| #772 assigned to copy team | SI | done |
|
||||
| All 26 tickets assigned to Sprint 30 | SI | done |
|
||||
|
||||
## Ticket Summary by Team
|
||||
|
||||
| Team | Count | Priority breakdown |
|
||||
|------|-------|--------------------|
|
||||
| copy | 18 | 1 high, 9 medium, 8 low |
|
||||
| client | 5 | 1 high, 4 medium |
|
||||
| server | 3 | 3 medium |
|
||||
| **total** | **26** | |
|
||||
|
||||
## Sprint Completion Proof
|
||||
|
||||
The sprint is done when:
|
||||
|
||||
1. **Wiki accuracy:** GJ1111 and GJ54.1 prose matches actual populations (380K/320K, not 500M/800M tier language)
|
||||
2. **Atlas correctness:** GJ1111 `star_type = M` (not `unusual`), GJ707 `star_type = binary` with proper spectral_class
|
||||
3. **Schema compliance:** Langemark celestial bodies table uses only schema-valid values; `tooling/db/sqlite-query "SELECT DISTINCT atmosphere FROM bodies"` returns no `breathable` entries from new commits
|
||||
4. **Stereotype balance:** One new Afrikaans-adjacent system authored this sprint that subverts the pastoral/frontier register
|
||||
5. **Client stability:** Character creation screen populates from manifest.json without DirAccess fallback; hair highlight swatch either wired to descriptor or marked read-only
|
||||
6. **Server reliability:** `settings.db` is auto-created on first run; `habitable_planet_count` is non-zero for systems with `atmosphere = standard` planets after fix
|
||||
|
||||
## Cross-Team Dependencies
|
||||
|
||||
**Client → Server (#718):** The client sends `CharacterVisualDescriptor` on new game start. If server-side persistence is needed (storing descriptor in save file, returning in `ObserverSnapshot`), that work is not in Sprint 30's server tickets. Stig should verify what the server currently does with the descriptor on receipt before assuming it is handled. If server-side work is needed, raise with SI to create a follow-up ticket.
|
||||
|
||||
**Copy → Server (#762):** The `breathable` vs `standard` filter fix in atlas.rs affects all future copy team commits. Server team should ship this fix early so copy team's Sprint 30 wiki commits produce correct `habitable_planet_count` values.
|
||||
|
||||
## Deferred to Sprint 31
|
||||
|
||||
- **#766** — Cultural diversity sweep (full sweep across all 5 corridors) — too large for this sprint, scoped as its own sprint
|
||||
- **#675** — Gate network travel planner — deferred
|
||||
|
||||
## Notes
|
||||
|
||||
No planning tickets in this sprint — all decisions are already made. Sprint 30 is execution-only: fix what the PR reviews flagged, apply the authoring constraint from the cultural audit, and clean up the character system.
|
||||
|
||||
The cultural audit file at `docs/audits/cultural-stereotyping-audit.md` and `docs/audits/pr101-review-sample.diff` are the reference sources for the copy team's correctness tickets. Copy team should read both before starting the medium/high priority fixes.
|
||||
@@ -0,0 +1,90 @@
|
||||
# Sprint 30: Clean Slate — Server Tasks
|
||||
|
||||
**Goal:** Close Phase 1 wiki quality debt — stereotype correction, data integrity fixes, and atlas regressions — so the wiki stands correct before Phase 1 UI work begins.
|
||||
|
||||
**Branch:** `server`
|
||||
**Agents:** Dudley (dev), Tyre (arch), Hoshe (QA)
|
||||
|
||||
## New Tickets
|
||||
|
||||
| # | Title | Priority | Blocked by |
|
||||
|---|-------|----------|------------|
|
||||
| #762 | fix(atlas): habitable_planet_count filter uses 'breathable' but proposals use 'standard' | medium | — |
|
||||
| #752 | Add settings.db creation-on-missing routine + gitignore | medium | — |
|
||||
| #744 | Add corridor-status command to atlas CLI | medium | — |
|
||||
|
||||
Use `tooling/db/ticket show <id>` for full details.
|
||||
|
||||
## Key Decisions
|
||||
|
||||
- `decisions/architecture.md` — D-094 (chunk size 32, district 256×256), D-139 (composable behavior primitives)
|
||||
- `decisions/scope.md` — D-114 (server simulation is Phase 1 infrastructure)
|
||||
|
||||
## Notes
|
||||
|
||||
### #762 — habitable_planet_count filter mismatch
|
||||
|
||||
**File:** `server/src/bin/atlas.rs`, `cmd_commit_system` function, line ~1293.
|
||||
|
||||
The filter reads:
|
||||
```rust
|
||||
b.atmosphere.as_deref() == Some("breathable")
|
||||
```
|
||||
|
||||
But all Track B/C/D body catalog proposals use `atmosphere: "standard"`, not `"breathable"`. As a result, `habitable_planet_count` is written as 0 for every committed system regardless of actual habitability. Fix the filter value to `"standard"`. Verify by querying the committed systems table after the fix: `tooling/db/sqlite-query "SELECT gj_id, habitable_planet_count FROM star_systems WHERE habitable_planet_count > 0 LIMIT 10"` should return non-zero counts after recommitting a test system.
|
||||
|
||||
If both `"breathable"` and `"standard"` are valid atmosphere values that should count as habitable, update the filter to accept both: `matches!(b.atmosphere.as_deref(), Some("breathable") | Some("standard"))`.
|
||||
|
||||
**Do not retroactively fix existing committed systems** — the fix applies to new commits. If you want to backfill, do it in a separate migration with a clear comment.
|
||||
|
||||
### #752 — settings.db creation-on-missing
|
||||
|
||||
**File:** `server/src/main.rs` lines 158-169, `server/src/settings/` module.
|
||||
|
||||
`main.rs` calls `SettingsStore::open(&settings_path)` but if `settings.db` does not exist the call logs a warning and continues without settings persistence — it does not crash, but it silently degrades. Improve this:
|
||||
|
||||
1. In `SettingsStore::open()` (likely in `server/src/settings/store.rs`), if the file does not exist, create it with default schema. Use `rusqlite::Connection::open()` which creates the file if absent, then run the settings schema `CREATE TABLE IF NOT EXISTS` DDL on first open.
|
||||
2. Add `settings.db` to `.gitignore` (it is a runtime artifact, not source).
|
||||
3. Verify: delete `settings.db`, run the server binary, confirm `settings.db` is created and the server starts without warnings about missing settings.
|
||||
|
||||
**Schema reference:** Check `server/src/settings/types.rs` and `server/src/settings/store.rs` to understand the existing schema and what tables need to be created on first run.
|
||||
|
||||
### #744 — corridor-status command for atlas CLI
|
||||
|
||||
**File:** `server/src/bin/atlas.rs`.
|
||||
|
||||
The atlas binary already has a subcommand infrastructure (clap-based, see lines 32-40). Add a `corridor-status` subcommand that shows remaining unfinished systems grouped by `geographic_sector` and `hop_distance`. Currently this is done via ad-hoc raw SQL queries.
|
||||
|
||||
**What to deliver:**
|
||||
- New `CorridorStatus` subcommand struct in atlas.rs
|
||||
- Implementation queries `star_systems` for systems where body catalog is incomplete (no committed bodies, or `status != 'complete'` if such a field exists)
|
||||
- Groups output by `geographic_sector`, then by `hop_distance` within each sector
|
||||
- Output format: plain text table, corridor → hop → count of remaining systems, one row per corridor/hop combination
|
||||
- Add to the atlas binary's help text
|
||||
|
||||
**Query basis:** The equivalent SQL is approximately:
|
||||
```sql
|
||||
SELECT geographic_sector, hop_distance, COUNT(*) as remaining
|
||||
FROM star_systems
|
||||
WHERE body_catalog_complete = 0 OR body_catalog_complete IS NULL
|
||||
GROUP BY geographic_sector, hop_distance
|
||||
ORDER BY geographic_sector, hop_distance;
|
||||
```
|
||||
Verify the actual column name against `db/schema.sql`.
|
||||
|
||||
## Dependency Chain
|
||||
|
||||
```
|
||||
#762 (breathable filter fix) — standalone
|
||||
#752 (settings.db create) — standalone
|
||||
#744 (corridor-status cmd) — standalone
|
||||
```
|
||||
|
||||
All three tickets are parallel tracks. No cross-dependencies.
|
||||
|
||||
## PR Workflow
|
||||
|
||||
When ready to submit, create a PR with `tea` CLI. **All flags are required** to avoid TTY prompts (see CLAUDE.md "Gitea access" section):
|
||||
```bash
|
||||
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "fix(server): Sprint 30 atlas filter, settings.db init, corridor-status cmd" --description "body" --base main --head server
|
||||
```
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
name: The Settled Reach
|
||||
version: 0.1.28
|
||||
version: 0.1.30
|
||||
repository: settled-reach
|
||||
|
||||
|
||||
|
||||
Generated
+1
-1
@@ -1236,7 +1236,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "settled-reach-server"
|
||||
version = "0.1.28"
|
||||
version = "0.1.29"
|
||||
dependencies = [
|
||||
"bevy_app",
|
||||
"bevy_ecs",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "settled-reach-server"
|
||||
version = "0.1.28"
|
||||
version = "0.1.30"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user