dwarfplanetsfactory 0.0.3

Dwarf planet factory — classify, build and catalogue dwarf planets of any type: Kuiper belt, scattered disk, plutino, cold classical, detached, binary, Ceres-type, and sednoid.
Documentation
# 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