W dniu 12 stycznia 2010 08:22 użytkownik Diederik van Lierop <mail@...1689...> napisał:
Also note that the suggested new behavior is also trivially predictable: only snap when a snap indicator is present.
No, because the snap indicator can be overlooked or can be disabled. And if that happens the predictability is gone.
What does it mean that it can be "overlooked"? Selective blindness? :) For now let's only consider the case when the snap indicator is enabled, because as I said before the correct behavior without the snap indicator might be different.
The first time I encountered it, it was like this:
- I move the node near another node, with snapping enabled.
- I release the mouse button, and there is no snap indicator. I think
it should stay where I drop it. 3. Bang! It moves to the other node's position. What happen?!? There was no snap indicator, so I expected the node to stay where it is.
Reduce the snap delay and this will be solved.
The behavior at longer snap delays will remain unexpected. Users shouldn't need to tweak settings to fix usability quirks, there should be no usability quirks in the first place.
See my reasoning above about the cloud of points. Snapping code must be executed on each motion event and your algorithm won't work in this case. The only way to speed this up is to use the snap delay mechanism which eliminates snapping on some of the motion events
I think I didn't present the behavior I want clearly enough. This is not an alternative to the snap delay. This feature (let's call it "sticky snap") is intended to complement snap delay, not replace it. In fact it would be very annoying without snap delay. I'll explain "sticky snap" again:
1. I move a node near a snapping point. 2. The snap delay expires, and it snaps. A snap indicator is displayed. 3. As long as the pointer stays within the snap distance from the snaptarget, the node remains snapped to the same place. 4. I move the pointer farther than the snapping distance from the snaptarget. The snap is released, and I can move the node freely until the snap delay expires again.
However, sticky snap is not related to snap delay, and whether we snap on mouse button release. I just think it would make snapping more convenient.
Regards, Krzysztof