filmr
0.7.0 - 2026-04-12
v0.7.0
Apr 12 2026 at 14:13 UTC
✨ Features
- Spectral: Add CIE 1931 XYZ colour matching functions and D65 illuminant lookup tables (380–780nm, 5nm, 81 bins).
- Spectral: Replace blackbody approximation for D65 with CIE standard data.
- Spectral: Replace Gaussian camera sensitivities with CIE XYZ CMF × XYZ→sRGB matrix.
- Film Layer: Add multi-layer film structure model (
FilmLayerStack/FilmLayer) with refractive index, thickness, spectral absorption, and scattering coefficients. - Spectral Engine: Add full-spectrum propagation engine — per-wavelength per-layer light transport with Beer-Lambert absorption, Fresnel interface reflection, and forward+backward (halation) passes.
- Core: Add
SimulationMode::Fast/Accurate— Fast uses existing 3×3 matrix path, Accurate uses full-spectrum engine. - Film: Add
layer_stack: Option<FilmLayerStack>toFilmStockfor custom per-preset layer structures. - UI: Develop button triggers Accurate mode (full-spectrum); preview stays Fast (matrix).
- Spectral: Add scattering spatial diffusion — Gaussian blur derived from physical layer scatter coefficients.
- Spectral: Add interlayer interimage effect (DIR coupler developer inhibition matrix).
- Presets: Calibrated layer stacks for Kodak Portra 400, Kodak Tri-X 400, Fujifilm Velvia 50.