SOLAR SYSTEM 3D · FOSFORONERO LAB

Data, sources
and technical stack.

Solar System 3D is an open-source WebGL observatory built for Fosforonero. Every position, star, and datum displayed comes from open or public sources with explicit citation.

TECHNICAL STACK

  • Next.js (App Router)React framework with file-system routing.
  • ReactUI component model.
  • TypeScriptType safety across the whole codebase.
  • Three.jsUnderlying WebGL 3D engine.
  • React Three FiberDeclarative React bridge for Three.js.
  • @react-three/dreiHelpers and abstractions for R3F.
  • @react-three/postprocessingPost-processing effects: bloom, vignette.
  • Orbital mechanics (Keplerian solver)Custom Keplerian solver using public orbital elements.
  • Star catalog: ESA HipparcosCurated subset for browser-ready firmament rendering.
  • lib/solar-system/reference-frames.tsHEC-J2000 frame documentation, ecliptic-to-equatorial conversion.
  • lib/solar-system/rotation-model.tsIAU 2015 axial tilt, sidereal rotation, retrograde detection.
  • lib/solar-system/lighting-model.tsPhysical (1/r²) and educational lighting configurations.
  • VercelHosting and deployment.

SCIENTIFIC DATA SOURCES

TEXTURES AND 3D ASSETS (SPRINT 02+)

Current status: All materials are procedural. No real texture maps have been integrated yet. The following sources will be used in future sprints.

OPEN DATA AND LICENSE NOTES

NASA imagery and data are generally public under NASA media guidelines. USGS-authored products are generally US public domain. All source credits are retained. No NASA, JPL or USGS endorsement is implied.

SCIENTIFIC LIMITATIONS

  • Orbital positions: J2000 Keplerian elements in the HEC-J2000 frame. Not numerical integrations, not live JPL Horizons vectors. Accuracy: a few million km over multi-year timescales.
  • Axis orientation: IAU 2015 obliquity correct; pole azimuth approximated (IAU WGCCRE RA/Dec in Sprint 04). Precession and nutation not modelled.
  • Rings: simplified geometry; ring/planet proportions are physically correct. Missing: Cassini Division, ring shadow on planet. Rings use a fixed-colour material (meshBasicMaterial) and do not receive sunlight from the PointLight.
  • Lighting: educational mode adds a non-physical ambient boost for visibility. Physical mode (1/r²) is available but makes outer planets very dark.
  • Visual radii: educational logarithmic scale by category. Bodies are much larger than real scale relative to distances. Declared in inspector under "Active scales".
  • Mass: shown in the inspector as reference data. Not used in the simulation — orbits are static Keplerian, not N-body.
  • Temperature: no data and no calculations for surface, mean, or radiative equilibrium temperature.
  • Gravity and N-body: not implemented. No gravitational forces between bodies.
  • Eclipses, shadows, and transits: not implemented.
  • Star catalog is a curated subset of Hipparcos (44 stars), not the full catalog.
  • Textures are procedural; surface details are not scientifically representative.

PERFORMANCE STRATEGY

  • WebGL canvas loaded via dynamic import (SSR-safe).
  • No heavy texture maps (procedural materials).
  • Minor body catalog limited to ~28 curated bodies.
  • Instanced rendering planned for future dense catalogs (Sprint 03B+).

ROADMAP

  • Sprint 01: Keplerian solver, body catalog, Hipparcos firmament, procedural WebGL rendering.
  • Sprint 02: Full orbital elements (Ω, ω, M₀ J2000), sampled elliptical orbit paths, category-aware log radius scaling, readable moon/satellite systems, days/sec playback.
  • Sprint 03A: Physical realism — IAU 2015 axial tilt, Saturn/Uranus rings, 1/r² lighting, HEC-J2000 reference frame, inspector frame/accuracy.
  • Sprint 03B: JPL Horizons API route for precision positions; full minor-body catalog with progressive loading; real NASA/USGS textures.
  • Sprint 04: IAU WGCCRE RA/Dec for planetary pole azimuths; natural satellite catalog; asteroid belt as instanced points.
  • Sprint 05: CelesTrak artificial satellites; sandbox physics mode.

SUPPORT THE PROJECT

This lab is free, ad-free and built on open or public data. If it is useful to you or you want to support more interactive scientific tools, you can buy a coffee on Ko-fi.

Support on Ko-fi

OTHER FOSFORONERO PROJECTS