Bug 373275 - Don't forget position of already moved points when unlocking points
Summary: Don't forget position of already moved points when unlocking points
Status: CONFIRMED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: 3.0.1.1
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-05 07:35 UTC by Szczepan Hołyszewski
Modified: 2016-12-08 11:03 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Szczepan Hołyszewski 2016-12-05 07:35:25 UTC
Scenario:

1. I use the warp tool, free points, not subdivsion.

2. I add some points.

3. I lock points and start moving them.

4. I decide I need an additional point, so I unlock points and add the missing point.

5. I lock the points again.

Actual behavior: The destination positions of points I have already moved are completely forgotten an I must redo all my work on them.

Expected behavior: The destination positions of points I have already moved should be restored in step 5.
Comment 1 Halla Rempt 2016-12-07 11:22:06 UTC
HI Szczepan,

Thanks for your report. I can confirm the behaviour. I'm not sure whether this was intentional when the tool was designed, but it would be good to have an option to not reset the points and the image. Just not resetting the points doesn't work, since the image is reset anyway...
Comment 2 Szczepan Hołyszewski 2016-12-08 11:03:11 UTC
If you choose to implement this, then please also consider one additional feature: when adding an extra control point to a transform with some displacements already defined, optionally also add the new point's displaced position interpolated according to the current transform.

Consider this as analogous to splitting a Bezier curve where you add a control point on the curve and also interpolate the two missing off-curve control points. In the case of Bezier curves this can be solved exactly, i.e. the sum of resulting arcs is identical to the original arc. With some warp transform formulas this might not be the case over the entire domain, but the before/after difference will at least vanish at the new control point.