1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! `lux-aurumque` — a minimal **transient path tracer** in Rust.
//!
//! Standard renderers compute steady-state radiance (light bounced
//! until equilibrium). This one refuses that simplification: every
//! photon path carries its cumulative optical length, which determines
//! its arrival time. Binning by arrival time produces a time-resolved
//! movie of a Gaussian pulse propagating through a Cornell-box scene
//! reskinned in *aurum* — gold, copper, amber.
//!
//! ## Run the demo render
//!
//! Clone the repo and run:
//!
//! ```bash
//! cargo run --release -p lux-aurumque
//! ffmpeg -framerate 30 -i frames/frame_%04d.png \
//! -c:v libx264 -pix_fmt yuv420p -crf 18 lux-aurumque.mp4
//! ```
//!
//! ## Library use
//!
//! The crate exposes the path-tracing primitives ([`transient`],
//! [`camera`], [`material`], [`sphere`], etc.) plus a re-export of
//! [`SpectralBudget`] — the Faber–Krahn bound that refuses parameter
//! combinations whose total path-length horizon would exceed `3 · T_1`
//! for the bounded scene.
//!
//! See `NOTES_PROCESS.md` in the repository for the process-philosophical
//! framing — Whitehead's ontology mapped onto the renderer's data flow.
pub use ;