# Project Structure
Structure map for the Callistos crate.
```text
Callistos/
├── 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 — Callisto diagnostics: orbit, surface, subsurface ocean
│ ├── lib.rs # Library root, CALLISTOMASS (1.08e23 kg), radius 2 410 km, constants
│ │
│ ├── environment/ # Surface environment
│ │ ├── mod.rs # Exports dust, radiation, thermal
│ │ ├── dust.rs # Micro-meteorite gardening, regolith turnover rate
│ │ ├── radiation.rs # Jovian magnetosphere exposure, galactic cosmic ray dose (low — outside main belt)
│ │ └── thermal.rs # Surface temperature ~120 K (day) / 80 K (night), thermal inertia
│ │
│ ├── exosphere/ # Tenuous atmosphere
│ │ ├── mod.rs # Exports charging, escape, species
│ │ ├── charging.rs # Surface electrostatic charging from Jovian plasma
│ │ ├── escape.rs # Jeans escape — low gravity (0.126 g), species loss rates
│ │ └── species.rs # CO₂ (primary) + O₂ exosphere, sputtering source
│ │
│ ├── geodata/ # Geographic reference data
│ │ ├── mod.rs # Exports coordinates, elevation, landing_sites, regions
│ │ ├── coordinates.rs # Planetocentric lat/lon, IAU Callisto-fixed frame
│ │ ├── elevation.rs # Global topography from Galileo stereo imaging
│ │ ├── landing_sites.rs # Candidate landing zones — low crater-density plains
│ │ └── regions.rs # Valhalla multi-ring basin, Asgard basin, cratered plains
│ │
│ ├── geology/ # Surface and interior geology
│ │ ├── mod.rs # Exports craters, erosion, mountains, regolith, volcanism
│ │ ├── craters.rs # Valhalla (600 km multi-ring), Asgard (1 600 km), saturation cratering
│ │ ├── erosion.rs # Sublimation-driven erosion, CO₂ frost sputtering
│ │ ├── mountains.rs # Central peak structures within large basins
│ │ ├── regolith.rs # Dark lag deposit, ice-rock mixture, gardening depth
│ │ └── volcanism.rs # No active volcanism — no tidal heating, differentiation incomplete
│ │
│ ├── interactions/ # Gravitational interactions
│ │ ├── mod.rs # Exports earth_tides, jupiters, orbital_dynamics
│ │ ├── earth_tides.rs # Earth–Callisto gravitational perturbation (negligible at 5.2 AU)
│ │ ├── jupiters.rs # Jupiter gravitational influence, Laplace resonance exclusion
│ │ └── orbital_dynamics.rs # 4:2:1 non-resonant orbit, secular perturbations from Galilean moons
│ │
│ ├── lighting/ # Illumination model
│ │ ├── mod.rs # Exports eclipses, jupitershine, solar_position
│ │ ├── eclipses.rs # Jupiter shadow transits, mutual satellite eclipses
│ │ ├── jupitershine.rs # Reflected Jovian light, albedo contribution on night side
│ │ └── solar_position.rs # Solar zenith angle, 16.69 d orbital period illumination cycle
│ │
│ ├── missions/ # Exploration missions
│ │ ├── mod.rs # Exports landers, orbiters, relay
│ │ ├── landers.rs # Future lander concepts — subsurface ocean access
│ │ ├── orbiters.rs # Galileo flybys (8 passes), JUICE Callisto gravity assists
│ │ └── relay.rs # Communication relay via Jupiter orbit
│ │
│ ├── observation/ # Remote observation
│ │ ├── mod.rs # Exports communications, jupiter_view, navigation
│ │ ├── communications.rs # Deep-space link budget, 5.2 AU light-time delay (43 min)
│ │ ├── jupiter_view.rs # Jupiter apparent size from Callisto (8.5°), band detail
│ │ └── navigation.rs # Orbital navigation, ephemeris updates from ground tracking
│ │
│ ├── physics/ # Orbital and impact mechanics
│ │ ├── mod.rs # Exports collisions, orbit, rotation, tides
│ │ ├── collisions.rs # Impact flux at Jupiter distance, cometary impactors
│ │ ├── orbit.rs # a = 1.883e9 m, e = 0.0074, period 16.69 d, vis-viva
│ │ ├── rotation.rs # Synchronous rotation, period = orbital period, zero libration
│ │ └── tides.rs # Minimal tidal heating — distant from Jupiter, no resonance
│ │
│ ├── rendering/ # Visual rendering pipeline
│ │ ├── mod.rs # Exports dust, exosphere, materials, shaders
│ │ ├── dust.rs # Regolith dust particle rendering, dark surface albedo (0.17)
│ │ ├── exosphere.rs # Exosphere visualization endpoint
│ │ ├── lod.rs # Pixel-precise adaptive LOD
│ │ ├── materials.rs # PBR ice-rock mixture materials, dark lag deposit
│ │ ├── mesh.rs # Icosphere subdivision, vertex data
│ │ └── shaders.rs # GPU shader programs — cratered terrain, multi-ring basins
│ │
│ ├── resources/ # Extractable resources
│ │ ├── mod.rs # Exports minerals, regolith, water_ice
│ │ ├── minerals.rs # Silicate minerals in ice-rock mixture, iron-bearing clays
│ │ ├── regolith.rs # Regolith properties — depth, particle size, dark lag composition
│ │ └── water_ice.rs # Subsurface water ice, possible ocean at ~150 km depth
│ │
│ ├── surface/ # Surface mapping
│ │ ├── mod.rs # Exports heightmaps, mapping, zones
│ │ ├── heightmaps.rs # Galileo/JUICE stereo-derived elevation models
│ │ ├── mapping.rs # Albedo maps, crater density maps, geological unit boundaries
│ │ └── zones.rs # Bright cratered terrain, dark plains, multi-ring structures
│ │
│ ├── temporal/ # Time systems
│ │ ├── mod.rs # Exports calendar, epoch, time_scale
│ │ ├── calendar.rs # Callisto calendar — 16.69 d orbital period, Jupiter year reference
│ │ ├── epoch.rs # J2000 epoch, Galileo encounter reference dates
│ │ └── time_scale.rs # TDB/UT1/TAI conversions at 5.2 AU light-time delay
│ │
│ └── terrain/ # Terrain mesh generation
│ ├── mod.rs # Exports lod, mesh, texturing
│ ├── lod.rs # Level-of-detail streaming for cratered surface
│ ├── mesh.rs # Spherical mesh, radius 2 410 km, low oblateness
│ └── texturing.rs # Galileo imagery drape, dark surface albedo textures
│
├── tests/ # Integration tests
│ ├── environment_tests.rs # Tests radiation dose, thermal cycling, micro-meteorites
│ ├── exosphere_tests.rs # Tests CO₂/O₂ column density, Jeans escape rate
│ ├── geodata_tests.rs # Tests coordinate transforms, Valhalla basin location
│ ├── geology_tests.rs # Tests crater saturation, Valhalla rings, regolith depth
│ ├── interactions_tests.rs # Tests Jupiter perturbation, non-resonant orbit
│ ├── lighting_tests.rs # Tests eclipse timing, jupitershine intensity
│ ├── missions_tests.rs # Tests Galileo flyby parameters, JUICE trajectory
│ ├── observation_tests.rs # Tests link budget, Jupiter apparent diameter
│ ├── physics_tests.rs # Tests orbital period, synchronous rotation, impact flux
│ ├── rendering_tests.rs # Tests surface albedo, material properties
│ ├── resources_tests.rs # Tests water ice abundance, silicate fraction
│ ├── surface_tests.rs # Tests heightmap resolution, geological unit mapping
│ ├── temporal_tests.rs # Tests epoch conversions, orbital period sync
│ └── terrain_tests.rs # Tests mesh accuracy, LOD transitions
│
└── examples/ # Runnable examples
├── check_landing_site.rs # Evaluate candidate landing zones on cratered plains
├── crater_sim.rs # Valhalla basin formation, multi-ring structure modeling
├── eclipse_sim.rs # Jupiter shadow transit timing and duration
├── exosphere_sim.rs # CO₂ exosphere column density profile
├── jupiter_observation.rs # Jupiter as seen from Callisto — disk size and band detail
├── orbital_sim.rs # 16.69-day orbit propagation, secular perturbations
├── radiation_sim.rs # Jovian radiation environment at Callisto distance
├── resource_survey.rs # Water ice and mineral abundance mapping
└── tidal_effects.rs # Minimal tidal heating analysis — ocean maintenance
```