# Project Structure
Structure map for the Moons crate.
```text
Moons/
├── README.md # Project overview and usage
├── LICENSE # MIT license
├── ChangeLog.md # Version history
├── ComingSoon.md # Planned features
├── Contributing # Contribution guidelines
├── lastest_versions.sh # Restore wildcard dependency versions
│
├── src/
│ ├── main.rs # Entry point — Moon diagnostics: orbit, surface, interior
│ ├── lib.rs # Library root, MOONMASS (7.34e22 kg), radius 1 737 km, constants
│ │
│ ├── environment/ # Surface environment
│ │ ├── mod.rs # Exports dust, radiation, thermal
│ │ ├── dust.rs # Lunar dust (< 20 μm), electrostatic levitation at terminator
│ │ ├── radiation.rs # No magnetic shielding — full GCR and solar particle exposure
│ │ └── thermal.rs # Surface 390 K (day) / 100 K (night), 14-day thermal cycle
│ │
│ ├── exosphere/ # Tenuous exosphere
│ │ ├── mod.rs # Exports charging, escape, species
│ │ ├── charging.rs # Photoelectric + solar wind charging, dust mobilization
│ │ ├── escape.rs # Jeans escape — He, Ar retained briefly, H₂ escapes rapidly
│ │ └── species.rs # He (from radiogenic decay), Ar-40, Na, K, H₂ (solar wind)
│ │
│ ├── geodata/ # Geographic reference data
│ │ ├── mod.rs # Exports coordinates, elevation, landing_sites, regions
│ │ ├── coordinates.rs # Selenocentric lat/lon, IAU Moon-fixed frame
│ │ ├── elevation.rs # LOLA laser altimetry, 10 m/pixel global DEM
│ │ ├── landing_sites.rs # Apollo sites, Artemis candidates (south polar), Chang'e sites
│ │ └── regions.rs # Mare Tranquillitatis, Oceanus Procellarum, South Pole-Aitken basin
│ │
│ ├── geology/ # Surface and interior geology
│ │ ├── mod.rs # Exports craters, erosion, mountains, regolith, volcanism
│ │ ├── craters.rs # Tycho (85 km), Copernicus (93 km), South Pole-Aitken (2 500 km)
│ │ ├── erosion.rs # Micro-meteorite gardening, cosmic ray weathering, space weathering
│ │ ├── mountains.rs # Mons Huygens (5.5 km), crater rim peaks, basin ring mountains
│ │ ├── regolith.rs # 2–20 m regolith layer, mature soil agglutinates, nanophase iron
│ │ └── volcanism.rs # Extinct — last basaltic eruptions ~1 Gyr ago, volcanic glass beads
│ │
│ ├── interactions/ # Gravitational interactions
│ │ ├── mod.rs # Exports earths, earth_tides, orbital_dynamics
│ │ ├── earths.rs # Earth gravitational influence, tidal locking, librations
│ │ ├── earth_tides.rs # Earth–Moon tidal interaction, lunar recession 3.8 cm/yr
│ │ └── orbital_dynamics.rs # Secular recession, Cassini state, precession 18.6 yr
│ │
│ ├── lighting/ # Illumination model
│ │ ├── mod.rs # Exports earthshine, eclipses, solar_position
│ │ ├── earthshine.rs # Reflected Earth light, full Earth illumination on near side
│ │ ├── eclipses.rs # Lunar eclipses (Earth shadow), solar eclipses from Moon
│ │ └── solar_position.rs # Solar zenith angle, 29.53 d synodic period, PSR mapping
│ │
│ ├── missions/ # Exploration missions
│ │ ├── mod.rs # Exports landers, orbiters, relay
│ │ ├── landers.rs # Apollo (6 landings), Chang'e, Artemis III+, Chandrayaan
│ │ ├── orbiters.rs # LRO, GRAIL, Chandrayaan, Lunar Gateway, CAPSTONE
│ │ └── relay.rs # Lunar Gateway relay, Earth direct link, far-side relay sat
│ │
│ ├── observation/ # Remote observation
│ │ ├── mod.rs # Exports communications, earth_view, navigation
│ │ ├── communications.rs # 1.28 s light-time delay, laser comm demonstrations
│ │ ├── earth_view.rs # Earth apparent size from Moon (1.9°), Earthrise view
│ │ └── navigation.rs # Cislunar navigation, mascon gravity anomalies
│ │
│ ├── physics/ # Orbital and impact mechanics
│ │ ├── mod.rs # Exports collisions, orbit, rotation, tides
│ │ ├── collisions.rs # Impact flux at 1 AU, NEO impactors, secondary cratering
│ │ ├── orbit.rs # a = 384 400 km, e = 0.0549, period 27.32 d, vis-viva
│ │ ├── rotation.rs # Synchronous rotation, optical + physical librations
│ │ └── tides.rs # Tidal dissipation, LLR tidal acceleration, Q factor
│ │
│ ├── rendering/ # Visual rendering pipeline
│ │ ├── mod.rs # Exports dust, exosphere, materials, shaders
│ │ ├── dust.rs # Regolith dust rendering, opposition surge, fairy castle structure
│ │ ├── exosphere.rs # Exosphere visualization endpoint
│ │ ├── lod.rs # Pixel-precise adaptive LOD
│ │ ├── materials.rs # PBR highland anorthosite, mare basalt, albedo 0.12 overall
│ │ ├── mesh.rs # Icosphere subdivision, vertex data
│ │ └── shaders.rs # GPU shader programs — phase curve, Hapke BRDF
│ │
│ ├── resources/ # Extractable resources
│ │ ├── mod.rs # Exports helium3, ice, regolith
│ │ ├── helium3.rs # Solar-wind-implanted ³He in mature regolith (~20 ppb)
│ │ ├── ice.rs # Permanently Shadowed Region (PSR) water ice, LCROSS confirmed
│ │ └── regolith.rs # Ilmenite for O₂ extraction, ISRU feedstock, construction material
│ │
│ ├── surface/ # Surface mapping
│ │ ├── mod.rs # Exports heightmaps, mapping, zones
│ │ ├── heightmaps.rs # LOLA 10 m/pixel DEM, GRAIL gravity-derived topography
│ │ ├── mapping.rs # Geological maps, albedo, Clementine/LRO composites
│ │ └── zones.rs # Maria (dark basalt), highlands (bright anorthosite), PSR zones
│ │
│ ├── temporal/ # Time systems
│ │ ├── mod.rs # Exports calendar, epoch, time_scale
│ │ ├── calendar.rs # Lunar calendar — 29.53 d synodic, 27.32 d sidereal month
│ │ ├── epoch.rs # J2000 epoch, Apollo landing dates, Artemis epoch
│ │ └── time_scale.rs # TDB/UT1/TAI conversions, 1.28 s light-time delay
│ │
│ └── terrain/ # Terrain mesh generation
│ ├── mod.rs # Exports lod, mesh, texturing
│ ├── lod.rs # Level-of-detail streaming from LOLA data pyramid
│ ├── mesh.rs # Spherical mesh, radius 1 737 km, mascon-aware gravity
│ └── texturing.rs # LRO WAC/NAC imagery, Clementine color composite
│
├── tests/ # Integration tests
│ ├── environment_tests.rs # Tests thermal cycling, dust levitation, radiation dose
│ ├── exosphere_tests.rs # Tests He/Ar column density, solar wind species
│ ├── geodata_tests.rs # Tests Apollo site coordinates, SPA basin dimensions
│ ├── geology_tests.rs # Tests Tycho age, regolith depth, mare basalt composition
│ ├── interactions_tests.rs # Tests lunar recession, tidal locking, libration amplitude
│ ├── lighting_tests.rs # Tests earthshine intensity, eclipse timing, PSR mapping
│ ├── missions_tests.rs # Tests Apollo/Artemis parameters, LRO orbit
│ ├── observation_tests.rs # Tests Earth apparent size, laser comm link margin
│ ├── physics_tests.rs # Tests orbital period, eccentricity, tidal Q factor
│ ├── rendering_tests.rs # Tests phase curve, Hapke parameters, opposition surge
│ ├── resources_tests.rs # Tests ³He abundance, PSR ice estimates
│ ├── surface_tests.rs # Tests LOLA DEM resolution, geological unit boundaries
│ ├── temporal_tests.rs # Tests synodic/sidereal period, epoch conversions
│ └── terrain_tests.rs # Tests mesh accuracy, LOD transitions, mascon gravity
│
└── examples/ # Runnable examples
├── check_landing_site.rs # Artemis landing site evaluation — slopes, PSR proximity
├── crater_sim.rs # Tycho/Copernicus crater formation energetics
├── earth_observation.rs # Earth disk from lunar surface — Earthrise rendering
├── eclipse_sim.rs # Lunar eclipse, Earth shadow geometry
├── exosphere_sim.rs # He/Ar exosphere column density, terminator dust
├── orbital_sim.rs # 27.32 d orbit with perturbations, mascon effects
├── radiation_sim.rs # GCR + SPE dose rates, shielding requirements
├── resource_survey.rs # ³He and PSR ice abundance mapping
└── tidal_effects.rs # Earth–Moon tidal evolution, recession rate
```