On 01/12/2010 10:10 PM, Krzysztof KosiĆski wrote:
You're explanation is quite clear to me I believe, but I still don't see how you would solve the "cloud" issue when using the sticky snap feature you're proposing. I'll describe the problem in a bit more detail: suppose you have three snap targets close to each other, e.g. within 5 screen pixels distance whereas the snap distance is set to 20 screen pixels. All three snap targets lie on a single vertical line, so when approaching the snap targets from above Inkscape will snap to the upper target, and stick to it. When approaching from below Inkscape will snap to the lower target, and stick to it. But what if you want to snap to the middle point?
You move the node over the middle point, and wait until the snap delay expires. It snaps to the middle, because this one is closest.
I expected that, but that will prove to be very difficult when the snap targets are close to each other. It's like darts, aiming for the bull's eye!
Our current implementation doesn't have this problem because it will evaluate all snap targets in the vicinity of the mouse pointer, so a small movement will allow to select another nearby snap target. If we would implement your sticky snap feature then the user would have to move far enough away from where (s)he wants to be and then return to aim for the bull's eye all over again. And aiming will have to be done at a speed above a certain speed threshold because otherwise snapping will occur before arriving at the snap target. This is not acceptable because it's very annoying. It takes control away.
Regards,
Diederik