How addey34/galaxy-3d works
Galaxy is a browser-based 3D solar-system explorer with educational compressed-scale and true astronomical-scale exploration modes. Users navigate celestial bodies, change the simulated date, inspect scientific positions and surface detail, and use optional tours, events, and shareable links. The main runtime separates application orchestration, ephemeris and scale calculations, Three.js scene/rendering, and interaction UI. The README documents several product capabilities whose implementation files were not sampled; those are represented at their supported directory level, with links limited to documented relationships.
Main entry points: SolarSystemApp.ts Solar system app · MainSolarSystemApp.ts Main app · SceneSystem.ts Scene system · CelestialObject.ts Celestial objects
Components 19
App runtime
- Main app
src/MainSolarSystemApp.ts - Solar system app
src/SolarSystemApp.ts
Astronomy and data
- Body catalogue
src/config/bodies.ts - Entity registry
src/registry/entities/index.ts - Horizons ephemeris
src/core/HorizonsEphemerisService.ts - Orbital mechanics
src/core/OrbitalMechanics.ts - Scale conversion
src/core/ScaleService.ts - Simulation clock
src/core/SimulationClock.ts
Scene and rendering
- Scene system
src/components/systems/SceneSystem.ts - Texture system
src/components/systems/TextureSystem.ts - Celestial objects
src/components/celestial/CelestialObject.ts - Surface imagery
src/components/surface/PlanetarySurfaceEngine.ts - Camera controls
src/components/systems/CameraSystem.ts - Animation system
src/components/systems/AnimationSystem.ts
Exploration features
- Exploration UI
src/ui - Guided tours
src/core/tourEngine.ts - Earth events
src/core/earthEvents.ts
Other components
- Explorer
- Event catalogues
Connections 19
- Explorer → Main app: uses
README.md - Main app → Solar system app: starts
src/MainSolarSystemApp.ts - Solar system app → Scene system: initializes
src/SolarSystemApp.ts - Solar system app → Camera controls: coordinates
src/SolarSystemApp.ts - Solar system app → Animation system: coordinates
src/SolarSystemApp.ts - Solar system app → Horizons ephemeris: uses
src/SolarSystemApp.ts - Solar system app → Orbital mechanics: uses
src/SolarSystemApp.ts - Solar system app → Simulation clock: uses
src/SolarSystemApp.ts - Entity registry → Body catalogue: provides entities
src/config/bodies.ts - Scene system → Texture system: configures
src/components/systems/SceneSystem.ts - Scene system → Celestial objects: constructs
src/components/systems/SceneSystem.ts - Celestial objects → Scale conversion: uses
src/components/celestial/CelestialObject.ts - Surface imagery → Event catalogues: loads tiles
- Main app → Exploration UI: provides controls
src/MainSolarSystemApp.ts - Main app → Guided tours: offers tours
README.md - Main app → Earth events: offers events
README.md - Earth events → Event catalogues: reads reports
README.md - Exploration UI → Horizons ephemeris: selects dates
- Explorer → Event catalogues: catalogues USGS / NASA EONET
README.md