Hello all
Today I have implemented snapping of nodes, so the new node tool should be ready to go into trunk. As a reminder, here is the status table: http://wiki.inkscape.org/wiki/index.php/GSoC2009_Node_Tool_Rewrite
There are still some minor issues with snapping: 1. Nodes do not snap to unselected segments of selected paths. 2. Nodes do not snap to selected shapes. They will be fixed once I refactor the event context / tool hierarchy, which I plan to do before this year's GSoC.
Now I have a few remarks / questions about the behavior:
1. There is an RFE: https://bugs.launchpad.net/inkscape/+bug/321150 The proposed is like the new node tool's join action, but with a distance threshold. Implementing this should be easy, but I don't know how to present it in the UI. Ideas, anyone?
2. Releasing the mouse button causes the point to immediately snap, even if the snap delay has not expired. For me, this unexpected and very annoying: I have to turn off snapping to make a non-snapped movement. If this feature was removed, I could comfortably make both snapped and non-snapped movements with snapping enabled. Currently I disabled snapping on mouse button release.
3. When a point snaps to a path, it should remain snapped to it until the pointer wanders outside the snap distance. This would allow me to adjust the point's position on a path it snapped to, without waiting for the snap delay to expire every time. Same behavior for snapping to nodes, corenrs, etc. (the point remains snapped until I move the mouse pointer out of the snapping range). What do you think?
4. The method to switch to the transform handles to rotation mode is very non-obvious. Currently it is Shift+R. To be consistent with the selector, the method to switch to rotation mode should be to click on a selected node, but this might become annoying quickly - the old behavior is to select only the clicked node in this case. I think the second behavior is acceptable if it only works when transform handles are shown, and the handles can be toggled using a button on the controls bar (preferably the first one).
Regards, Krzysztof.