# Project Structure
Structure map for the Ios crate.
```text
Ios/
├── 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 — Io diagnostics: orbit, volcanism, tidal heating
│ ├── lib.rs # Library root, IOMASS (8.93e22 kg), radius 1 822 km, constants
│ │
│ ├── environment/ # Surface environment
│ │ ├── mod.rs # Exports dust, radiation, thermal
│ │ ├── dust.rs # Volcanic ejecta fallback, SO₂ frost redistribution
│ │ ├── radiation.rs # Extreme Jovian radiation belt, Io flux tube bombardment
│ │ └── thermal.rs # Ambient ~130 K surface, lava flows up to 1 900 K, volcanic hotspots
│ │
│ ├── exosphere/ # Tenuous atmosphere
│ │ ├── mod.rs # Exports charging, escape, species
│ │ ├── charging.rs # Io flux tube plasma interaction, intense sputtering environment
│ │ ├── escape.rs # Massive atmospheric loss feeding Io plasma torus (~1 ton/s)
│ │ └── species.rs # SO₂ (patchy, volcanic), SO, S, O, Na, K — volcanic outgassing
│ │
│ ├── geodata/ # Geographic reference data
│ │ ├── mod.rs # Exports coordinates, elevation, landing_sites, regions
│ │ ├── coordinates.rs # Planetocentric lat/lon, IAU Io-fixed frame
│ │ ├── elevation.rs # Galileo/Juno-derived topography, patera floor depths
│ │ ├── landing_sites.rs # Highly hazardous — volcanic resurfacing, candidate inter-patera plains
│ │ └── regions.rs # Loki Patera (200 km), Pele plume deposit (red ring), Tvashtar Catena
│ │
│ ├── geology/ # Surface and interior geology
│ │ ├── mod.rs # Exports craters, erosion, mountains, regolith, volcanism
│ │ ├── craters.rs # No visible impact craters — surface age < 1 Myr, continuous resurfacing
│ │ ├── erosion.rs # SO₂ sapping, volcanic burial, frost sublimation erosion
│ │ ├── mountains.rs # Boösaule Montes (17.5 km), tectonic crustal blocks, thrust faults
│ │ ├── regolith.rs # SO₂ frost + sulfur deposits, no traditional silicate regolith
│ │ └── volcanism.rs # 400+ active volcanoes, silicate lava (>1 500 K), plumes up to 500 km
│ │
│ ├── interactions/ # Gravitational interactions
│ │ ├── mod.rs # Exports earth_tides, jupiters, orbital_dynamics
│ │ ├── earth_tides.rs # Earth–Io perturbation (negligible at 5.2 AU)
│ │ ├── jupiters.rs # Jupiter gravitational influence, Laplace resonance — innermost member
│ │ └── orbital_dynamics.rs # 1:2:4 resonance (Io:Europa:Ganymede), forced eccentricity, extreme tides
│ │
│ ├── lighting/ # Illumination model
│ │ ├── mod.rs # Exports eclipses, jupitershine, solar_position
│ │ ├── eclipses.rs # Frequent Jupiter shadow transits, mutual eclipses with Galileans
│ │ ├── jupitershine.rs # Reflected Jovian light, volcanic glow visible on night side
│ │ └── solar_position.rs # Solar zenith angle, 1.77 d rapid orbital period cycle
│ │
│ ├── missions/ # Exploration missions
│ │ ├── mod.rs # Exports landers, orbiters, relay
│ │ ├── landers.rs # Extreme radiation precludes long-lived landers, short-stay concepts
│ │ ├── orbiters.rs # Galileo flybys (7 passes), Juno extended mission flybys, IVO concept
│ │ └── relay.rs # Communication relay via Jupiter orbit, radiation-hardened link
│ │
│ ├── 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 Io (~20°), volcanic glow context
│ │ └── navigation.rs # Orbital navigation, mass redistribution from volcanic eruptions
│ │
│ ├── physics/ # Orbital and impact mechanics
│ │ ├── mod.rs # Exports collisions, orbit, rotation, tides
│ │ ├── collisions.rs # Impact flux irrelevant — volcanic resurfacing erases all craters
│ │ ├── orbit.rs # a = 421 700 km, e = 0.004, period 1.77 d, vis-viva
│ │ ├── rotation.rs # Synchronous rotation, tidal bulge ~100 m amplitude
│ │ └── tides.rs # Extreme tidal heating ~100 TW, primary heat source, mantle dissipation
│ │
│ ├── rendering/ # Visual rendering pipeline
│ │ ├── mod.rs # Exports dust, materials, shaders, volcanic_plumes
│ │ ├── dust.rs # Sulfur particle rendering, colorful volcanic deposit visualization
│ │ ├── lod.rs # Pixel-precise adaptive LOD
│ │ ├── materials.rs # PBR sulfur allotropes (yellow/red/black), SO₂ frost (white), albedo 0.63
│ │ ├── mesh.rs # Icosphere subdivision, vertex data
│ │ ├── shaders.rs # GPU shader programs — volcanic hotspot glow, plume particle scattering
│ │ └── volcanic_plumes.rs # Volcanic plume visualization endpoint
│ │
│ ├── resources/ # Extractable resources
│ │ ├── mod.rs # Exports minerals, regolith, sulfur
│ │ ├── minerals.rs # Silicate lava deposits, pyroxene, olivine from volcanic eruptions
│ │ ├── regolith.rs # SO₂ frost mantle, sulfur deposits, volcanic tephra layers
│ │ └── sulfur.rs # Elemental sulfur allotropes, SO₂ frost reserves, volcanic sulfur cycling
│ │
│ ├── surface/ # Surface mapping
│ │ ├── mod.rs # Exports heightmaps, mapping, zones
│ │ ├── heightmaps.rs # Galileo/Juno imagery-derived elevation, patera depth models
│ │ ├── mapping.rs # Volcanic activity maps, color units (sulfur allotrope distribution)
│ │ └── zones.rs # Active volcanic regions, SO₂ frost plains, mountain blocks
│ │
│ ├── temporal/ # Time systems
│ │ ├── mod.rs # Exports calendar, epoch, time_scale
│ │ ├── calendar.rs # Io calendar — 1.77 d orbital period, eruptive event chronology
│ │ ├── epoch.rs # J2000 epoch, Galileo encounter dates, Juno flyby timeline
│ │ └── 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 volcanic caldera detail
│ ├── mesh.rs # Spherical mesh, radius 1 822 km, volcanic topography overlay
│ └── texturing.rs # Galileo/Juno color imagery, sulfur allotrope color textures
│
├── tests/ # Integration tests
│ ├── environment_tests.rs # Tests lava temperature, radiation flux tube, SO₂ frost cycling
│ ├── exosphere_tests.rs # Tests SO₂ column density, Na/K emission, plasma torus feed rate
│ ├── geodata_tests.rs # Tests coordinate transforms, Loki Patera boundaries
│ ├── geology_tests.rs # Tests volcanic resurfacing rate, mountain block mechanics
│ ├── interactions_tests.rs # Tests Laplace resonance, forced eccentricity, tidal heat budget
│ ├── lighting_tests.rs # Tests Jupiter shadow timing, volcanic glow night-side contribution
│ ├── missions_tests.rs # Tests Galileo flyby parameters, Juno extended mission passes
│ ├── observation_tests.rs # Tests link budget, Jupiter apparent diameter from Io
│ ├── physics_tests.rs # Tests orbital period, tidal heating rate (~100 TW), tidal bulge
│ ├── rendering_tests.rs # Tests sulfur color mapping, volcanic hotspot emission
│ ├── resources_tests.rs # Tests sulfur abundance, silicate lava composition
│ ├── surface_tests.rs # Tests volcanic unit mapping, eruption change detection
│ ├── temporal_tests.rs # Tests epoch conversions, orbital period sync
│ └── terrain_tests.rs # Tests mesh accuracy, LOD transitions at calderas
│
└── examples/ # Runnable examples
├── check_landing_site.rs # Evaluate inter-patera plains for short-lived lander survival
├── crater_sim.rs # Impact erasure — volcanic burial rate vs impact flux
├── eclipse_sim.rs # Frequent Jupiter shadow transits, thermal cycling effects
├── exosphere_sim.rs # SO₂ atmosphere, volcanic plume column modeling
├── jupiter_observation.rs # Jupiter as seen from Io — enormous disk, plasma torus glow
├── orbital_sim.rs # 1.77-day orbit, Laplace resonance tidal forcing
├── radiation_sim.rs # Io flux tube radiation, plasma bombardment dose
├── resource_survey.rs # Sulfur allotrope and silicate lava deposit mapping
└── tidal_effects.rs # Extreme tidal heating — ~100 TW, volcanic driving mechanism
```