On 5/22/07, MenTaLguY <mental@...3...> wrote:
Since I still can't get to the Wiki to document this, after talking to the SVG WG chair and studying the LPE proposal in more detail, here's what I think the live path effect stuff should look like:
Wow, this really looks extremely W3C-esque.
I'm not saying I'm totally against using this syntax. It will work (if implemented properly) and it probably has its advantages. I'm just saying that myself, I would not do it that way.
In particular, I really don't see any valid reason to add a copy of the original path to defs. We're speaking about path effects, which by definition do not change anything except the d= of the path. Therefore, we only need to save the original d, i.e. just a string. Why copy and ref the entire element? This will introduce a ton of unnecessary problems of all kinds - inherited styles, relinking clones, refcounting, etc. etc. - not only for the person who implements LPEs but, more importantly, for everyone else who will have to adapt lots and lots of code all around the codebase to work with effected paths.
Similarly, I see no reason to use <switch>. For flowText, using switch is a sad necessity. But here, we can do everything we want in the same path element, via inkscape: attributes, without adding another level of nesting which will make work with such constructs a lot more cumbersome.
I shudder when I think about all the disruption that will be caused by moving flowText into a switch - but again, there we have no choice. But here? Suddenly turn a plain, basic, flat <path> element into a monstrous multi-level subtree with all kinds of hrefs and stuff if I just want to round the corners? This does not look very attractive to me as an implementor.
Originally, I came up with the idea of LPE because I found a very simple, cheap, easy to implement way to build it into the existing codebase without any significant disruption. It was so simple that a proof-of-concept effect was coded by Aaron in less than a day. All we needed back then was just coding the effects themselves. The boring part was largely done (or at least it was clear how to do it, and it was very simple), what remained was the interesting part. Unfortunately this all stalled at that point. And what I see being discussed now seems to have lost all of the attractive simplicity of the original idea. And with it, it has lost much of its appeal for me personally.
I may be missing something important, of course, but for now that's how I see it.