W3C home > Mailing lists > Public > www-svg@w3.org > November 2004

Re: SVG 1.2 Comment: vector effects

From: Dean Jackson <dean@w3.org>
Date: Wed, 24 Nov 2004 18:38:10 +1100
Message-Id: <CA172B41-3DEB-11D9-8F2E-000393B3CA5E@w3.org>
Cc: Ian Hickson <ian@hixie.ch>, Craig Northway <craign@cisra.canon.com.au>
To: www-svg@w3.org


On 24 Nov 2004, at 09:30, Craig Northway wrote:

>> That would also get around another problem I have with vectorEffect,
>> which is the way you can make any random shape (e.g. a <circle>) look
>> like any other random shape (e.g. a country). That seems to defeat the
>> point of having shapes in the first place. It also makes trying to
>> understand SVG markup quite hard.
>>
> I don't understand how vector effect makes a circle look like another 
> random shape? Please explain this further, perhaps with an example?

I think he meant that you could have
<circle vector-effect="warp">
where warp is a punch of intersections and unions with other
shapes.

While this particular example may sound strange, I say
that it is an improvement over the alternatives and highlights another
benefit of the current syntax over Ian's proposal.

The XML syntax is also easily extensible, either by the W3C for
future profiles or by other organisations (for use in specialised
environments - not on the general web). For example, suppose I want
to draw a circle with a wavy outline:

<vectorEffect id="waveOutline">
   <veStrokePath/>
   <dean:wave amplitude="2" frequency="45"/>
   <veStroke/>
</vectorEffect>

This is possible without changing the syntax, and what we had in
mind from the start (over the years we've had requests for particular
effects or programmable effects). It's also possible to animate the new
effect easily using the current syntax:

<dean:wave amplitude="2" frequency="45">
   <animate attributeName="amplitude" values="2;6;2" begin="0s" 
dur="10s"/>
</dean:wave>

Note that the circle is still a circle here (even though it has a
squiggly outline). You can animate the radius and the effect will
adjust, for example.

You should also be able to create custom effects using sXBL (much
easier using XML syntax).

Vector effects are very common in 2d illustration packages such
as Illustrator and Draw. In fact, the first proposal came from Corel
who wanted a way to describe their 2d-effects within SVG using XML.
Also, there is a whole industry living off Photoshop and Illustrator
plugins, showing that it is useful, it is common, people really want
it and it should be possible to extend the built-in effects.

Another benefit of the XML syntax is that it allows people to
build libraries of effects in the same manner as they can build
libraries of symbols. Then authors can refer to an effect described
remotely.

Finally, I'd like to say that I think this feature should have been
in the language from the start. If you know what you are doing when
implementing SVG (ie. you understand graphics) then it plugs right in.
If you don't know what you are doing, it doesn't take long to learn.

At this point in the long thread, I'm not sure what the best way to
proceed is.

Ian is the main person opposed to the current model and syntax. I
don't see many other people on his side raising new data (Boris
sent in a grammatical comment for example).

On the other hand we have at least three implementers (Adobe, Apache and
Canon), a number of domain specialists (from GIS and graphics 
backgrounds)
and SVG content developers supporting the existing model and syntax.

The W3C Process isn't a popularity contest or numbers game, but I'm
leaning strongly towards the current proposal.

Dean
Received on Wednesday, 24 November 2004 07:38:16 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:14:52 UTC