Files
lightcraft/crates
deunderscorepaulanddeepseek-flash 7b6d88ce14 Tone Curve: the parametric graph is a clean curve you drag
The graph now shows the Effective curve and nothing else, as the parametric tab
should: the four region handles and three split notches are gone. You grab the
line itself, anywhere, and drag it up or down. Which slider moves is decided by
where on the line you grabbed — the region whose window that input level falls
in — and that slider follows on the same frame, so the line, the handle-free
graph and the sliders are one state.

The mapping is the renderer's own: a point's curve level against the region's
slider is a straight line, so the drag inverts it exactly and the line tracks
the hand instead of drifting away from it. The four regions tile the graph, so
any grab moves exactly one slider. ⌥ is still a tenth of the motion, ⌥ or not
the grab itself moves nothing, and a press away from the line is not a gesture
(no value change, no undo step).

The whole gesture is still one `develop` interaction, so it is one undo step.

Note: `ui.data` stores and loads one type, so the drag state is kept as
`Option<(region, x)>` and loaded with `.flatten()` — storing one shape and
loading another silently returns `None` every frame, which is what made the
first attempt drop the drag after a single frame.

Tests rewritten for the line: a drag down and up, which region each quarter of
the graph belongs to, the level/amount inverse at off-centre points, the region
tiling, hovering naming the region, and one undo step per gesture.

Co-Authored-By: deepseek-flash <noreply@deepseek.com>
2026-10-24 00:03:13 +02:00
..
2026-10-23 17:21:16 -04:00
2026-10-23 17:21:18 -04:00
2026-10-15 03:40:17 -04:00
2026-10-23 17:21:18 -04:00
2026-10-23 17:21:17 -04:00
2026-10-14 22:31:41 -04:00
2026-10-23 17:21:16 -04:00