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.

Primary sources of the physical data
SourceBodiesValuesMethod
NASA NSSDCA, Planetary and Satellite Fact SheetsAmalthea, 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, Venusradius, mass, gravity, mean temperature, known moons, axial tilt, mean distance, orbital period, sidereal rotationmeasured, derived
NASA JPL Solar System Dynamics, Planetary Satellite Physical ParametersAmalthea, 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, Umbrielradius, mass, gravitymeasured, derived
NASA JPL Solar System Dynamics, Planetary Satellite Mean ElementsCharon, Hydra, Kerberos, Nix, Styxmean distance, orbital periodmeasured
NASA JPL Solar System Dynamics, Small-Body DatabaseBennu, Ceres, Eris, Eros, Gonggong, Halley, Haumea, Hygiea, Ida, Itokawa, Makemake, Orcus, Pallas, Quaoar, Ryugu, Sedna, Vestaradius, mass, gravity, known moons, axial tilt, sidereal rotationderived, 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, Vestamean distance, orbital periodderived
NASA Science, Jupiter MoonsJupiterknown moonsmeasured
NASA Science, Saturn MoonsSaturnknown moonsmeasured
NASA Science, Uranus MoonsUranusknown moonsmeasured
NASA Science, Neptune MoonsNeptuneknown moonsmeasured
NASA Science, Mars MoonsMarsknown moonsmeasured
Sicardy et al., A Pluto-like radius and a high albedo for the dwarf planet Eris from an occultation (Nature 478, 493, 2011)Erisradius, mass, gravitymeasured, 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)Erissidereal rotationmeasured
Ragozzine & Brown, Orbits and Masses of the Satellites of the Dwarf Planet Haumea = 2003 EL61 (The Astronomical Journal 137, 4766-4776, 2009)Haumeamassmeasured
Brown, On the size, shape, and density of dwarf planet Makemake (The Astrophysical Journal Letters 767, L7, 2013)Makemakeradiusderived
Kiss et al., The mass and density of the dwarf planet (225088) 2007 OR10 (Icarus, 2019)Gonggongradius, mass, gravityderived, measured
Margoti et al., Size, shape, density, and atmospheric limit of (50000) Quaoar revealed from 14 years of stellar occultation (preprint, 2026)Quaoarradius, mass, gravity, sidereal rotationderived, 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)Sednaradiusderived
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)Nereidsidereal rotationmeasured

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.

One row per texture layer the app loads
BodyLayerLicenceCreditNature
AmaltheasurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
ArielsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
CallistosurfacePublic domainUSGS Astrogeology / NASA Galileo SSI & Voyagerfrom real data
CeressurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)illustrative
CharonsurfacePublic domainUSGS Astrogeology / NASA New Horizonsfrom real data
DeimossurfacePublic domainNASA 3D Resources (Viking-derived)from real data
DionesurfacePublic domainUSGS Astrogeology / NASA-JPL-Caltech (Cassini/Voyager mosaic 154m)from real data
EarthcloudsPublic domainNASA Visible Earth / Blue Marblefrom real data
EarthdisplacementPublic domainNOAA NCEI ETOPO 2022 global relief model (60 arc-second)from real data
Earthnight lightsPublic domainNASA Earth Observatory / Black Marblefrom real data
Earthrelief (normal map)Public domainNOAA NCEI ETOPO 2022 global relief model (60 arc-second)from real data
Earthland/ocean maskPublic domainNASA Visible Earth (land/ocean mask)from real data
EarthsurfacePublic domainNASA Earth Observatory / Blue Marble: Land Surface, Shallow Water & Shaded Topography (21600×10800)from real data
EnceladussurfacePublic domainUSGS Astrogeology / NASA Cassinifrom real data
ErissurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)illustrative
EuropasurfacePublic domainUSGS Astrogeology / NASA Voyager & Galileofrom real data
GanymedesurfacePublic domainUSGS Astrogeology / NASA Voyager & Galileofrom real data
GonggongsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
HalleysurfacePublic domainPhilip Stooke / NASA PDS (Giotto/Vega)illustrative
HaumeasurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)illustrative
HydrasurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
HygieasurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
HyperionsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
IapetussurfacePublic domainUSGS Astrogeology / NASA Cassini & Voyagerfrom real data
IosurfacePublic domainUSGS Astrogeology / NASA Galileo SSI & Voyager (ClrMerge)from real data
JupitersurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
KerberossurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
MakemakesurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)illustrative
MarssurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
MercurysurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
MimassurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
MirandasurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
MoonsurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
NeptunesurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
NereidsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
NixsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
OberonsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
OrcussurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
PallassurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
PhobossurfacePublic domainUSGS Astrogeology / ESA Mars Express (DLR control)from real data
PlutosurfacePublic domainUSGS Astrogeology / NASA New Horizonsfrom real data
ProteussurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
QuaoarsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
RheasurfacePublic domainUSGS Astrogeology / NASA Cassini & Voyagerfrom real data
SaturnringCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
SaturnsurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
SednasurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
StarssurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
StyxsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
SunsurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
TethyssurfacePublic domainUSGS Astrogeology / NASA-JPL-Caltech (Cassini/Voyager mosaic 293m)from real data
TitansurfacePublic domainUSGS Astrogeology / NASA-JPL-Caltech / SSI (Cassini ISS 4005m)from real data
TitaniasurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
TritonsurfacePublic domainUSGS Astrogeology / NASA Voyager 2 (ClrMosaic)from real data
UmbrielsurfaceGenerated by this projectProcedural texture, no third-party materialillustrative
UranussurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
VenuscloudsCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
VenussurfaceCC BY 4.0Solar System Scope (solarsystemscope.com)from real data
VestasurfacePublic domainUSGS Astrogeology / NASA Dawn FC HAMOfrom 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.

