On 26/8/11 09:54, Jasper van de Gronde wrote:
On 25-08-11 21:51, Adonis Papaderos wrote:
It apears that the work I have done with linked offsets to make them behave as linked offsets have the side-effect of breaking compatibility with old drawings that rely on the old behavior. (see bug #817907 https://bugs.launchpad.net/inkscape/+bug/817907). I believe that commit 10109 should be revoked and the attached bugs marked as won't fix (since I don't see any other way of fixing these).
What do you think?
Just to make sure I do not misunderstand the issue discussed here: did you mean to say "the work I have done with linked offsets to make them behave as clones"? i.e. (among others) addressing this one:
Bug #184341 https://bugs.launchpad.net/inkscape/+bug/184341 "Linked offsets ignore clone movement preferences"
As for your question, as far as I can tell it's choosing between sticking to old behaviour that doesn't make much sense and causes problems for at least some people and new behaviour that makes a lot more sense but might cause some problems for existing drawings. This is not an easy choice, but I would be inclined to go with the new behaviour, as that's probably the better choice in the long run.
With regard to the changes for bug #184341 I'd be curious to understand _why_ the changed behavior of linked offsets is an improvement and why the old behavior "doesn't make much sense"? [1]
AFAIU linked offsets and clones have different use cases:
Linked Offsets: a Inkscape-specific path operation along with inset/outset and dynamic offset, linking to a single path, often used to create multiple borders (stroke effects) of individual objects, shapes or texts - intended to keep the relative position to the original (stacked below or above, maybe slightly offset for shading effects). Linked offsets moves along with the original (as per default setting) and can be styled independently (unlike clones). [2]
Clones: far more powerful SVG feature which can instantiate a variety of (template) objects in the same file, and hopefully - some day - Inkscape will add the support to link to (to clone) fragments of external files (for parts libraries, stencils, shared objects). Clones allow e.g. style variations based in inherited styles while keeping the file size low and updates to common features easy. Clones are not as strongly related to the position of the original object and are often intended to stay in place when the original gets moved (as per default setting).
Changing the default for the setting "When the original moves, ..." for linked offsets and merging it into the behavior of clones could easily result in a new RFE to autogroup linked offset and original for easier handling: for many users it might not be an option to switch back to the old behavior in the preferences since they use clones as instances (not like offsets stacked below/above the cloned shape) and do not want clones to move when an original is rearranged or moved e.g. outside the page border for easier editing or for hiding.
Related questions: - Could the other issues with incorrect handling of (parent) transforms which had been addressed in the merge of r10109 be fixed without changing the default behavior of linked offsets when the original moves, or - alternatively - have linked offsets use separate options with regard to "When the original moves"? [3]
- If none of the above is feasible, what will be the explanation to users for changing the default behavior of linked offsets to no longer follow when moving the original?
~suv
[1] I'm aware that originally it was planned to have them share the same options as clones (as witnessed in the preferences pane). However, for some reason this was never fully implemented, and the same question in the bug report was not answered beyond referring to the labels in the preferences pane:
Ryan Lerch (ryanlerch) wrote on 2008-02-04:
However, im not sure of how that setting in the inkscape pref's is worded. from my experience i would want clones to stay unmoved, but linked offsets to move...
[2] The tutorial which ships with Inkscape explains linked offsets thus:
Still more convenient is a linked offset, which is similar to the dynamic variety but is connected to another path which remains editable. You can have any number of linked offsets for one source path. Below, the source path is red, one offset linked to it has black stroke and no fill, the other has black fill and no stroke.
Select the red object and node-edit it; watch how both linked offsets respond. Now select any of the offsets and drag its handle to adjust the offset radius. Finally, note how moving or transforming the source moves all offset objects linked to it, and how you can move or transform the offset objects independently without losing their connection with the source.
[3] the merged branch had addressed these bugs: http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/10109
Bug #167419 https://bugs.launchpad.net/inkscape/+bug/167419 "square/circle/polygon/spiral and linked offset misbehaviours"
Bug #184341 https://bugs.launchpad.net/inkscape/+bug/184341 "Linked offsets ignore clone movement preferences"
Bug #239430 https://bugs.launchpad.net/inkscape/+bug/239430 linked offset ungroup issue