Skip to content

feat(galaxy): randomly generated galaxy and system map renderer #91

Description

@ScottyVenable

Owner: Sol

Goal

Build a visual galaxy map and per-system map that renders the existing
procedurally generated galaxy, scales to both mobile portrait and 16:9
desktop layouts, and lets the player tap or click systems and stations to
navigate. This replaces ΓÇö or augments, at Sol's design discretion ΓÇö the
current text-based Helm screen list.

Acceptance criteria

  • Galaxy view:
    • Renders all star systems with their faction colour.
    • Currently selected system is highlighted.
    • Current player location is marked with a distinct ring.
  • System view:
    • Zoom-in showing stations within a system.
    • Station kind icons are visually distinct.
    • Distance and risk labels are present and legible.
  • Reads from the existing src/engine/galaxy.ts. If the schema needs
    anything new, that becomes a Sol-tracked sub-task on this issue.
  • Renderer is SVG, not canvas, for crisp scaling and accessibility.
  • Mobile portrait: single column, pinch / drag to pan within bounds.
  • Desktop 16:9: fits the main column with a small mini-map slotted into
    the right rail.
  • Performance budget: 60 fps pan on a mid-range phone with up to 200
    systems.
  • Reduced-motion preference respected on map transitions.
  • No emoji, no Math.random.

Out of scope

  • Combat visualisation.
  • Faction conflict / war-front visualisation.

Branch

feat/sol-galaxy-map

Notes

  • Suggested size: XL, estimate 13.
  • Target milestone: v0.3.0-alpha.
  • Sol may split this into sub-issues for galaxy renderer, system renderer,
    and interaction layer. Sub-issues will be linked via REST sub_issue_id
    to this parent.

ΓÇö Jesse

Sub-tasks

Metadata

Metadata

Assignees

Labels

area:galaxyGalaxy generation, regions, systems, stations, factions, or station kinds.area:uiScreens, layout, controls, mobile ergonomics, styling, or accessibility.channel:developmentTargets the development branch and dev build channel.priority:p2Normal priority: planned roadmap work or important polish.release-bump:minorRelease automation should treat this as a minor version bump.type:featureNew player-facing system, screen, mechanic, or workflow.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions