Sources and credits: data, images and licences
Data as of 2026-09-17
Every table below is read at build time from the file that is authoritative for it, so this page cannot fall out of date with what the app actually ships. How positions are computed, and how accurate they are, is explained on the methodology page.
Physical data
Each value on a body’s information card and public page cites a primary source: a space agency, an agency database, or a published article, never an encyclopaedia. A derived value is computed from published ones (a mass from the published GM, a radius from a diameter), and the card says how. 360 values are shown, 145 of them derived. 90 values the simulation uses are not shown because they are not yet traced to a primary source, and 22 have no single value to publish (a range, an upper limit, or a quantity that varies too much across the body or its orbit for one number): the card says why instead of showing a number.
| Source | Bodies | Values | Method |
|---|---|---|---|
| NASA NSSDCA, Planetary and Satellite Fact Sheets | Amalthea, Ariel, Callisto, Charon, Deimos, Dione, Earth, Enceladus, Europa, Ganymede, Hyperion, Iapetus, Io, Jupiter, Mars, Mercury, Mimas, Miranda, Moon, Neptune, Nereid, Oberon, Phobos, Pluto, Proteus, Rhea, Saturn, Sun, Tethys, Titan, Titania, Triton, Umbriel, Uranus, Venus | radius, mass, gravity, mean temperature, known moons, axial tilt, mean distance, orbital period, sidereal rotation | measured, derived |
| NASA JPL Solar System Dynamics, Planetary Satellite Physical Parameters | Amalthea, Ariel, Callisto, Charon, Deimos, Dione, Enceladus, Europa, Ganymede, Hydra, Hyperion, Iapetus, Io, Kerberos, Mimas, Miranda, Nereid, Nix, Oberon, Phobos, Proteus, Rhea, Styx, Tethys, Titan, Titania, Triton, Umbriel | radius, mass, gravity | measured, derived |
| NASA JPL Solar System Dynamics, Planetary Satellite Mean Elements | Charon, Hydra, Kerberos, Nix, Styx | mean distance, orbital period | measured |
| NASA JPL Solar System Dynamics, Small-Body Database | Bennu, Ceres, Eris, Eros, Gonggong, Halley, Haumea, Hygiea, Ida, Itokawa, Makemake, Orcus, Pallas, Quaoar, Ryugu, Sedna, Vesta | radius, mass, gravity, known moons, axial tilt, sidereal rotation | derived, measured |
| NASA JPL Solar System Dynamics, Horizons System (osculating orbital elements) | Bennu, Ceres, Eris, Eros, Gonggong, Halley, Haumea, Hygiea, Ida, Itokawa, Makemake, Orcus, Pallas, Pluto, Quaoar, Ryugu, Sedna, Vesta | mean distance, orbital period | derived |
| NASA Science, Jupiter Moons | Jupiter | known moons | measured |
| NASA Science, Saturn Moons | Saturn | known moons | measured |
| NASA Science, Uranus Moons | Uranus | known moons | measured |
| NASA Science, Neptune Moons | Neptune | known moons | measured |
| NASA Science, Mars Moons | Mars | known moons | measured |
| Sicardy et al., A Pluto-like radius and a high albedo for the dwarf planet Eris from an occultation (Nature 478, 493, 2011) | Eris | radius, mass, gravity | measured, derived |
| Szakáts et al., Tidally locked rotation of the dwarf planet (136199) Eris discovered from long-term ground based and space photometry (Astronomy & Astrophysics 669, L3, 2023) | Eris | sidereal rotation | measured |
| Ragozzine & Brown, Orbits and Masses of the Satellites of the Dwarf Planet Haumea = 2003 EL61 (The Astronomical Journal 137, 4766-4776, 2009) | Haumea | mass | measured |
| Brown, On the size, shape, and density of dwarf planet Makemake (The Astrophysical Journal Letters 767, L7, 2013) | Makemake | radius | derived |
| Kiss et al., The mass and density of the dwarf planet (225088) 2007 OR10 (Icarus, 2019) | Gonggong | radius, mass, gravity | derived, measured |
| Margoti et al., Size, shape, density, and atmospheric limit of (50000) Quaoar revealed from 14 years of stellar occultation (preprint, 2026) | Quaoar | radius, mass, gravity, sidereal rotation | derived, measured |
| Pál et al., "TNOs are Cool": A survey of the trans-Neptunian region, VII. Size and surface characteristics of (90377) Sedna and 2010 EK139 (Astronomy & Astrophysics, 2012) | Sedna | radius | derived |
| Kiss et al., Nereid from space: Rotation, size and shape analysis from Kepler/K2, Herschel and Spitzer observations (Monthly Notices of the Royal Astronomical Society, 2016) | Nereid | sidereal rotation | measured |
Surface textures
An illustrative surface is not a scientific map: either no spacecraft has imaged the body well enough, or the images were never assembled into a global mosaic. Credits are quoted as recorded in the project’s provenance file.
| Body | Layer | Licence | Credit | Nature |
|---|---|---|---|---|
| Amalthea | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Ariel | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Callisto | surface | Public domain | USGS Astrogeology / NASA Galileo SSI & Voyager | from real data |
| Ceres | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | illustrative |
| Charon | surface | Public domain | USGS Astrogeology / NASA New Horizons | from real data |
| Deimos | surface | Public domain | NASA 3D Resources (Viking-derived) | from real data |
| Dione | surface | Public domain | USGS Astrogeology / NASA-JPL-Caltech (Cassini/Voyager mosaic 154m) | from real data |
| Earth | clouds | Public domain | NASA Visible Earth / Blue Marble | from real data |
| Earth | displacement | Public domain | NOAA NCEI ETOPO 2022 global relief model (60 arc-second) | from real data |
| Earth | night lights | Public domain | NASA Earth Observatory / Black Marble | from real data |
| Earth | relief (normal map) | Public domain | NOAA NCEI ETOPO 2022 global relief model (60 arc-second) | from real data |
| Earth | land/ocean mask | Public domain | NASA Visible Earth (land/ocean mask) | from real data |
| Earth | surface | Public domain | NASA Earth Observatory / Blue Marble: Land Surface, Shallow Water & Shaded Topography (21600×10800) | from real data |
| Enceladus | surface | Public domain | USGS Astrogeology / NASA Cassini | from real data |
| Eris | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | illustrative |
| Europa | surface | Public domain | USGS Astrogeology / NASA Voyager & Galileo | from real data |
| Ganymede | surface | Public domain | USGS Astrogeology / NASA Voyager & Galileo | from real data |
| Gonggong | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Halley | surface | Public domain | Philip Stooke / NASA PDS (Giotto/Vega) | illustrative |
| Haumea | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | illustrative |
| Hydra | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Hygiea | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Hyperion | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Iapetus | surface | Public domain | USGS Astrogeology / NASA Cassini & Voyager | from real data |
| Io | surface | Public domain | USGS Astrogeology / NASA Galileo SSI & Voyager (ClrMerge) | from real data |
| Jupiter | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Kerberos | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Makemake | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | illustrative |
| Mars | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Mercury | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Mimas | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Miranda | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Moon | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Neptune | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Nereid | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Nix | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Oberon | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Orcus | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Pallas | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Phobos | surface | Public domain | USGS Astrogeology / ESA Mars Express (DLR control) | from real data |
| Pluto | surface | Public domain | USGS Astrogeology / NASA New Horizons | from real data |
| Proteus | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Quaoar | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Rhea | surface | Public domain | USGS Astrogeology / NASA Cassini & Voyager | from real data |
| Saturn | ring | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Saturn | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Sedna | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Stars | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Styx | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Sun | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Tethys | surface | Public domain | USGS Astrogeology / NASA-JPL-Caltech (Cassini/Voyager mosaic 293m) | from real data |
| Titan | surface | Public domain | USGS Astrogeology / NASA-JPL-Caltech / SSI (Cassini ISS 4005m) | from real data |
| Titania | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Triton | surface | Public domain | USGS Astrogeology / NASA Voyager 2 (ClrMosaic) | from real data |
| Umbriel | surface | Generated by this project | Procedural texture, no third-party material | illustrative |
| Uranus | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Venus | clouds | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Venus | surface | CC BY 4.0 | Solar System Scope (solarsystemscope.com) | from real data |
| Vesta | surface | Public domain | USGS Astrogeology / NASA Dawn FC HAMO | from real data |
3D shape models
Irregular bodies are drawn from their real mission shape models, reduced for the web without inventing geometry. Brightness is set by the published albedo; contrast and colour come from a mission map when one exists.
| Body | Shape model | Colour source | Albedo (reference) | Levels of detail |
|---|---|---|---|---|
| Bennu | NASA/Goddard Scientific Visualization Studio, OSIRIS-REx OLA v20 PTM global shape model (NASA/University of Arizona/CSA/York University/MDA), decimated for the web. | NASA/USGS, Bennu OSIRIS-REx OCAMS Global Albedo Mosaic (Golish et al. 2021), public domain | 0.044 (Hergenrother et al. 2019, Nat. Commun. 10, 1291 (JPL SBDB)) | 4k, 2k, 1k |
| Eros | NASA/JHU-APL NEAR Shoemaker, MSI shape model by R. Gaskell, NASA PDS NEAR-A-MSI-5-EROSSHAPE-V1.0 (q = 128), decimated for the web. | NASA/USGS, Eros NEAR MSI Global Albedo Mosaics at 760, 550 and 450 nm (Golish et al. 2023, doi:10.17189/sv8w-5125), public domain | 0.25 (Veverka et al. 2000, Science 289, 2088 (JPL SBDB)) | 4k, 2k, 1k |
| Itokawa | JAXA Hayabusa AMICA images, shape model by R. Gaskell (PSI), NASA PDS HAY-A-AMICA-5-ITOKAWASHAPE-V1.0 (q = 128), decimated for the web. | No global map published: uniform colour at the published albedo | 0.27 (Hayabusa AMICA disk-integrated photometry near opposition (Icarus, 2018)) | 4k, 2k, 1k |
| Ryugu | ISAS/JAXA Hayabusa2, SfM shape model SHAPE_SFM_200k_v20180804 (Watanabe et al. 2019, DARTS); data modified: decimated for the web, pole brought onto Y. | ISAS/JAXA, Ryugu v-band normal albedo map, Hayabusa2 ONC (JAXA DARTS); data modified: sampled per vertex | 0.045 (Sugita et al. 2019, Science 364, 6437 (JPL SBDB)) | 4k, 2k, 1k |
| Ida | NASA Galileo SSI, shape model by P. Thomas et al. (1996), NASA PDS EAR-A-5-DDR-SHAPE-MODELS-V2.1, converted to a mesh for the web. | No global map published: uniform colour at the published albedo | 0.262 (NEOWISE, Mainzer et al. 2012, ApJ 759 L8 (JPL SBDB)) | 2k, 1k |
Ephemerides
Precomputed position files come from NASA/JPL Horizons (state vectors, frame ECLIPTIC_J2000), generated on 2026-09-17. The Horizons target identifier is given so that anyone can request the same data. Planets, the Moon and the Galilean moons otherwise come from astronomy-engine; the optional small-body layer queries the JPL Small-Body Database at runtime.
| Body | Horizons target | Centre | Step (days) | Coverage (TDB) |
|---|---|---|---|---|
| Ceres | 1; | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Eris | 136199; | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Haumea | 136108; | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Makemake | 136472; | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Saturn | 699 | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Enceladus | 602 | Saturn | 4 | 1900-01-01 → 2100-12-30 |
| Rhea | 605 | Saturn | 4 | 1900-01-01 → 2100-12-30 |
| Titan | 606 | Saturn | 4 | 1900-01-01 → 2100-12-30 |
| Iapetus | 608 | Saturn | 4 | 1900-01-01 → 2100-12-30 |
| Mars | 499 | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Phobos | 401 | Mars | 4 | 1900-01-01 → 2100-12-30 |
| Deimos | 402 | Mars | 4 | 1900-01-01 → 2100-12-30 |
| Neptune | 899 | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Triton | 801 | Neptune | 4 | 1900-01-01 → 2100-12-30 |
| Pluto | 999 | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Charon | 901 | Pluto | 4 | 1900-01-01 → 2100-12-30 |
| Mimas | 601 | Saturn | 4 | 1900-01-01 → 2100-12-30 |
| Tethys | 603 | Saturn | 4 | 1900-01-01 → 2100-12-30 |
| Dione | 604 | Saturn | 4 | 1900-01-01 → 2100-12-30 |
| Hyperion | 607 | Saturn | 4 | 1900-01-01 → 2100-12-30 |
| Miranda | 705 | Uranus | 4 | 1900-01-01 → 2100-12-30 |
| Ariel | 701 | Uranus | 4 | 1900-01-01 → 2100-12-30 |
| Umbriel | 702 | Uranus | 4 | 1900-01-01 → 2100-12-30 |
| Titania | 703 | Uranus | 4 | 1900-01-01 → 2100-12-30 |
| Oberon | 704 | Uranus | 4 | 1900-01-01 → 2100-12-30 |
| Amalthea | 505 | Jupiter | 4 | 1900-01-01 → 2100-12-30 |
| Proteus | 808 | Neptune | 4 | 1900-01-01 → 2100-12-30 |
| Nereid | 802 | Neptune | 4 | 1900-01-01 → 2100-12-30 |
| Styx | 905 | Pluto | 4 | 1900-01-01 → 2100-12-30 |
| Nix | 902 | Pluto | 4 | 1900-01-01 → 2100-12-30 |
| Kerberos | 904 | Pluto | 4 | 1900-01-01 → 2100-12-30 |
| Hydra | 903 | Pluto | 4 | 1900-01-01 → 2100-12-30 |
| Voyager 1 | -31 | Sun | 4 | 1977-09-06 → 2099-12-31 |
| Voyager 2 | -32 | Sun | 4 | 1977-08-21 → 2099-12-31 |
| Parker Solar Probe | -96 | Sun | 1 | 2018-08-13 → 2029-12-31 |
| James Webb Space Telescope | -170 | Sun | 1 | 2021-12-26 → 2031-08-23 |
| New Horizons | -98 | Sun | 4 | 2006-01-21 → 2049-12-29 |
| Cassini | -82 | Sun | 1 | 1997-10-17 → 2017-09-14 |
| Juno | -61 | Sun | 1 | 2011-08-07 → 2028-09-29 |
| Rosetta | -226 | Sun | 4 | 2004-03-04 → 2016-10-03 |
| BepiColombo | -121 | Sun | 1 | 2018-10-22 → 2027-04-09 |
| OSIRIS-REx | -64 | Sun | 4 | 2016-09-10 → 2030-03-17 |
| Hayabusa2 | -37 | Sun | 4 | 2014-12-05 → 2026-11-24 |
| Jupiter | 599 | Sun | 4 | 1900-01-01 → 2100-12-30 |
| Uranus | 799 | Sun | 4 | 1900-01-01 → 2100-12-30 |
Orbital elements
Osculating elements taken from the live NASA/JPL Horizons API at the epoch shown, by the scripts in the repository; they are data values, not copied from a third-party compilation.
| Body | Epoch | Centre |
|---|---|---|
| Ceres | 2000-01-01 | Sun |
| Vesta | 2000-01-01 | Sun |
| Pallas | 2000-01-01 | Sun |
| Hygiea | 2000-01-01 | Sun |
| Pluto | 2000-01-01 | Solar System barycentre |
| Eris | 2000-01-01 | Solar System barycentre |
| Haumea | 2000-01-01 | Solar System barycentre |
| Makemake | 2000-01-01 | Solar System barycentre |
| Orcus | 2000-01-01 | Solar System barycentre |
| Quaoar | 2000-01-01 | Solar System barycentre |
| Gonggong | 2000-01-01 | Solar System barycentre |
| Sedna | 2000-01-01 | Solar System barycentre |
| Halley | 2000-01-01 | Sun |
| Bennu | 2026-01-01 | Sun |
| Eros | 2026-01-01 | Sun |
| Itokawa | 2026-01-01 | Sun |
| Ryugu | 2026-01-01 | Sun |
| Ida | 2026-01-01 | Sun |
| 1I/ʻOumuamua (1I/2017 U1) | 2017-11-23 | Sun (hyperbolic orbit) |
| 2I/Borisov (C/2019 Q4) | 2020-01-05 | Sun (hyperbolic orbit) |
| 3I/ATLAS (C/2025 N1) | 2026-02-19 | Sun (hyperbolic orbit) |
Live data services
Your browser contacts these services while the app runs, for the layers that use them. The list is checked at build time against the hosts that the site’s security policy allows.
| Service | Used for | Terms and credit |
|---|---|---|
| NASA GIBS (EOSDIS) | Earth weather layers from satellites and reanalysis: VIIRS and MODIS (Terra, Aqua) clouds, IMERG precipitation, MERRA-2 surface air temperature. | NASA EOSDIS data, no restriction on use; NASA is acknowledged as the source. |
| Open-Meteo | Model weather layers (forecast and recent days): clouds, precipitation, wind, temperature, pressure, humidity. | Weather data by Open-Meteo.com, licensed under CC BY 4.0; values are resampled into map textures. Free API used under its non-commercial terms. |
| Open-Meteo Historical Weather API (ERA5) | The same model layers for past dates, from the ERA5 reanalysis. | CC BY 4.0 through Open-Meteo. Hersbach, H. et al. (2023), ERA5 hourly data on single levels from 1940 to present, ECMWF, doi:10.24381/cds.adbb2d47. Generated using Copernicus Climate Change Service information. |
| NASA/JPL Small-Body Database | Orbital elements of the asteroids and comets shown by the optional small-body layer. | Public NASA/JPL service, cited as the source. |
| Cloudflare Web Analytics | Not a data source: cookieless visit counting, described in the privacy policy. | See the privacy policy. |
Software
| Library | Version | Licence |
|---|---|---|
| @tweenjs/tween.js | 25.0.0 | MIT |
| astronomy-engine | 2.1.19 | MIT |
| three | 0.176.0 | MIT |
Third-party notices (full text)
The application source code is distributed under the PolyForm Noncommercial License 1.0.0; see LICENSE.md. The following components are not relicensed by that file.
Planet textures and social imagery
The visual assets under public/assets/textures/ are third-party or derived assets and must retain their original attribution and usage terms. They fall into four groups; the machine-readable provenance (source URL, resolution, licence) is in scripts/texture-sources.json.
- Public domain: USGS Astrogeology / NASA-JPL / ESA spacecraft mosaics, NASA and NOAA Earth data. Derived from official global mosaics, no copyright restriction. Bodies:
io,europa,ganymede,callisto,titan,enceladus,rhea,iapetus,triton,charon,phobos,deimos,vesta,pluto,tethys,dione(USGS Astrogeology Cassini/Voyager global mosaics, 293m and 154m/pixel respectively;deimosis NASA's Viking-derived map from NASA 3D Resources),earth(surface, clouds, night lights and land/ocean mask from NASA Earth Observatory / Visible Earth Blue Marble and Black Marble; relief normal and height maps derived from the NOAA NCEI ETOPO 2022 global relief model). Attribution is courteous but not legally required. - CC BY 4.0: Solar System Scope. Requires attribution; compatible with non-commercial and donation-supported use. Bodies (surface / cloud / normal / spec / lights / ring layers, incl. 8k variants):
mercury,venus,mars,moon,jupiter,saturn,uranus,neptune,sun,stars. Keep the "Solar System Scope (CC BY 4.0)" credit in the app. Note:earthis NASA and NOAA public domain (group 1 above), not Solar System Scope, despite otherwise sharing this provider with the rest of the planet set.saturn/saturn_ring_8k.jpgwas regenerated on 2026-09-16 from the same Solar System Scope file (8k_saturn_ring_alpha.png): the previous export had leaked white pixels from under the transparent inner edge. - Confirmed licence, explicitly illustrative. The licence and source are known and recorded, but the map itself is not a validated scientific global mosaic (either no spacecraft imaged the body, or, for
halley, flyby images were never assembled into one):ceres,eris,haumea,makemake(CC BY 4.0, Solar System Scope, illustrative pertexture-sources.json),halley(public domain, Philip Stooke / NASA PDS Giotto/Vega, credited). The app's own credits list (index.html) already discloses these as illustrative, not scientific maps. No action required beyond keeping that disclosure current. - Generated: original, no third-party rights. Procedurally generated textures (
scripts/generate-procedural-textures.mjs: seeded fractal noise, synthetic craters/basins/ ice-patches parameterized from each body's real published data, no external image involved) for bodies that have never been imaged well enough for a global mosaic to exist:orcus,quaoar,gonggong,sedna(never visited by any spacecraft, not covered by Solar System Scope's illustrative set),mimas,hyperion,miranda,ariel,umbriel,titania,oberon,amalthea,proteus,nereid,styx,nix,kerberos,hydra(imaged by Voyager 2 / Galileo / New Horizons, but only partially or at too low a resolution for a controlled global mosaic; see each body's entry intexture-sources.jsonfor the specific coverage limit), pluspallasandhygiea(2026-08-27: replaced their previous asset, whose community-sourced licence was unconfirmed and likely CC BY-NC-SA, incompatible with commercial use, with this generated one). Fully covered by this project's ownLICENSE.md; no attribution, no third-party licence, and no commercial restriction beyond the project's own license terms.
The social preview image is a project asset and should be replaced only with material whose redistribution rights are known.
Before adding or replacing an asset, record its source, license and attribution in texture-sources.json (and here if it introduces a new licence class). Do not assume that the PolyForm license covers images, textures or fonts.
3D shape models
Every model below is shipped as levels of detail, public/assets/models/{body}/{body}_shape_{1k,2k,4k}.glb (budgets of ~4,000 / ~15,000 / ~60,000 triangles, produced from the original scientific product by scripts/decimate-shape-model.mjs --target). A level is only shipped if the source holds enough detail for it: Ida has no 4k level. The app loads the lightest level first and a finer one only when the camera comes close, capped by the graphics quality tier.
public/assets/models/bennu/bennu_shape_{1k,2k,4k}.glb: asteroid (101955) Bennu. 4,113 / 15,633 / 62,833 triangles (73 KiB / 274 KiB / 1.1 MiB).
- Source: NASA/Goddard Scientific Visualization Studio, Global Bennu 3D Model, OLA v20 PTM (https://svs.gsfc.nasa.gov/5069).
- Data credit: NASA / University of Arizona / CSA / York University / MDA, from the OSIRIS-REx laser altimeter (OLA). Public domain, as NASA-produced work.
- Modification: reduced from 3,366,134 triangles by vertex clustering with
scripts/decimate-shape-model.mjs, so it can be served on the web (60.6 MB source). No geometry was invented: the script reports the shape statistics before and after, and the two that characterise the body are unchanged (radius standard deviation 6.00 % → 6.03 %, equator to pole ratio 1.118 → 1.119). The credit above is also embedded in the file's glTFasset.copyright. The file was later re-exported with its pole on +Y instead of Z (the scene spins bodies about their local Y axis); geometry and triangle count are unchanged.
The four wave-A models below follow the same pipeline: decimated by scripts/decimate-shape-model.mjs (deterministic vertex clustering, no geometry invented), pole brought onto +Y where the source carried it on Z, and the credit embedded in each file's glTF asset.copyright. Each file's volume-equivalent radius is checked against the published mean radius, and its maximum-inertia axis against +Y, by src/config/shapeModels.test.ts.
public/assets/models/eros/eros_shape_{1k,2k,4k}.glb: asteroid (433) Eros. 3,751 / 15,499 / 61,652 triangles.
- Source: NASA PDS Small Bodies Node,
NEAR-A-MSI-5-EROSSHAPE-V1.0(q = 128). - Data credit: NASA / JHU-APL NEAR Shoemaker, Multi-Spectral Imager; shape model by R. Gaskell. Public domain (NASA-funded archive product, no restriction).
- Modification: decimated for the web.
public/assets/models/itokawa/itokawa_shape_{1k,2k,4k}.glb: asteroid (25143) Itokawa. 3,918 / 15,114 / 62,781 triangles.
- Source: NASA PDS Small Bodies Node,
HAY-A-AMICA-5-ITOKAWASHAPE-V1.0(q = 128). - Data credit: JAXA Hayabusa AMICA images; shape model by R. Gaskell (PSI). Distributed by NASA PDS without restriction.
- Modification: decimated for the web.
public/assets/models/ryugu/ryugu_shape_{1k,2k,4k}.glb: asteroid (162173) Ryugu. 4,196 / 15,368 / 62,727 triangles.
- Source: JAXA DARTS, Hayabusa2 SfM shape model
SHAPE_SFM_200k_v20180804(Watanabe et al. 2019, Science 364). - Data credit: ISAS/JAXA. The ISAS data policy allows use, including commercial use, provided the source is credited and modifications are stated.
- Modification (stated as required): decimated for the web and re-oriented so that the rotation pole lies on +Y.
public/assets/models/ida/ida_shape_{1k,2k}.glb: asteroid (243) Ida. 4,115 / 15,744 triangles. No 4k level: the 2° source grid holds ~32,400 triangles of real information, and a 60,000-triangle level would interpolate, not measure.
- Source: NASA PDS Small Bodies Node,
EAR-A-5-DDR-SHAPE-MODELS-V2.1. - Data credit: NASA Galileo Solid-State Imaging; shape model by P. Thomas et al. (1996). Public domain.
- Modification: converted from a latitude/longitude radius grid to a triangle mesh, then decimated for the web.
Skipped on purpose, not forgotten: (99942) Apophis has no published measured shape model; 67P/Churyumov-Gerasimenko's archived models carry a non-commercial licence whose compatibility with the site's donation link is being asked to ESA before any use.
Surface colour baked into the models (scripts/bake-shape-colour.mjs, per-vertex colour, no texture shipped). Mean brightness = the published geometric albedo converted to the app's display convention measured on the Moon texture; contrasts and colour ratios come from mission maps:
- Bennu: NASA/USGS Bennu OSIRIS-REx OCAMS Global Albedo Mosaic (Golish et al. 2021), public domain; albedo 0.044 (Hergenrother et al. 2019).
- Eros: NASA/USGS Eros NEAR MSI Global Albedo Mosaics at 760, 550 and 450 nm (Golish et al. 2023, doi:10.17189/sv8w-5125), public domain; albedo 0.25 (Veverka et al. 2000).
- Ryugu: ISAS/JAXA v-band normal albedo map from Hayabusa2 ONC (JAXA DARTS); modification stated as required: resampled per vertex. Albedo 0.045 (Sugita et al. 2019).
- Itokawa (albedo 0.27, Hayabusa AMICA) and Ida (albedo 0.262, NEOWISE): no global map is published, so the colour is uniform at the published albedo; nothing is painted in.
The source maps (hundreds of MB each) are not redistributed; only the sampled colours are.
A mesh may not enter this repository without a source and a credit: ModelConfig.credit is required by the type, and a test rejects an empty or unattributed one. Note that "NASA-published" is not by itself a guarantee of scientific content: the only small-body mesh in the nasa/NASA-3D-Resources repository is a decorative sphere, not a shape model. Measure before trusting a file (see docs/UNIVERSE_CATALOG.md § "Corps irreguliers").
Ephemerides and external data
The binary ephemerides under public/assets/ephemerides/ are generated from NASA/JPL Horizons. The source metadata and generation range are recorded in manifest.json; regenerated files must preserve that provenance.
The optional small-body lookup uses the public JPL Small-Body Database API at runtime. It is an external service and is not bundled as application data.
Earth weather layers are fetched at runtime and are not bundled either:
- NASA GIBS (EOSDIS): VIIRS and MODIS cloud imagery, IMERG precipitation, MERRA-2 surface air temperature. NASA EOSDIS data carry no restriction on use; NASA is acknowledged as the source.
- Open-Meteo (https://open-meteo.com/): model weather data licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). The values are resampled into map textures. The free API is used under Open-Meteo's non-commercial terms. The attribution is shown in the weather panel and in the app's credits.
- ERA5 through the Open-Meteo Historical Weather API: Hersbach, H. et al. (2023), ERA5 hourly data on single levels from 1940 to present, ECMWF, doi:10.24381/cds.adbb2d47. Generated using Copernicus Climate Change Service information.
Orbital elements in src/config/smallBodies.ts and src/config/interstellar.ts (including 1I/ʻOumuamua, 2I/Borisov and 3I/ATLAS) are derived from the live NASA/JPL Horizons API at a stated epoch by the scripts in scripts/; they are data values, not copied from a third-party compilation.
Reference photographs used for calibration only, not redistributed: the copper tint of the Earth's shadow during a lunar eclipse was measured on NASA/Michael DeMocker's photograph of the total lunar eclipse of 3 March 2026 and on ISS image ISS073-E-611649 (7 September 2025). Only derived numbers (colour ratios) enter the code; no image is shipped.
JavaScript dependencies
Dependencies listed in package.json and resolved by pnpm-lock.yaml retain their own licenses. Their licenses are not replaced by the project license. Review dependency notices before creating a redistribution bundle.