ioss 0.0.2

Io celestial simulation crate for the MilkyWay SolarSystem workspace
Documentation
# 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
│   │   ├── dust.rs                     # Sulfur particle rendering, colorful volcanic deposit visualization
│   │   ├── materials.rs                # PBR sulfur allotropes (yellow/red/black), SO₂ frost (white), albedo 0.63
│   │   └── shaders.rs                  # GPU shader programs — volcanic hotspot glow, plume particle scattering
│   │
│   ├── 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
```