Re: SVG 1.2 Comment: vector effects

Ian, you are right, that some of the vector effects goals could be met 
by using different syntax, but what the SVG working group (and quite a 
few SVG users) wanted to have, was an extensible architecture, where 
later you could add more effects or geometry operations.

Vector effects handles more use-cases than you listed, such as combining 
a path of individual segments, union, intersect, exclude, etc.

What if, at a later SVG version (2.0?) we want to add a 
buffer/contour/offset effect, or any other line effect? With the vector 
effects architecture we just add a new effect.

Ian Hickson wrote:

>On Fri, 5 Nov 2004, Peter Sorotokin wrote:
>  
>
>>The solutions that you suggest were all reviewed and rejected because 
>>they do not address the problems that vector effects are trying to 
>>solve. There is a very strong demand for these features from the mapping 
>>and schematics community. In short:
>>
>>- there is a need to scale stroke outlines and stroke/fill patterns 
>>differently from the rest of graphics
>>    
>>
>
>It seems like the simplest way to do this would be to use a new unit, one 
>that didn't scale with the zoom.
>  
>
I agree, that to reach non-scaling line-widths, using  vector effects 
would be complicated.

>>- there is a need to assign multiple strokes and fills to an object (drawing
>>tools had this for long time)
>>    
>>
>
>This could be done in the same way that the CSS working group is handling 
>multiple backgrounds on elements, namely, let the 'fill' and 'stroke' 
>properties take multiple comma-separated values.
>
>
>  
>
no, that would not handle all use cases/scenarios - what if you want to 
draw the markers first, then the stroke? or other way round. Or stroke 
first and then fill? Or draw a pattern on top of a gradient?

>>- there is a need to "set back" strokes around the markers while 
>>preserving actual path data
>>- there is a need to reuse edges in several shapes (esp. on maps)
>>    
>>
>
>Not sure what you mean by these, could you give examples?
>
>
>  
>

set back means that a stroke is not stroked with a certain offset to a 
vertex or end point. F.e. you could have a gap before drawing a marker. 
I think, that's a very useful feature for high-quality graphics

reusing edges: if you draw adjacent polygons you have redundancy, 
because every polygon has to have a closed path. With you reusing edges, 
you can centrally define edges, f.e. in the <defs> section and then 
build a new path out of individual edges, thus avoiding redundancy

>>- all of the above should integrate with animation (e.g, path animation) 
>>and not cause substantial file size bloat.
>>    
>>
>
>The two proposals I list above (a new unit and allowing multiple values 
>on two propeties) seem to handle this.
>
>
>I'm not denying tha there are use cases for the vector effects work. All 
>I'm saying is that to handle 90% of these use cases, it seems like a 
>significantly simpler model could be used, instead of introducing 
>something that, frankly, is frightening in its complexity.
>
>  
>

thats why it is not in the SVG basic profile, but in the full profile. 
We, as the SVG users would already appreciate, if Mozilla/Opera would 
implement at least the SVG Basic profile.

All the best,
Andreas

Received on Wednesday, 10 November 2004 12:02:12 UTC