Shape models shipped
BodyShape modelColour sourceAlbedo (reference)Levels of detail
BennuNASA/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 domain0.044 (Hergenrother et al. 2019, Nat. Commun. 10, 1291 (JPL SBDB))4k, 2k, 1k
ErosNASA/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 domain0.25 (Veverka et al. 2000, Science 289, 2088 (JPL SBDB))4k, 2k, 1k
ItokawaJAXA 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 albedo0.27 (Hayabusa AMICA disk-integrated photometry near opposition (Icarus, 2018))4k, 2k, 1k
RyuguISAS/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 vertex0.045 (Sugita et al. 2019, Science 364, 6437 (JPL SBDB))4k, 2k, 1k
IdaNASA 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 albedo0.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.

JPL Horizons files
BodyHorizons targetCentreStep (days)Coverage (TDB)
Ceres1;Sun41900-01-01 → 2100-12-30
Eris136199;Sun41900-01-01 → 2100-12-30
Haumea136108;Sun41900-01-01 → 2100-12-30
Makemake136472;Sun41900-01-01 → 2100-12-30
Saturn699Sun41900-01-01 → 2100-12-30
Enceladus602Saturn41900-01-01 → 2100-12-30
Rhea605Saturn41900-01-01 → 2100-12-30
Titan606Saturn41900-01-01 → 2100-12-30
Iapetus608Saturn41900-01-01 → 2100-12-30
Mars499Sun41900-01-01 → 2100-12-30
Phobos401Mars41900-01-01 → 2100-12-30
Deimos402Mars41900-01-01 → 2100-12-30
Neptune899Sun41900-01-01 → 2100-12-30
Triton801Neptune41900-01-01 → 2100-12-30
Pluto999Sun41900-01-01 → 2100-12-30
Charon901Pluto41900-01-01 → 2100-12-30
Mimas601Saturn41900-01-01 → 2100-12-30
Tethys603Saturn41900-01-01 → 2100-12-30
Dione604Saturn41900-01-01 → 2100-12-30
Hyperion607Saturn41900-01-01 → 2100-12-30
Miranda705Uranus41900-01-01 → 2100-12-30
Ariel701Uranus41900-01-01 → 2100-12-30
Umbriel702Uranus41900-01-01 → 2100-12-30
Titania703Uranus41900-01-01 → 2100-12-30
Oberon704Uranus41900-01-01 → 2100-12-30
Amalthea505Jupiter41900-01-01 → 2100-12-30
Proteus808Neptune41900-01-01 → 2100-12-30
Nereid802Neptune41900-01-01 → 2100-12-30
Styx905Pluto41900-01-01 → 2100-12-30
Nix902Pluto41900-01-01 → 2100-12-30
Kerberos904Pluto41900-01-01 → 2100-12-30
Hydra903Pluto41900-01-01 → 2100-12-30
Voyager 1-31Sun41977-09-06 → 2099-12-31
Voyager 2-32Sun41977-08-21 → 2099-12-31
Parker Solar Probe-96Sun12018-08-13 → 2029-12-31
James Webb Space Telescope-170Sun12021-12-26 → 2031-08-23
New Horizons-98Sun42006-01-21 → 2049-12-29
Cassini-82Sun11997-10-17 → 2017-09-14
Juno-61Sun12011-08-07 → 2028-09-29
Rosetta-226Sun42004-03-04 → 2016-10-03
BepiColombo-121Sun12018-10-22 → 2027-04-09
OSIRIS-REx-64Sun42016-09-10 → 2030-03-17
Hayabusa2-37Sun42014-12-05 → 2026-11-24
Jupiter599Sun41900-01-01 → 2100-12-30
Uranus799Sun41900-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.

Keplerian element sets
BodyEpochCentre
Ceres2000-01-01Sun
Vesta2000-01-01Sun
Pallas2000-01-01Sun
Hygiea2000-01-01Sun
Pluto2000-01-01Solar System barycentre
Eris2000-01-01Solar System barycentre
Haumea2000-01-01Solar System barycentre
Makemake2000-01-01Solar System barycentre
Orcus2000-01-01Solar System barycentre
Quaoar2000-01-01Solar System barycentre
Gonggong2000-01-01Solar System barycentre
Sedna2000-01-01Solar System barycentre
Halley2000-01-01Sun
Bennu2026-01-01Sun
Eros2026-01-01Sun
Itokawa2026-01-01Sun
Ryugu2026-01-01Sun
Ida2026-01-01Sun
1I/ʻOumuamua (1I/2017 U1)2017-11-23Sun (hyperbolic orbit)
2I/Borisov (C/2019 Q4)2020-01-05Sun (hyperbolic orbit)
3I/ATLAS (C/2025 N1)2026-02-19Sun (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.

Services contacted at runtime
ServiceUsed forTerms 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-MeteoModel 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 DatabaseOrbital elements of the asteroids and comets shown by the optional small-body layer.Public NASA/JPL service, cited as the source.
Cloudflare Web AnalyticsNot a data source: cookieless visit counting, described in the privacy policy.See the privacy policy.

Software

Libraries bundled with the app
LibraryVersionLicence
@tweenjs/tween.js25.0.0MIT
astronomy-engine2.1.19MIT
three0.176.0MIT

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.

  1. 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; deimos is 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.
  2. 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: earth is 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.jpg was 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.
  3. 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 per texture-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.
  4. 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 in texture-sources.json for the specific coverage limit), plus pallas and hygiea (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 own LICENSE.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 glTF asset.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.