planetsfactory 0.0.4

Planet factory — classify, build and catalogue planets for any star system: Solar System, TRAPPIST-1, Kepler-90, Proxima Centauri, or fully custom worlds.
Documentation
# Project Structure

Structure map for the PlanetsFactory crate.

```text
PlanetsFactory/
├── README.md                           # Project overview and usage
├── LICENSE                             # MIT license
├── ChangeLog.md                        # Version history
├── ComingSoon.md                       # Upcoming features
├── Contributing                        # Contribution guidelines
├── lastest_versions.sh                 # Restore wildcard dependency versions
│
├── src/
│   ├── lib.rs                          # Library root, re-exports all modules
│   │
│   ├── config/                         # Configuration and constants
│   │   ├── mod.rs                      # Module declarations
│   │   └── parameters.rs              # Physical constants (sciforge re-exports), planet mass/radius, unit conversions
│   │
│   ├── types/                          # Planet type system
│   │   ├── mod.rs                      # Module declarations
│   │   ├── terrestrial.rs              # TerrestrialPlanet — Mercury, Venus, Earth, Mars with iron core, magnetic moment
│   │   ├── gas_giant.rs                # GasGiant — Jupiter, Saturn, hot Jupiter with rings, metallic hydrogen
│   │   └── ice_giant.rs                # IceGiant — Uranus, Neptune with ice mantle, magnetic dipole offset
│   │
│   ├── physics/                        # Physical models
│   │   ├── mod.rs                      # Module declarations
│   │   ├── gravitation.rs              # PlanetaryGravity: surface acceleration, escape velocity, Hill sphere, Roche limit, Tisserand
│   │   ├── atmospheres.rs              # Atmosphere: barometric law, Jeans escape, greenhouse effect, effective temperature
│   │   └── interiors.rs                # PlanetaryInterior: core/mantle structure, central pressure, MOI factor, Adams-Williamson
│   │
│   ├── engine/                         # Simulation engine
│   │   ├── mod.rs                      # Module declarations
│   │   ├── orbits.rs                   # OrbitalElements: Kepler solver, elements ↔ Cartesian, vis-viva, period
│   │   ├── formation.rs                # FormationModel: core accretion, pebble accretion, disk instability, snow line, MMSN
│   │   ├── evolution.rs                # PlanetEvolution: cooling, radius contraction, photo-evaporation, tidal migration, HZ
│   │   └── generator.rs               # SystemGeneratorConfig: Titius-Bode spacing, solar-type/M-dwarf procedural systems
│   │
│   ├── observables/                    # Observable quantities
│   │   ├── mod.rs                      # Module declarations
│   │   ├── photometry.rs              # Albedo, flux ratio, equilibrium temperature, day-night contrast, bolometric magnitude
│   │   ├── transits.rs                 # Transit depth, duration, ingress/egress, impact parameter, limb darkening, TTV
│   │   └── radial_velocity.rs          # Semi-amplitude K, minimum mass, Rossiter-McLaughlin, activity jitter, astrometric wobble
│   │
│   ├── presets/                        # Pre-built star system presets
│   │   ├── mod.rs                      # Module declarations
│   │   ├── solar_system.rs             # Solar System: Mercury–Neptune, inner/outer groups, all() aggregator
│   │   ├── trappist1.rs                # TRAPPIST-1: 7 terrestrial planets (b–h) with real parameters
│   │   ├── kepler90.rs                 # Kepler-90: 4 terrestrial + 4 gas giants
│   │   └── proxima_centauri.rs         # Proxima Centauri: b and d
│   │
│   └── utils/                          # Utilities
│       ├── mod.rs                      # Module declarations
│       ├── helpers.rs                  # lerp, RK4, Simpson integration, log_range, format_si
│       └── io.rs                       # CSV and DAT output writers
│
├── tests/                              # Integration tests (77 tests)
│   ├── types_tests.rs                  # Terrestrial, gas giant, ice giant type tests
│   ├── physics_tests.rs                # Gravitation, atmospheres, interiors tests
│   └── engine_tests.rs                 # Orbits, formation, evolution, generator, observables, presets tests
│
└── examples/                           # Runnable examples
    ├── solar_system_demo.rs            # Solar System planets, physical properties, orbital elements
    ├── validation.rs                   # Cross-module validation with sanity checks
    └── exoplanet_generation.rs         # Procedural exoplanet system generation
```