-
-
Notifications
You must be signed in to change notification settings - Fork 962
Round Corners improvements #3279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
I tried pushing the manipulator groups directly, but the problem persisted: for i in 0..manipulator_groups.len() {
new_manipulator_groups.push(manipulator_groups[i]);
}That pointed me to the The current solution for rounding corners is to skip producing a rounded corner for any vertex that either:
This ensures that existing curve handles are preserved and not overridden by the corner rounding logic. |
|
@otdavies, could you share the Graphite file? I'd like to take a look and see if I can propose a solution. If I can't find a fix, I'll let you know. |
|
@c-mateo This is just with a box with two corners rounded, and this is the non-rounded opposite corner. I wouldn't worry a ton about it, unfortunately I think we need to come up with a slightly different algorithm. Something that will help though, is the knowledge that when you sharpen corners, sometimes the handles are just hidden below the anchor in the same position - so you also likely need to do a check for distance of anchor to handles to ensure handles do/don't exist. |
|
@otdavies I can't reproduce this. Could you attach the file or a short screen recording showing the issue and the exact steps to reproduce it? I’ll take a quick look. |
|
I can't get to reproduce now either, so might have been an editor crash or similar that I didn't catch. @c-mateo For now I'd pause on this as I think there needs to be a discussion on the goals. We should wait for Keavon. We want the round corners node to behave similar to other vector editors and right now it is not meeting that requirement well. Your changes aren't at all the issue, I just don't think we will be able to make the tool behave better in all cases without an overhaul to the algorithm. If you specifically want to work towards a final version - go try some other vector editors corner rounding tools and see what ours doesn't do right. Then we can start to build in that direction. Thanks! |
|
@otdavies I'd like to continue working on this feature. Please let me know when you've decided what should be done. |

The Round Corners node has a parameter that controls whether rounded corners are created depending on the angle between edges. I found its behavior somewhat counterintuitive.
In the image below, the minimum angle threshold is set to 90°, but the green and cyan angles are not getting rounded corners even though they are greater than or equal to 90°, while the orange angle, which is less than 90°, does.
Work in progress to close #3204.
Currently, it ignores vertices with handles but doesn't work well when the vertex is the first in the path. Any help would be appreciated.