The current snapping mechanism is next to unusable when there are many places where a given thing might snap. The approach of snapping everything-to-everything is fundamentally wrong, because it simply doesn't work for many snapping points. I have a different idea, inspired by Corel DRAW, where snapping is much more useful than currently in Inkscape:
1. When snap is enabled, the Select tool displays a highlight and some text describing the snappable thing over which it hovers. The things that are highlighted are the same that are enabled in the snap toolbar. 2. During a subsequent drag the snapping point that gets highlighted is chosen as the only snapping point for the dragged object. Otherwise the object doesn't snap when moving. This way we don't have to snap everything to everything, because we know one of the points the user intends to snap.
If someone could give me some pointers about how to implement it, I could work on this, because it's the only feature that I found really lacking when I switched to Inkscape from Corel DRAW.* I like my drawings to be perfectly aligned :)
Regards, Krzysztof Kosiński
*) fortunately the ability to easily specify alpha for gradient stops was more important :)
On 02/14/2009 12:51 AM, Krzysztof Kosiński wrote:
The current snapping mechanism is next to unusable when there are many places where a given thing might snap. The approach of snapping everything-to-everything is fundamentally wrong, because it simply doesn't work for many snapping points. I have a different idea, inspired by Corel DRAW, where snapping is much more useful than currently in Inkscape:
Please have a look at the release notes and look for "Coreldraw" in the snapping section ;-). Read through the list of new features and play a bit with the new snapping preferences! (there's a new tab in the preferences for that, named "snapping")
- When snap is enabled, the Select tool displays a highlight and some text
describing the snappable thing over which it hovers. The things that are highlighted are the same that are enabled in the snap toolbar.
Already implemented. Please select "only snap the node closest ..." in the prefs.
- During a subsequent drag the snapping point that gets highlighted is
chosen as the only snapping point for the dragged object. Otherwise the object doesn't snap when moving. This way we don't have to snap everything to everything, because we know one of the points the user intends to snap.
Same here.
Another new feature is that Inkscape can now prefer the node closest to the mouse pointer for snapping over the others, when you're not using the "only snap the node closest ..." mode. There's a slider for that in prefs to set a weight factor. Please test it and see if that works better when snapping complex shapes
Regards,
Diederik
Diederik van Lierop wrote:
Already implemented. Please select "only snap the node closest ..." in the prefs.
This is great! Why isn't it on the snapping toolbar though? I didn't find it at first because I assumed that most of the snapping options will be on the toolbar. Also of note is that the snapping options from the toolbar are not present in the prefs dialog - not very intuitive if e.g. someone disables the toolbar to conserve screen space like I do.
Another thing is that the visualization of the snapping isn't best - while hovering over e.g. a rectangle, there is no indication of which node will snap when I drag the rectangle - it only appears when I start dragging, and it isn't clear what this little circle means. The best thing to do would be to display text over the node that will snap (e.g. "corner", "midpoint", etc.) while the user hovers the select tool over the selected shape, and a similar text when
However, those are just small usability glitches. Again, thanks for this incredible feature!
Regards, Krzysztof Kosiński
participants (2)
-
Diederik van Lierop
-
Krzysztof Kosiński