# Sources, imagery, and licenses ## Orbit data The four preset records and their consistent Earth–Moon normalization come from the NASA/JPL Solar System Dynamics **Three-Body Periodic Orbits** catalog/API, retrieved September 13, 2026. - [Catalog and scientific references](https://ssd.jpl.nasa.gov/tools/periodic_orbits.html) - [API documentation, equations, units, families, and coordinate convention](https://ssd-api.jpl.nasa.gov/doc/periodic_orbits.html) `data/nrho-source.json`, `dro-source.json`, `lyapunov-source.json`, and `halo-source.json` preserve each selected record, original field order, source query URL, system metadata, and SHA-256 of the corresponding query response. The app shifts the catalog’s barycentric rotating x coordinate to the Moon. It keeps the catalog’s normalization and full supplied state precision. It does not distribute the full catalog or retrieve it at runtime. The southern NRHO is a member of the L2 southern halo family with a near-rectilinear geometry; it is not an exact Gateway or CAPSTONE flight ephemeris. The other presets are a lunar DRO, an L1 Lyapunov orbit, and an L2 northern halo orbit. ## Lunar imagery **Credit: NASA’s Scientific Visualization Studio.** Source: [CGI Moon Kit](https://svs.gsfc.nasa.gov/4720/), using LROC color imagery and LOLA lunar elevation data. - Original 4K color TIFF: [lroc_color_16bit_srgb_4k.tif](https://svs.gsfc.nasa.gov/vis/a000000/a004700/a004720/lroc_color_16bit_srgb_4k.tif) - Original unsigned 16-bit height TIFF: [ldem_16_uint.tif](https://svs.gsfc.nasa.gov/vis/a000000/a004700/a004720/ldem_16_uint.tif) - NASA [Images and Media Usage Guidelines](https://www.nasa.gov/nasa-brand-center/images-and-media/) Distributed derivatives: | File | Resolution | Processing | | ------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------ | | `moon_lroc_color_4k.jpg` | 4096 × 2048 | Original dimensions; 8-bit sRGB JPEG at quality 94 | | `moon_lola_bump_4k.png` | 4096 × 2048 | Height data resampled with a triangle filter, normalized over the resulting elevation range, stored as an 8-bit linear RGB map | Both maps are equirectangular, north up, with longitude zero at the image center. The original height encoding is `elevation in meters = 0.5 × pixel value − 10000`. The resampled height range spans 19.448 km, which sets the renderer’s bump scale. Bump mapping changes shading; it does not alter the spherical body radius or collision surface. Exact dimensions, file hashes, source URLs, and processing metadata are in `data/lunar-imagery.json`. The NASA color product includes visualization adjustments and polar infill; it is not quantitative albedo. Lighting in the app is illustrative. This use acknowledges NASA’s material and does not imply endorsement. Original high-bit-depth TIFFs are not included in the app package. ## Rendering library Three.js **0.180.0**, Copyright © 2010–2025 Three.js authors, used under its MIT license. The complete original license is in `dist/vendor/LICENSE`. - [Official release source](https://github.com/mrdoob/three.js/tree/r180) - [Official npm package archive](https://registry.npmjs.org/three/-/three-0.180.0.tgz) The renderer core and only the required OrbitControls and line-rendering addons are bundled. Addon imports of `three` were changed to a local relative path; application code is separate. No runtime CDN is used. ## Development-only checks Happy DOM 20.8.4 (MIT) is an optional development dependency used to exercise controls without a browser. It is not shipped inside the deployable app. NumPy and SciPy are optional, separately installed tools for an independent numerical comparison and are not bundled or required by the website. ## Teaching context The app was created for Davide Conte’s **Beyond Kepler** workshop, using the supplied workshop deck and The Aerospace Corporation’s **Cislunar Astrodynamics** slides as teaching context. The application does not redistribute either slide deck or any slide artwork. The workshop’s negative Jacobi sign convention is explicitly distinguished from the JPL catalog convention. ## Original application code The original application code is provided under the MIT license in the project root. That license does not replace the separate terms and acknowledgments for NASA imagery, NASA/JPL data, or bundled third-party software.