# Changelog
All notable changes to the `dwarfplanetsfactory` 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
- 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
## v0.0.1 — Initial Release
### Added
- **config/parameters**: Physical constants (G, AU, year, solar mass/luminosity, Stefan-Boltzmann), Neptune/Pluto/Ceres/Eris masses, min/max dwarf radius bounds, orbital helpers (perihelion, aphelion, vis-viva, Hill sphere, equilibrium temperature).
- **types**: 8 dwarf planet types with full builder pattern:
- `KuiperBelt` — Generic KBO (30–55 AU), density/albedo/rotation, Hill radius, atmosphere flag
- `ScatteredDisk` — High-eccentricity SDOs, active scattering detection, centaur transition potential
- `Plutino` — 2:3 Neptune resonance (a = 39.4 AU), libration amplitude, Neptune-crossing check
- `ColdClassical` — Pristine low-e, low-i KBOs (42–48 AU), SurfaceColor enum, binary fraction
- `Detached` — Decoupled orbits (q > 40 AU), truly-detached check, Planet Nine candidate scoring
- `BinaryDwarf` — Binary systems, mutual orbital period, barycenter offset, mass ratio
- `CeresType` — Main belt dwarf planet, ice mantle fraction, cryovolcanism flag, Tisserand(Jupiter)
- `Sednoid` — Extreme detached objects (a > 150 AU, q > 50 AU), inner Oort Cloud candidate, Planet Nine alignment score
- **physics/gravity**: Binding energy, solar/Neptune tidal acceleration, Hill radius, Roche limit, specific orbital energy, orbital velocity, specific angular momentum.
- **physics/thermal**: Equilibrium temperature, perihelion/aphelion temperatures, thermal parameter, N₂ sublimation rate, CO sublimation rate, surface recession.
- **engine/orbits**: Mean motion, orbital period, Tisserand parameter (Neptune & Jupiter), Kepler equation solver, true anomaly, heliocentric distance, synodic period (Neptune), Kozai-Lidov timescale.
- **engine/evolution**: Collisional lifetime, space weathering timescale, sublimation mass loss, volatile depletion time, surface refreshed fraction.
- **engine/resonance**: Resonance semi-major axis, near-resonance check, resonance width, libration period, major Neptune resonances, closest resonance identification.
- **observables/photometry**: Absolute magnitude (H), apparent magnitude (H-G system), thermal flux, colour index B-V, angular diameter.
- **observables/lightcurve**: Amplitude from axis ratio, axis ratio from amplitude, spin rate, critical spin rate, rotational stability, Jacobi threshold, phase coefficient.
- **utils/helpers**: Angle conversions (deg/rad/arcsec), unit conversions (AU/m, years/s), clamp.
- **utils/io**: Summary line formatter for all 8 dwarf planet types.
- **72 tests** (37 types + 14 physics + 21 engine).
- **3 examples**: generation, physics, observables.
---
## What is solid
- Full procedural dwarf planet generator with 8 types and builder pattern
- Research-grade Kozai-Lidov dynamics and resonance detection
- PBR rendering pipeline for dwarf planet visualisation
## Points to watch
- Sednoid orbital evolution at very long timescales (> 10 kyr)
- Detached object Planet Nine candidate scoring sensitivity
## Verdict
Complete procedural dwarf planet generation engine with rendering endpoints.
---
## Development notes
- Edition 2024, MIT license
- Dependencies use wildcard versions
- See `ComingSoon.md` for the detailed roadmap