mirror of
https://github.com/storytold/effectcraft.git
synced 2026-11-12 21:32:52 +00:00
Input/Output Black and White of every channel take -10000..10000 and Gamma goes down to 0 (it keeps its wider maximum, 10), After Effects' recorded valid ranges in the same units (the .aep mapping is Conv::Plain). Defaults and the 0..1 / 0.1..3 sliders are unchanged. Gamma 0 renders as the existing 0.01 floor, an exponent of 100, so an HDR value a few times Input White would overflow f32 and an infinite curve times an empty output range is NaN. The curve is now bounded at +-1e6 on the CPU (Lv::apply) and the GPU (fxt_lv), so the output stays finite over the whole range; values below the bound are unchanged. The engine regression (tests/effect_ranges.rs) sets both ends of each row through prop.set, checks undo/redo, save and reopen, and that a project saved with the narrower ranges opens with the new ones and its values.