Re: SVG12: animation of <color> and <paint>

On Monday, July 4, 2005, 4:26:52 AM, Bjoern wrote:

BH> Dear Scalable Vector Graphics Working Group,

BH>   http://www.w3.org/TR/2005/WD-SVGMobile12-20050413/animate.html section
BH> 16.2.16 is unclear about various aspects of animation color and paint
BH> properties. The draft notes

BH>   If a given attribute or property can take values of keywords
BH>   (which are not additive) or numeric values (which are additive),

BH> It is not clear to me whether this is meant to say that keywords are not
BH> additive but numeric values are or whether it is meant to refer to non-
BH> additive keywords only.

The specification has been clarified to say that it is the computed
value of a property that is animated.

Consider the following example

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 120"
baseProfile="Tiny" version="1.2">
  <title>test animateColor with keywords</title>
  <rect color="green" fill="#000000" height="100" width="100">
    <animateColor attributeName="fill"
                  from="#f00" to="currentColor"
                  begin="1s" dur="5s" fill="freeze" />
  </rect>
  <rect color="green" fill="#000000" x="120" height="100" width="100">
    <animateColor attributeName="fill"
                  from="#f00" to="green"
                  begin="1s" dur="5s" fill="freeze" />
  </rect>
  <g fill="#070">
    <rect color="green" fill="#000000" x="240" height="100" width="100">
      <animateColor attributeName="fill"
                  from="#f00" to="inherit"
                  begin="1s" dur="5s" fill="freeze" />
    </rect>
  </g>
  <g text-anchor="middle" font-size="14">
    <text x="50" y="130">currentColor</text>
    <text x="170" y="130">green</text>
    <text x="290" y="130">inherit</text>
  </g>
</svg>

The first animateColor will smoothly animate, because the computed value
of currentColor is a color value. Similarly in the second example,
'green' evaluates to a color as does 'inherit' in the third animation.

However, if the third animation was changed to have to="none" then
smooth animation would not be possible, as the computed value is not a
scalar or list of scalars but is still a keyword.

BH>  Clearly, "red" is a color keyword, and RGB color
BH> values are additive, so in case of the former, the note is not correct.
BH> Please change the note such that it is clear what it means.

The mention of computed values now clarified that passage.

BH> Further, the tables notes that "Only RGB color values are additive." It
BH> is however not clear what "RGB color values" are; it seems that <color>
BH> and <paint> always refer to a "RGB color value" except for references to
BH> gradient paint servers. Or, considering the use of "RGB value" in 4.1,
BH> it might mean that "red" is not a "RGB color value". Please change the
BH> draft such that it is clear which <paint> and <color> values are meant
BH> to be additive.

You are correct that if a property has a value which is a paint server,
this is not smoothly animatable with a color and will not be additive.
Again, this is clarified in the specification by reference to computed
values.

Please let us know if this clarification does not address your comment.


-- 
 Chris Lilley                    mailto:chris@w3.org
 Chair, W3C SVG Working Group
 W3C Graphics Activity Lead
 Co-Chair, W3C Hypertext CG

Received on Monday, 24 October 2005 21:32:30 UTC