# Project Structure

Structure map for the Europas crate.

```text
Europas/
├── 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 — Europa diagnostics: orbit, ice shell, subsurface ocean
│   ├── lib.rs                          # Library root, EUROPAMASS (4.80e22 kg), radius 1 561 km, constants
│   │
│   ├── environment/                    # Surface environment
│   │   ├── mod.rs                      # Exports dust, radiation, thermal
│   │   ├── dust.rs                     # Ice sputtering ejecta, micro-meteorite gardening of ice shell
│   │   ├── radiation.rs                # Extreme Jovian radiation belt exposure, ~5.4 Sv/day at surface
│   │   └── thermal.rs                  # Surface ~110 K (equator) / 50 K (poles), low thermal inertia
│   │
│   ├── exosphere/                      # Tenuous atmosphere
│   │   ├── mod.rs                      # Exports charging, escape, species
│   │   ├── charging.rs                 # Jovian magnetosphere plasma bombardment, radiolytic charging
│   │   ├── escape.rs                   # Jeans escape, sputtering-driven O₂ loss, pickup ion removal
│   │   └── species.rs                  # O₂ (radiolysis of ice), H₂, trace Na/K from salt deposits
│   │
│   ├── geodata/                        # Geographic reference data
│   │   ├── mod.rs                      # Exports coordinates, elevation, landing_sites, regions
│   │   ├── coordinates.rs              # Planetocentric lat/lon, IAU Europa-fixed frame
│   │   ├── elevation.rs                # Galileo stereo-derived topography, Europa Clipper REASON altimetry
│   │   ├── landing_sites.rs            # Europa Lander candidates — smooth chaos margins, low radiation
│   │   └── regions.rs                  # Conamara Chaos, Thera/Thrace Maculae, ridged plains, band terrain
│   │
│   ├── geology/                        # Surface and interior geology
│   │   ├── mod.rs                      # Exports craters, erosion, mountains, regolith, volcanism
│   │   ├── craters.rs                  # Pwyll (26 km), Callanish multi-ring, sparse — surface age ~60 Myr
│   │   ├── erosion.rs                  # Sputtering erosion, radiation darkening, mass wasting at ridges
│   │   ├── mountains.rs                # Double ridges up to 300 m, chaos block tilting, no large peaks
│   │   ├── regolith.rs                 # Thin irradiated ice regolith, radiolytic sulfur compounds
│   │   └── volcanism.rs               # Possible cryovolcanic plumes (HST detections), chaos formation
│   │
│   ├── interactions/                   # Gravitational interactions
│   │   ├── mod.rs                      # Exports earth_tides, jupiters, orbital_dynamics
│   │   ├── earth_tides.rs              # Earth–Europa perturbation (negligible at 5.2 AU)
│   │   ├── jupiters.rs                 # Jupiter gravitational influence, Laplace resonance 1:2:4 (Io:Europa:Ganymede)
│   │   └── orbital_dynamics.rs         # Forced eccentricity from resonance, tidal flexing of ice shell
│   │
│   ├── lighting/                       # Illumination model
│   │   ├── mod.rs                      # Exports eclipses, jupitershine, solar_position
│   │   ├── eclipses.rs                 # Jupiter shadow transits, mutual satellite eclipses with Io/Ganymede
│   │   ├── jupitershine.rs             # Reflected Jovian light on night side, albedo contribution
│   │   └── solar_position.rs           # Solar zenith angle, 3.55 d orbital period illumination cycle
│   │
│   ├── missions/                       # Exploration missions
│   │   ├── mod.rs                      # Exports landers, orbiters, relay
│   │   ├── landers.rs                  # Europa Lander concept — ice shell sampling, biosignature search
│   │   ├── orbiters.rs                 # Galileo flybys (12 passes), Europa Clipper (49 flybys), JUICE flyby
│   │   └── relay.rs                    # Communication relay via Jupiter orbit, Clipper relay capability
│   │
│   ├── 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 Europa (~12°), Great Red Spot detail
│   │   └── navigation.rs              # Orbital navigation, Jovian radiation interference on electronics
│   │
│   ├── physics/                        # Orbital and impact mechanics
│   │   ├── mod.rs                      # Exports collisions, orbit, rotation, tides
│   │   ├── collisions.rs               # Impact flux at Jupiter distance, cometary/asteroidal impactors
│   │   ├── orbit.rs                    # a = 671 100 km, e = 0.009, period 3.55 d, vis-viva
│   │   ├── rotation.rs                 # Synchronous rotation, possible non-synchronous ice shell rotation
│   │   └── tides.rs                    # Intense tidal heating from Laplace resonance, ice shell cracking
│   │
│   ├── rendering/                      # Visual rendering pipeline
│   │   ├── mod.rs                      # Exports dust, materials, shaders
│   │   ├── dust.rs                     # Ice particle rendering, bright surface albedo (0.67)
│   │   ├── materials.rs                # PBR ice shell, dark lineae material (salt + sulfur), chaos blocks
│   │   └── shaders.rs                  # GPU shader programs — lineae network, chaos terrain displacement
│   │
│   ├── resources/                      # Extractable resources
│   │   ├── mod.rs                      # Exports minerals, regolith, water_ice
│   │   ├── minerals.rs                 # Endogenic salts (MgSO₄, NaCl), irradiated sulfur compounds
│   │   ├── regolith.rs                 # Thin irradiated ice regolith, radiolytic products
│   │   └── water_ice.rs               # 10–30 km ice shell over ~100 km deep subsurface ocean
│   │
│   ├── surface/                        # Surface mapping
│   │   ├── mod.rs                      # Exports heightmaps, mapping, zones
│   │   ├── heightmaps.rs               # Galileo/Europa Clipper stereo-derived elevation models
│   │   ├── mapping.rs                  # Lineae maps, chaos distribution, color/composition from NIMS
│   │   └── zones.rs                    # Ridged plains, chaos regions, band terrain, smooth bright plains
│   │
│   ├── temporal/                       # Time systems
│   │   ├── mod.rs                      # Exports calendar, epoch, time_scale
│   │   ├── calendar.rs                 # Europa calendar — 3.55 d orbital period, Jupiter year reference
│   │   ├── epoch.rs                    # J2000 epoch, Galileo encounter dates, Europa Clipper 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 lineae and chaos terrain
│       ├── mesh.rs                     # Spherical mesh, radius 1 561 km, low oblateness
│       └── texturing.rs               # Galileo/Clipper imagery drape, lineae and chaos textures
│
├── tests/                              # Integration tests
│   ├── environment_tests.rs            # Tests radiation dose (5.4 Sv/day), thermal cycling, sputtering
│   ├── exosphere_tests.rs              # Tests O₂ column density, radiolytic production rate
│   ├── geodata_tests.rs                # Tests coordinate transforms, Conamara Chaos location
│   ├── geology_tests.rs                # Tests surface age (~60 Myr), lineae mechanics, chaos formation
│   ├── interactions_tests.rs           # Tests Laplace resonance 1:2:4, forced eccentricity, tidal heat
│   ├── lighting_tests.rs              # Tests eclipse timing, jupitershine intensity
│   ├── missions_tests.rs              # Tests Galileo flyby parameters, Europa Clipper trajectory
│   ├── observation_tests.rs            # Tests link budget, Jupiter apparent diameter
│   ├── physics_tests.rs                # Tests orbital period, tidal heating rate, ice shell stress
│   ├── rendering_tests.rs              # Tests surface albedo (0.67), lineae material properties
│   ├── resources_tests.rs              # Tests salt abundance, ocean volume estimates
│   ├── surface_tests.rs                # Tests elevation resolution, chaos terrain boundaries
│   ├── temporal_tests.rs               # Tests epoch conversions, orbital period sync
│   └── terrain_tests.rs               # Tests mesh accuracy, LOD transitions at lineae
│
└── examples/                           # Runnable examples
    ├── check_landing_site.rs           # Evaluate Europa Lander candidates — radiation, slope, ice thickness
    ├── crater_sim.rs                   # Pwyll crater formation on 10–30 km ice shell
    ├── eclipse_sim.rs                  # Jupiter shadow transit and mutual satellite eclipse timing
    ├── exosphere_sim.rs                # O₂ exosphere from radiolysis, sputtering yield modeling
    ├── jupiter_observation.rs          # Jupiter as seen from Europa — disk size, band structure
    ├── orbital_sim.rs                  # 3.55-day orbit, Laplace resonance perturbations
    ├── radiation_sim.rs                # Jovian radiation belt dose at Europa orbit, shielding needs
    ├── resource_survey.rs              # Salt deposit and ocean accessibility mapping
    └── tidal_effects.rs               # Tidal flexing analysis — ice shell cracking, chaos formation
```
