
bulia byak wrote:
This is a reasonable improvement request: if the standard approximating algorithm produces a straight line, make it a linear segment without handles. I think we should do this.
Will the above suggestion - do not extend handles if there's no curvilinearity in the result - work for you?
Unfortunately not. What I (only me?) need is the old behaviour so when you delete a node from a rectangle it becomes a triangle. Now the _only_ way to have this (which I consider a very intuitive and expected result) is using ctrl-del. With the current behaviour the curvilinearity is forced even if it's not present in the starting object (as happens for a rectangle), so the case where it's both present at the beginning and at the end is trivial and I'm not concerned with it; it was only an example on how the currently implemented "interpretation" can degenerate.
bulia byak wrote:
Here's an example of situation where the current behavior is better: imagine a curve is approximated by a number of short segments, some or all of which are linear. Now I can easily delete all inside nodes and get a single-Bezier approximation of that curve. It's not so uncommon in artistic uses of the program.
This can easily be achieved simply by converting all short segments to curves (only one drag-select and convert-button-click operation); now you can remove the unwanted nodes. There's no need to change the default del behaviour. And also, the context is that you are working with curves (also if approximated), not with segments! So it's reasonable that you want to get rid of segments having an easy way to get a "real" curve from them. On the other hand, when you work with segments you need exactly the opposite, that is segments that stay segments. It's a completely different scenario. And also, the approximated curve probably comes from an external application: I don't think someone would draw a huge amount of small segments to eventually convert them to a curve. But when I'm drawing and using segments it's because I _want_ to work with segments, so there's an explicit operation from the user. I wouldn't discard properties explicitly set by the user if not explicitly asked for; and simply deleting a node can't be considered as an explicit request. An example: you have a folder with all your photos named 'photo0001', 'photo0002', ... up to 'photo0254'. 'photo0127' is really ugly so you delete it and automatically you have all other files renamed to -1 by your super-clever OS (!) so 'photo0128' is now 'photo0127' and 'photo0254' is 'photo0253', so there are no "numeric holes". Logical, isn't it? You see that 'photo0127' still exist and try to delete again, again and again till it's deleted (and all up to 'photo254' with it... Hey, didn't you read the OS's manual before deleting a file? :). Or you had old 'photo0202' as desktop background and suddenly get old 'photo0203'. Or a month later a friend of yours asks for 'photo0192' that she loved so much but she's lost it (pity you didn't take a look before sending and that in old 'photo0193' there was another girl... ;). Did you ask for the automagical rename when deleting? Did you need it? Did you _want_ it?
Regards. Luca