2010/2/8 Krzysztof Kosiński <tweenk.pl@...400...>:
W dniu 8 lutego 2010 04:48 użytkownik bulia byak <buliabyak@...400...> napisał: Thanks for all those tests. The code that handles events going to the canvas is in ui/tool/selector.cpp, but see below.
OK, looks like I'll have to dig into it, as it still doesn't work in 9066.
- Lost feature: node sculpting. Will you work on it, or do you want
me to work on porting it?
I will port it, but for now only one "sculpting profile" will be available. I would like to add enum support to preferences before introducing even more magic numbers to it.
Thanks! Actually as I remember the other profiles were more or less placeholders in the old code too, I intended to enable them in UI one day, but for now only bell-shape worked.
- Lost feature: When rotating a handle with Ctrl, it now snaps to the original
position and 15 deg increments from that original position. The previous behaviour was: snap to origin, its opposite and perpendicular, to vertical/horizontal, and to 15 deg steps from vertical. This is much more useful because more often, I use Ctrl to snap it to vertical or some simple angle like 60 deg.
The old behavior was not consistent with selector tool and node transforms. All other constrained rotations snap to 15 deg increments from the original position. It is possible to make a handle horizontal by retracting it and then dragging it out with Shift+Ctrl.
Too much consistency may be bad sometimes. Here, there's a very important difference: an arbitrary object does not have a "naturally vertical" position but a node handle *does*. And it is much more common to want to set it e.g. to 45 from vertical than to 45 from the current, usually approximate, position. So I would like this behavior to be restored, it was very convenient.
- Performance:
I fixed this recently (r9061). There were two issues: 1. libsigc++ is much slower than I expected, 2. I wasn't dropping motion events when there were many of them in the queue. Right now the performance should be comparable to 0.47, though probably further improvements are possible.
Yes, motion is now much snappier in 9066, thanks. This means I can now do some more performance testing with the 60000-node path and report the results :)
- When mouseovering a node, it says "click to select" even if it is already
selected. I'd like to copy this from the old tool as well, which suggested various modifiers for dragging instead.
I reused the GIMP paradigm of only showing the modifier tips when the relevant modifiers are pressed. This way the tip has some chance of being displayed in its entirety, especially on smaller screens. I can add a note like "(more: Shift, Ctrl, Alt)" at the end to make the modifier actions more discoverable.
This goes against Inkscape's common practice in other tools. We always try to show relevant modifiers, but we do it at the end, and sort them by importance, so the least important are most likely to be truncated. With your approach, you decide for the user what is unimportant, and thus deprive the users with wide screens of potentially useful information. So, while it might be reasonable to argue about tips on specific modifiers and their order, I don't think we should now start a purge on all of them, and I'd like them to be restored in Node tool. In any case, the misleading "click to select" should go.
- UI suggestion: since the show/hide seltrans handles button belongs
to visualization, it should be moved to the right end of the controls bar, next to node handles and node outline toggles.
There is a very important difference in behavior when transform handles are on: clicking on a selected node switches between rotation and scaling (consistent with selector) instead of making it the only one selected. This is the reason behind putting the button in front of the controls bar.
Well, this difference is indeed important (and I'm not sure it's justified, I need to test it some more and think) but in any case it is only visualization and behavior toggle, not some action on path. So moving them to the other visualization toggles makes perfect sense IMHO.