Re: Minutes, July 15 2009 SVG WG telcon

On Wed, 15 Jul 2009 17:34:20 +0200, Jeff Schiller <codedread@gmail.com> wrote:

> 2009/7/15 Erik Dahlström <ed@opera.com>:
>>
>> The SVG 1.1 PathSegList interfaces provide some additional benefits in that
>> it gives read-write access to segments in the paths.
>
> Yes, read/write access to path segments is very cool - and I think
> it's a high priority item (for me at least).  Otherwise the author has
> to track everything manually.
>
>> The thing that I
>> personally dislike about it is the notion of having a normalized and a
>> non-normalized segmentlist that are always synchronized with each other.
>
> Why don't you just do what Webkit does: normalize everything!
> https://bugs.webkit.org/show_bug.cgi?id=26487
>
> :)
>
> Being serious for a second, what is the use case for having both
> normalized and non-normalized path segments in the DOM?

Well, normalized lists usually don't match what's in the document if you read the 'd' attribute.

> What do authors prefer?  Personally I could work with either, it's not
> too much work from an author perspective but the normalizing rules
> have to be clear (is L100,0 always turned into h100, etc).

Clear normalization rules would be great, I think SVG Tiny 1.2 has a subset of the necessary normalization rules for 1.1.

> What do implementors prefer?  I'm sure this depends on the underlying
> vector graphics library being used, cairo, etc.

In my experience absolute coordinates is what the libraries expect (and some pathsegtypes may be missing, e.g vlineto). Also SVG has some specific rules anyway so it's not as simple as passing the non-normalized list without at least some additional processing.

The normalized pathseglist is also used when animating/morphing paths[1].

Cheers
/Erik

[1] http://www.w3.org/TR/SVGTiny12/paths.html#PathDataAnimation

-- 
Erik Dahlstrom, Core Technology Developer, Opera Software
Co-Chair, W3C SVG Working Group
Personal blog: http://my.opera.com/macdev_ed

Received on Wednesday, 15 July 2009 15:54:31 UTC