What This Is
The proposed tool is an attempt by Adrien Normier, for a prototype visualisation arm of a larger project initiated at the International Space Science Institute (ISSI) Forum on Cosmic Footprint (2023–2024). The broader ambition is an International Registry of Anthropogenic Footprint Beyond Earth — a common ground for ethics and governance discussions, merging existing databases, filling data gaps, and making the result publicly accessible.
The visualisation is built on spacekit.js (Ian Webster / typpo), itself wrapping Three.js, running in the browser with no server-side rendering. All coordinate maths is executed client-side using J2000.0 ecliptic heliocentric frames as the native scene coordinate system.
Two Distinct Layers
The visualisation is structured around two conceptually separate layers that should not be confused:
Layer 1 — Natural Environment Model
A scientifically accurate model of the pre-existing cosmos: the solar system, nearby stars (GAIA DR3), confirmed exoplanetary systems (NASA Archive), and the Milky Way (ESO panorama). This layer provides the context — the vast, indifferent backdrop against which human activity is measured. It is not the subject of the project; it is the scale reference. Objects in this layer are rendered as the existing, unaffected natural environment.
Layer 2 — Human Impact Layer
The actual subject of the project: everything humanity has placed, fired, crashed, or transmitted into space since 1957. This includes:
- Physical: Earth-orbit satellites and debris (~24 000 catalogued objects), live orbital clouds (CelesTrak GP elements), planetary landers and impactors, heliocentric spacecraft, launch sites, planet orbiters, cataclysmic events (collisions, ASAT tests)
- Interstellar: Probes escaping the solar system (Voyagers, Pioneers, New Horizons) now in interstellar space
- Informational: All known intentional radio transmissions toward other stars (METI), time capsules, and the expanding sphere of unintentional radio leakage
The human impact layer can be hidden entirely (fingerprint icon in the toolbar) to reveal the natural environment model alone — making the contrast vivid and intentional.
Temporal Visibility
The simulation is time-aware: scrubbing the year slider changes what is visible. Each category of object follows a principled rule about when it appears and disappears:
| Dataset | Appears | Disappears |
|---|---|---|
| Earth orbit satellites | On launch date (from Keplerian epoch) | When orbit decays / no epoch data (hidden immediately) |
| Launch sites | First recorded launch (GCAT TStart) |
5 years after last recorded launch (TStop); sites still active today remain visible indefinitely |
| Planet orbiters (Mars, Jupiter, Moon) | Mission launch date | Remain visible while the mission is active (no planned end date encoded) |
| Planetary landings & impacts | Landing / impact date | Permanent — surface hardware does not disappear |
| Cataclysmic events (collisions, ASAT, explosions) | Event date — dot persists, expanding flash plays once | Permanent — debris fields are historical facts |
| METI messages | Transmission date — propagates outward at c | Never; the wavefront is permanent |
Launch site activity windows are derived directly from the GCAT Launch Sites table
(McDowell, CC-BY 4.0), which records first and last launch dates for each facility. Sites with
no known first use (TStart = –) or no known last use (TStop = * or –)
are treated conservatively: no start constraint or no end constraint, respectively.
Credits
| Name | Role |
|---|---|
| Adrien Normier | Project lead, concept, architecture, all editorial choices and scientific oversight. Driver of all development iterations. |
| Jonathan Justman | Contributed to initial development phase. |
| Victor Nakache | Early development contributions. |
| GPT-4 (OpenAI) & Claude (Anthropic) | Most of the codebase was written by large-language-model assistants, directed and reviewed at every step by A. Normier. |
ISSI Forum Day III participants who contributed to the registry architecture: DB, AB, NM, ER, YE, VD, AN, DV.
Code Structure
The codebase was fully refactored in March 2025 into a clean module hierarchy:
src/js/
constants.js — physical constants (LY_TO_AU, PC_TO_AU, KM_TO_AU,
obliquity, proper-motion conversion)
coords.js — 8-section coordinate toolkit:
equatorial ↔ ecliptic ↔ galactic ↔ supergalactic,
horizontal (az/el) → equatorial, body-surface → ecliptic,
LST calculation (Smart 1977; Seidelmann 2007; Liu 2011)
utils.js — isMobile, isDesktop, toggleFullscreen, UI helpers
main.js — entry point (~200 lines); owns onTick loop
modules/
sim.js — creates and exports: viz, THREE, scene, renderer, camera
objects.js — Keplerian object init, update, unload (satellites, voyagers,
messages, stars)
milkyway.js — Milky Way composite: top-down image plane (Layer 2) +
ESO panoramic sphere (Layer 3); point cloud removed
planets.js — initPlanets(); exports earthV, marsV, moonV, etc.
spacecraft.js — loadSpacecrafts() / unloadSpacecrafts() (DSN live data)
exoplanets.js — point cloud, proper-motion update, system fly-to,
orbit ring rendering, star glow
ui/
nav.js — 7 nav buttons + DSN Live toggle + Exoplanets toggle
controls.js — speed/year sliders, play/pause, syncSpeedDisplay
infobox.js — showObject(), hideInfoBox()
raycaster.js — click-to-select; handles both individual objects and
multi-point clouds; selection ring sprite
screenshot.js — viewport / custom-size screenshot
data/
voyagers.js — interstellar probes (JPL Horizons J2000.0 equatorial)
messages.js — METI / intentional transmissions
famousStars.js — named stars
stars100LY*.js — GAIA DR3 stars within 100 LY (split by spectral temp)
spatial-objects.js — ∼1000 Earth-orbit satellites (Keplerian elements)
service/
fetchExoplanets.js — NASA Exoplanet Archive TAP via /api/exoplanets proxy
scrapDSN-2.js — NASA DSN XML feed; az/el → equatorial → ecliptic
simCalc.js — distToCam()
api/ — Vercel serverless functions
exoplanets.js — CORS proxy for NASA Exoplanet Archive TAP (1h cache)
Coordinate Framework
Scene Frame
The native scene coordinate system is J2000.0 ecliptic heliocentric (Sun at origin, XY = Earth's orbital plane, X toward the J2000.0 vernal equinox, Z toward the ecliptic north pole). This is the native frame of spacekit.js.
Obliquity Correction
All equatorial (RA/Dec) datasets are rotated to the ecliptic frame via the J2000.0 obliquity
ε = 23.43929111° (IAU value stored in constants.js):
x_ecl = x_eq y_ecl = y_eq · cos ε + z_eq · sin ε z_ecl = −y_eq · sin ε + z_eq · cos ε
Galactic Coordinates
The Milky Way orientation uses the IAU 1985 galactic coordinate system, realised using the most precise modern values (Liu, Zhu & Zhang 2011, A&A 526, A16):
- Galactic North Pole: αGNP = 192.85948°, δGNP = +27.12825°
- Galactic Centre (Sgr A*): αGC = 266.40499°, δGC = −28.93616° (Reid et al. 2004)
- Distance to Sgr A*: 8.178 kpc (Gravity Collaboration 2019, A&A 625, L10)
DSN Pipeline
Real-time Deep Space Network signals are placed via: az/el (topocentric horizontal) → RA/Dec (equatorial) → λ/β (ecliptic) → XYZ. LST is computed from UTC using the standard GMST formula (Seidelmann 2007). Station WGS-84 geodetic coordinates: Goldstone (35.425°N, 116.889°W), Madrid (40.427°N, 4.249°W), Canberra (35.402°S, 148.981°E).
Datasets
| Dataset | Source | Licence | Status |
|---|---|---|---|
| Near-Earth satellites (SATCAT / Keplerian elements) | Jonathan McDowell — GCAT | CC-BY 4.0 | Implemented (spatial-objects.js) |
| Heliocentric objects (hcocat) | GCAT hcocat — McDowell | CC-BY 4.0 | Implemented (hcocat.js — 775 objects) |
| Deep Space catalog | McDowell deepcat | CC-BY 4.0 | Reference; not yet rendered |
| NASA DSN real-time feed | NASA / eyes.nasa.gov | US Gov public domain | Implemented (DSN Live button) |
| GAIA DR3 — stars within 100 LY | ESA Gaia Data Release 3 | CC-BY 4.0 | Implemented (stars100LY*.js) |
| NASA Exoplanet Archive (TAP) | NASA NExScI / IPAC | US Gov public domain / CC0 | Implemented via Vercel CORS proxy |
| Far probes — Voyagers, Pioneers, New Horizons | JPL Horizons ephemeris (A. Normier, manually extracted) | US Gov public domain | Implemented (voyagers.js) |
| METI — intentional transmissions to stars | A. Normier (own database, from published literature) | CC-BY 4.0 | Implemented (messages.js) |
| Named stars | A. Normier / public astronomical catalogues | CC-BY 4.0 | Implemented (famousStars.js) |
| Milky Way top-down image | NASA/JPL-Caltech (Wikipedia) | Public domain (NASA) | Implemented (Layer 2) |
| Milky Way panorama (ESO) | ESO S. Brunier | CC-BY 4.0 | Implemented (Layer 3 sphere) |
| Lunar Registry | Paolo Guardabasso | CC-BY (agreed) | Planned |
| Radio leakage model | Saide, Garrett & Heeralall-Issur 2022 | Academic; integration planned | Planned |
| COSPAR biological classification | COSPAR PPP | Public guidelines | Planned |
| ESA reentry history | ESA ESOC | Public | Planned |
| Launch events (lcat) | McDowell GCAT lcat | CC-BY 4.0 | Planned |
Scientific References
Coordinate Systems & Stellar Geometry
- Liu, Zhu & Zhang 2011 — “Reconsidering the galactic coordinate system”, A&A 526, A16. Most precise realisation of IAU 1985 galactic coordinates; used for GNP direction.
- Reid et al. 2004 — “The position of Sagittarius A*”, ApJ 616, 872. J2000.0 equatorial coordinates of Sgr A*.
- Gravity Collaboration 2019 — “A geometric distance measurement to the Galactic Center black hole”, A&A 625, L10. dGC = 8.178 kpc; used to place Sgr A* in the scene.
- Bennett & Bovy 2019 — “Vertical waves in the solar neighbourhood”, ApJ 872, 1. Sun's vertical offset above galactic mid-plane: z⊙ ≈ +20.8 pc.
- Smart 1977 — Textbook on Spherical Astronomy, Cambridge. LST / GMST derivation used in coords.js.
- Seidelmann (ed.) 2007 — Explanatory Supplement to the Astronomical Almanac, USNO/Mill Valley. Reference for GMST formula and coordinate transformation conventions.
Galactic Structure
- Bovy 2017 — “Galpy: A Python library for galactic dynamics”, MNRAS 470, 1360. Radial scale length HR = 3.5 kpc for the Milky Way disc.
- Robin et al. 2003 — “A synthetic view on structure and evolution of the Milky Way”, A&A 409, 523. Disc density profile parameters.
- Hou & Han 2014 — “The observed spirals of the Milky Way”, ApJS 215, 1. Spiral arm geometry: logarithmic spirals, pitch angle ψ = 12°.
- Launhardt et al. 2002 — “The nuclear bulge of the Galaxy”, A&A 384, 112. Galactic bulge Gaussian σb = 1.5 kpc.
- Xu et al. 2015 — “Rings and radial waves in the disk of the Milky Way”. Milky Way disk diameter ≈ 87 400 LY used for disc geometry.
EM Footprint / Radio Leakage
- Saide, Garrett & Heeralall-Issur 2022 — “Simulation of the Earth's radio-leakage from mobile towers as seen from selected nearby stellar systems”. Foundation for future EM footprint layer; integration planned.
Exoplanets
- NASA Exoplanet Archive — exoplanetarchive.ipac.caltech.edu. ~5,000 confirmed systems; TAP/SQL API; fetched via server-side CORS proxy.
- Missing semi-major axes estimated via Kepler’s third law: a = ³√(Pyr² · Mstar) AU.
The Cosmic Footprint Registry
The ISSI Forum on Cosmic Footprint (2023) concluded that establishing a shared registry of anthropogenic footprint in space is critical and urgent. No informed governance discussion can happen without a common ground truth accessible to non-experts.
Five-Step Process
- Review — Inventory of impact types (physical, biological, informational)
- Databases — Fetch existing datasets (GCAT, CelesTrak, DSN, GAIA…) and assemble missing ones (EM leakage, METI, COSPAR biological classification…)
- Homogenise & merge — Common coordinate system, schema normalisation, deduplication
- Research — Model past/present/future impacts; compare with natural occurrence; quantify uncertainties
- Fill data holes — Publish enhanced registry; expose public API; yearly physical backup
Impact Categories
- Physical — Spacecraft, debris, RTGs, explosive devices, gravity assists, exhaust deposits, impact craters, EM footprint
- Biological — Bioburden (COSPAR classification), potentially surviving microbes, higher organisms, human DNA
- Informational — METI, time capsules, unintentional radio leakage, cultural artifacts, human ashes aboard spacecraft
Preprocessing Strategy
Static datasets are pre-baked to ecliptic XYZ coordinates at build time to eliminate per-frame coordinate transforms in the browser. Live feeds (DSN, Exoplanet Archive) are proxied through Vercel edge functions with response caching. Yearly snapshots of the full dataset are distributed to sub-database curators as physical archives.
Software Dependencies
| Library | Version / Source | Licence |
|---|---|---|
| spacekit.js | github.com/typpo/spacekit (Ian Webster) | MIT |
| Three.js | threejs.org (bundled via spacekit) | MIT |
| Font Awesome 5 | CDN (icons) | Font Awesome Free — CC-BY 4.0 (icons), SIL OFL (fonts), MIT (code) |
| Axios | CDN (HTTP client for DSN feed) | MIT |
| Roboto / Google Fonts | fonts.googleapis.com | Apache 2.0 |
| Vercel | Hosting & serverless functions | Commercial (Hobby plan) |
Links
- spaceethics.org — project home
- spaceethics.vercel.app — live visualisation
- GCAT — Jonathan McDowell
- ISSI Bern
- Lunar Resources Registry — P. Guardabasso
- NASA Exoplanet Archive
- ESA Gaia Archive
- ESA ESOC Reentry Database
- NASA Deep Space Network Now
All original code and editorial content: © A. Normier / spaceethics.org — CC-BY 4.0.
Individual sub-datasets retain the licences listed in the table above.
This document was assembled by A. Normier from ISSI Forum Day III working documents (DB, AB, NM, ER, YE, VD, AN, DV).