EPIC: Unify P4 — Supply Lines (orbital satellites + planetary stockpiles) #930

Closed
opened 2026-08-06 16:11:57 +00:00 by spikerj · 1 comment
Owner

Part of the Game Unification lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: ~/.claude/plans/i-want-a-plan-breezy-eclipse.md on the 4090.

NEW orbital-satellite entity (Joey's call — distinct from the Spacecraft docking system): deployed from a ship near a conquered planet, server-swept orbit, owner-bound, persisted (game_satellites), cargo hold. Planetary stockpiles accrue lazily from base mines/harvesters (no per-tick simulation). Satellites relay cargo surface↔orbit and run automated haul routes between a player's satellites.

Playable when done: mine on planet A, deploy satellites, route ore to planet B — web and mobile (hard lockstep; space-layer).

Tickets


Child issues (per-repo, auto-close on merge)

This epic is complete when every box below is checked. Each child lives in the
repo that holds its fix, so fixes #N in a PR closes it automatically.

Backend

Angular

Godot

Checklist generated by the umbrella-tracker migration, 2026-08-07 — Opus 5 Agent

Part of the **Game Unification** lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: `~/.claude/plans/i-want-a-plan-breezy-eclipse.md` on the 4090. NEW orbital-satellite entity (Joey's call — distinct from the Spacecraft docking system): deployed from a ship near a conquered planet, server-swept orbit, owner-bound, persisted (`game_satellites`), cargo hold. Planetary stockpiles accrue lazily from base mines/harvesters (no per-tick simulation). Satellites relay cargo surface↔orbit and run automated haul routes between a player's satellites. **Playable when done**: mine on planet A, deploy satellites, route ore to planet B — web and mobile (hard lockstep; space-layer). ### Tickets - [ ] #964 - [ ] #965 - [ ] #966 - [ ] #967 - [ ] #968 - [ ] #969 <!-- BEGIN MIGRATED-CHILDREN --> --- ## Child issues (per-repo, auto-close on merge) This epic is complete when every box below is checked. Each child lives in the repo that holds its fix, so `fixes #N` in a PR closes it automatically. **Backend** - [ ] spikerj/spikersoft-backend#568 — [ShareSurveyReport] Backend: ShareSurveyReport command + shareable report model <sub>(was #969)</sub> - [ ] spikerj/spikersoft-backend#601 — [BE] Planetary stockpile with lazy offline accrual <sub>(was #964)</sub> - [ ] spikerj/spikersoft-backend#602 — [BE] SatelliteEntity: deploy, orbit sweep, persistence <sub>(was #965)</sub> - [ ] spikerj/spikersoft-backend#603 — [BE] Cargo transfer commands: surface↔orbit + satellite↔satellite routes <sub>(was #966)</sub> **Angular** - [ ] spikerj/spikersoft-angular#670 — [NG] Satellite deploy/cargo/stockpile UI (gl-hud) <sub>(was #967)</sub> - [ ] spikerj/spikersoft-angular#681 — [ShareSurveyReport] Angular: share a survey report + show received-report provenance <sub>(was #969)</sub> **Godot** - [ ] spikerj/spikersoft-games-godot#15 — [GD] Satellite deploy/cargo/stockpile UI <sub>(was #968)</sub> - [ ] spikerj/spikersoft-games-godot#21 — [ShareSurveyReport] Godot: share a survey report + show received-report provenance <sub>(was #969)</sub> <sub>Checklist generated by the umbrella-tracker migration, 2026-08-07 — Opus 5 Agent</sub> <!-- END MIGRATED-CHILDREN -->
spikerj added the agenticenhancement labels 2026-08-06 16:11:57 +00:00
spikerj added the epic label 2026-08-07 13:43:03 +00:00
Author
Owner

Dissolved into per-repo issues as part of the umbrella-tracker breakup.

This epic could never auto-close from a merge, because Gitea only resolves
fixes #N within a single repo. Its work now lives where the code is:

Backend

Angular

Godot

The unit is tracked by the shared [Unify P4] title prefix and by sibling
cross-links in each issue body. Closing here — the umbrella tracker is being
emptied.

— Opus 5 Agent

Dissolved into per-repo issues as part of the umbrella-tracker breakup. This epic could never auto-close from a merge, because Gitea only resolves `fixes #N` within a single repo. Its work now lives where the code is: **Backend** - spikerj/spikersoft-backend#568 — [ShareSurveyReport] Backend: ShareSurveyReport command + shareable report model - spikerj/spikersoft-backend#601 — [BE] Planetary stockpile with lazy offline accrual - spikerj/spikersoft-backend#602 — [BE] SatelliteEntity: deploy, orbit sweep, persistence - spikerj/spikersoft-backend#603 — [BE] Cargo transfer commands: surface↔orbit + satellite↔satellite routes **Angular** - spikerj/spikersoft-angular#670 — [NG] Satellite deploy/cargo/stockpile UI (gl-hud) - spikerj/spikersoft-angular#681 — [ShareSurveyReport] Angular: share a survey report + show received-report provenance **Godot** - spikerj/spikersoft-games-godot#15 — [GD] Satellite deploy/cargo/stockpile UI - spikerj/spikersoft-games-godot#21 — [ShareSurveyReport] Godot: share a survey report + show received-report provenance The unit is tracked by the shared `[Unify P4]` title prefix and by sibling cross-links in each issue body. Closing here — the umbrella tracker is being emptied. — Opus 5 Agent
Sign in to join this conversation.