mirror of
https://github.com/storytold/effectcraft.git
synced 2026-11-15 06:42:31 +00:00
Number fields read + - * /, brackets and signs through a small bounded parser (crates/ui-egui/src/num_math.rs): no code is run, length and nesting are capped, every step must stay finite and a division by zero keeps the old value with no undo step. Hot-text values (Timeline, Effect Controls, Properties and the other panels) also take a leading *, / or + applied to the value shown, as the reporter describes for After Effects (not confirmed in public docs). A leading - stays a negative number. Hot text used to read +50 as 50; it now adds 50. On an angle the step goes from the signed remainder (+10 on 0x-30 is 0x-20). With several layers selected each layer takes the step from its own value: + through the offset path, * and / through a new prop.set factor. Typed results in whole-number hot text round instead of truncating. Dialog fields (the shared drag_value wrapper, Essential Graphics, Gradient Editor, colour picker) re-read their text per keystroke, so they take absolute arithmetic only. Fixes #3195