Pen tool points change spline when curve points are moved #455

Closed
davelab6 opened this Issue Mar 20, 2013 · 5 comments

Comments

Projects
None yet
2 participants
@davelab6
Member

davelab6 commented Mar 20, 2013

http://youtu.be/JGxf0q8ujXI

Splines must never change in a way that surprises users

davelab6 added a commit that referenced this issue Apr 11, 2013

@davelab6

This comment has been minimized.

Show comment Hide comment
@davelab6

davelab6 Apr 21, 2013

Member

@mimaz I have reverted this because the issue still isn't resolved, and it caused problems for other users - http://fontforge.10959.n7.nabble.com/InterpolateCPsOnMotion-td13170.html - so I wonder if you could look into this further. I believe that it will require a change to the Pen tool, so that when the Pen tool places a curve point, it goes to the previous point on the spline and adds a NextCP to it that creates the same curve.

Member

davelab6 commented Apr 21, 2013

@mimaz I have reverted this because the issue still isn't resolved, and it caused problems for other users - http://fontforge.10959.n7.nabble.com/InterpolateCPsOnMotion-td13170.html - so I wonder if you could look into this further. I believe that it will require a change to the Pen tool, so that when the Pen tool places a curve point, it goes to the previous point on the spline and adds a NextCP to it that creates the same curve.

@ghost

This comment has been minimized.

Show comment Hide comment
@ghost

ghost May 4, 2013

On Sun, Apr 21, 2013 at 03:04:20PM -0700, Dave Crossland wrote:

@mimaz I have reverted this because the issue still isn't resolved, and it caused problems for other users - http://fontforge.10959.n7.nabble.com/InterpolateCPsOnMotion-td13170.html - so I wonder if you could look into this further. I believe that it will require a change to the Pen tool, so that when the Pen tool places a curve point, it goes to the previous point on the spline and adds a NextCP to it that creates the same curve.

There is indeed a setting that controls this behaviour -
InterpolateCPsOnMotion. I'm not sure what I should do here.

Michal Mazurek

ghost commented May 4, 2013

On Sun, Apr 21, 2013 at 03:04:20PM -0700, Dave Crossland wrote:

@mimaz I have reverted this because the issue still isn't resolved, and it caused problems for other users - http://fontforge.10959.n7.nabble.com/InterpolateCPsOnMotion-td13170.html - so I wonder if you could look into this further. I believe that it will require a change to the Pen tool, so that when the Pen tool places a curve point, it goes to the previous point on the spline and adds a NextCP to it that creates the same curve.

There is indeed a setting that controls this behaviour -
InterpolateCPsOnMotion. I'm not sure what I should do here.

Michal Mazurek

@monkeyiq

This comment has been minimized.

Show comment Hide comment
@monkeyiq

monkeyiq Aug 19, 2013

Contributor

This fix might introduce other corner cases. What I found by studying the code and the video in the top post is:
You draw the three points, click+drag for the middle one.
When you move the middle point up/down, the first time you do this the control points for the two end points will be moved from their centre to somewhere between them and the middle point. This change to the control points of the end point will change the shape of the curve. It only seems to happen once, the first time you drag a spline that was created with the pen tool.

Contributor

monkeyiq commented Aug 19, 2013

This fix might introduce other corner cases. What I found by studying the code and the video in the top post is:
You draw the three points, click+drag for the middle one.
When you move the middle point up/down, the first time you do this the control points for the two end points will be moved from their centre to somewhere between them and the middle point. This change to the control points of the end point will change the shape of the curve. It only seems to happen once, the first time you drag a spline that was created with the pen tool.

@monkeyiq

This comment has been minimized.

Show comment Hide comment
@monkeyiq

monkeyiq Aug 19, 2013

Contributor

If this causes other issues, I might instead change the patch to not do the "fixups" (that is where the code was moving the control points) if the control points are very near the spline point (as they are for the two end points after you have drawn this shape with the pen tool).

Contributor

monkeyiq commented Aug 19, 2013

If this causes other issues, I might instead change the patch to not do the "fixups" (that is where the code was moving the control points) if the control points are very near the spline point (as they are for the two end points after you have drawn this shape with the pen tool).

@davelab6

This comment has been minimized.

Show comment Hide comment
@davelab6

davelab6 Aug 21, 2013

Member

This seems to work fine for me... :)

Member

davelab6 commented Aug 21, 2013

This seems to work fine for me... :)

@davelab6 davelab6 closed this Aug 21, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment