# Changelog
All notable changes to the `blackholesfactory` crate are documented in this file.
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [0.0.3] - 2026-04-04
### Added
- Rendering module: mesh.rs (icosphere subdivision, LodLevel, Vertex, MeshData), lod.rs (pixel-precise adaptive LOD), materials.rs (PBR black hole parameters), shaders.rs (shader parameters)
- `documentation` and `homepage` fields in Cargo.toml
- Celestial project link in README.md
## [0.0.2] - 2026-04-04
Pure procedural generator rework — all presets removed, 2 new black hole types added, builder pattern throughout.
- Removed all preset constructors: schwarzschild(), kerr(), kerr_newman(), cygnus_x1(), hlx1(), m87()
- Removed all preset constants: CYGNUS_X1_*, M87_*, HLX1_*
- Removed eht_m87_expected_diameter_uas() preset helper
- New black hole type: PrimordialBlackHole — formation mechanism (inflationary, phase transition, cosmic string, domain wall), initial mass, Hawking lifetime
- New black hole type: BinaryBlackHole — inspiral dynamics, chirp mass, merger timescale, gravitational wave strain, recoil velocity
- GeneratedBlackHole enum with 5 variants: StellarMass, IntermediateMass, Supermassive, Primordial, Binary
- All constructors follow `new()` + `with_*()` builder pattern (with_spin, with_charge, etc.)
- 119 integration tests across simulation, types, observables, and physics modules
- 5 runnable examples: stellar_blackhole_sim, supermassive_blackhole_sim, hawking_evaporation, lensing_viewer, validation
## [0.1.0] - 2026-04-02
Initial release.
- Black hole type system: stellar-mass, intermediate-mass, supermassive with class-specific physics
- Stellar-mass: core-collapse remnant fraction model, progenitor mapping, GW strain, Cygnus X-1 preset
- Intermediate-mass: runaway merger, hierarchical merger, Pop III remnant, direct collapse channels
- Intermediate-mass observables: ULF QPO frequency, merger recoil velocity, HLX-1 preset
- Supermassive: M-σ relation, Bondi accretion rate, tidal disruption radius, jet power, M87* preset
- Kerr spacetime with metric tensor, geodesic ray tracing (RK4), horizons, ergosphere
- Accretion disk with spin-dependent ISCO, temperature profiles, viscous timescale, peak temperature
- Relativistic jets: Blandford-Znajek power, Doppler boosting, superluminal motion, synchrotron cooling
- Gravitational lensing: Einstein radius, image positions, magnification, Shapiro delay
- Black hole shadow: critical impact parameter, contour, asymmetry, EHT M87* angular diameter
- Radiation: Planck radiance, Wien displacement, bremsstrahlung, Eddington luminosity/ratio
- Hawking evaporation: temperature, luminosity, lifetime, Page time, mass evolution, peak wavelength
- General relativity: Lorentz transforms, Schwarzschild metric, gravitational redshift, GW power
- Singularity classification: Schwarzschild, Kerr, Reissner-Nordström, naked singularity detection
- Physical constants and presets: Cygnus X-1, M87*, HLX-1 calibrated to observations
- 93 integration tests across simulation, types, observables, and physics modules
- 4 runnable examples: stellar BH, supermassive BH, Hawking evaporation, lensing viewer
---
## What is solid
- Full procedural black hole generator with 5 types and builder pattern
- Research-grade physics: Kerr spacetime, accretion disks, Hawking radiation, gravitational lensing
- PBR rendering pipeline for black hole visualisation
## Points to watch
- Primordial black hole evaporation at very low masses may produce numerical instabilities
- Binary merger simulations at extreme mass ratios
## Verdict
Complete procedural black hole 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