# Changelog
All notable changes to the `satellitesfactory` crate are documented in this file.
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [0.0.2] - 2026-04-04
### Added
- Pure procedural generator rework — all presets removed, 5 new satellite types added, builder pattern throughout
- Removed all preset constructors: Moon, Io, Europa, Ganymede, Callisto, Titan, Titania, Oberon, Triton, Phobos, Deimos, Enceladus, Mimas, Prometheus, Pandora
- Removed preset systems: Solar, Jovian, Saturnian, Uranian, Neptunian
- Removed `src/presets/` module entirely
- New satellite type: CoOrbitalMoon — Trojan/horseshoe orbits, libration amplitude, stability parameter
- New satellite type: Exomoon — transit timing/duration variations, Hill sphere stability, detectability
- New satellite type: IcyMoon — ice shell thickness, cryovolcanic activity, subsurface conductivity
- New satellite type: SubsurfaceOceanMoon — ocean depth, salinity, hydrothermal flux, habitability index
- New satellite type: VolcanicMoon — eruption rate, magma viscosity, tidal dissipation, SO₂ column
- 8 satellite types total: Regular, Captured, RingMoon, CoOrbitalMoon, Exomoon, IcyMoon, SubsurfaceOceanMoon, VolcanicMoon
- All constructors follow `new()` + `with_*()` builder pattern
- 166 integration tests across types, physics, engine, observables, utils, and presets modules
- 4 runnable examples: demo, validation, tidal_heating, system_generation
- Rendering module: mesh.rs (icosphere subdivision, LodLevel, Vertex, MeshData), lod.rs (pixel-precise adaptive LOD), materials.rs (PBR parameters), shaders.rs (shader parameters)
- `documentation` and `homepage` fields in Cargo.toml
- Celestial project link in README.md
## [0.0.1] - 2026-04-03
Initial release.
- Satellite type system: regular, captured, ring-moon with class-specific physics
- Regular satellites: Moon, Io, Europa, Ganymede, Callisto, Titan, Titania, Oberon presets
- Captured satellites: Triton (retrograde, ice-rich), Phobos, Deimos (carbonaceous) with capture energy
- Ring moons: Enceladus (cryovolcanic), Mimas (gap keeper), Prometheus, Pandora (shepherds)
- Gravitation: surface gravity, escape velocity, Hill sphere, Roche limit, Tisserand parameter
- Tidal dynamics: heating rate/flux, locking timescale, orbital decay, Love numbers, resonance width
- Interior models: core/mantle structure, central pressure, ocean depth, differentiation energy
- Orbital mechanics: Kepler solver, elements ↔ Cartesian, vis-viva, Hohmann, Laplace resonance
- Formation: circumplanetary disk, ice line, isolation mass, capture probability, ring spreading
- Evolution: tidal migration, circularization, sputtering, Kozai-Lidov, Yarkovsky drift
- System generator: procedural satellite systems with configurable counts per class
- Photometry: equilibrium temperature, albedo, phase curves, transit depth, opposition surge
- Spectra: band depth, water ice index, spectral slope, surface composition classification
- Astrometry: angular separation, occultation duration, mutual events, astrometric wobble
- Presets: Solar, Jovian (Galileans + inner + irregulars), Saturnian (major + shepherds + co-orbitals), Uranian, Neptunian systems
- 159 integration tests across types, physics, engine, observables, utils, and presets
- 4 runnable examples: demo, validation, tidal_heating, system_generation
---
## What is solid
- Full procedural satellite generator with 8 types and builder pattern
- Research-grade tidal dynamics and orbital mechanics
- PBR rendering pipeline for satellite visualisation
## Points to watch
- Exomoon transit timing variations at low signal-to-noise
- Co-orbital moon stability over long timescales
## Verdict
Complete procedural satellite generation engine with rendering endpoints. All presets replaced by pure procedural generation.
---
## Development notes
- Edition 2024, MIT license
- Dependencies use wildcard versions
- See `ComingSoon.md` for the detailed roadmap