Re: Interaction of CSS Transitions and SVG Animation

--------------------------------
 PD: And in those I don't want to just animate SVG in an ad. Can SMIL
  animate HTML and SVG?
  ... we want it to
Rob O'Callahan: I don't want SMIL to be able to animate HTML presentational attributes, but I do want it to be able to animate CSS on any element.
--------------------

This evening, I tried to follow these lengthy notes from today's SVG face-to-face -- thanks Anthony for providing them -- I thought they gave a nice feel of the conversations going on, though it made me wish I was there to get a sense of, among other things, what DS wrote on the blackboard! And I know I would have had at least a zillion questions and people would have tired of them all after the first half-zillion.

I should offer 10^n disclaimers (for some small n>0) as well, since I confess to not really understanding everything being discussed here, but I know that what is being discussed is very important.

I want to be able to apply SVGA animation to everything!  HTML, SVG, MathML, embedded Xforms, spreadsheets, <canvas> pixels, individual glyphs within a PDF, extracted elements of a deprecated XMP (how else can one display code these days?), dotdotdot. Back in my unfortunate dabbling in the early future of HTML5, I posited that animating HTML was a good thing and was told by a dozen loud voices from at least one direction (maybe 1.5?) that such was preposterous.  How good to hear that it is no longer preposterous!

I have a couple of concerns that are maybe bigger than questions but are definitely less than complaints.

 The distinction between semantics, presentation, and behavior has always seemed peculiar to me. What is semantic in one natural languge becomes syntactic in another. What is a verb in one becomes a predicate nominative in another. HTML and SVG seem to have fundamentally different notions of what constitutes presentation and semantics**. And now we wish to have a unified model of behavior/animation atop that? (well at least behavior as distinguished from script and as embedded in time -- but really isn't all behavior embedded in time?)

Okay, it is good to have a common theory of all these things. For the implementer, the developer and the "visitor"* a common theory is bound to be helpful. But we must make sure that the common theory is sufficiently powerful to allow all needed expressions.

As a died-in-the-wool skeptic about the efficacy of separating meaning from grammar from phonology (or as we might prefer to say: semantics from markup from presentation from appearance from script from geometry from graphemics from events from behavior from animation) building thirteen different languages to describe thirteen ill-agreed-upon notions of the separations between things could create problems.

But, it seems that SVGA, by entry into the DOM allows the concretization of our temporal expressions in ways that a non-DOM based and "ephemeral" styles-based approach is unlikely to be able to capture. I would hope that the expressiveness of the joint venture of CSS and SVGA does not compromise the expressiveness of SVGA for the popularity of CSS. That CSS enjoys more popularity is clear. That it should, is not (at least to me).

Questions:
So are we all agreed that this new shared model of animation should retain all expressiveness currently available to either?

Are there advantages to living in the DOM that <animate> gives us? Well we can easily attach an id to the tag and we can remove it and modify it and we can count it and we can clone it. Can one clone CSS thingies and label them and attach them to other thingies?

Does the proposed reconciliation of these two modes of expression accomodate the cognitive/expressive styles of both communities? 

Does it take into account proposals for the declarative creation of semantic content patterned after the SVGA model ? 

Does it allow for the declarative animation of the attributes of declarative animations (a current limitation of the SVGA model, I think)?

Just a few things to think about and/or clarify.

regards,
David


*my personal euphemism for "user" -- a person sounds awfully degraded when we can him a "user" 

** Dan Connolly and Karl Dubost and I expressed a brief ephiphany about the varying sense of the word "semantics" in the early days of HTML5 as it integrated itself into W3C
  ----- Original Message ----- 
  From: Robert O'Callahan 
  To: W3C SVG Comments List ; W3C FX Taskforce Public List 
  Cc: L. David Baron 
  Sent: Thursday, November 04, 2010 6:40 PM
  Subject: Interaction of CSS Transitions and SVG Animation


  On Fri, Nov 5, 2010 at 7:07 AM, Anthony Grasso <Anthony.Grasso@cisra.canon.com.au> wrote:

    PD: The thing that I was thinking that might cause collisions
      ... is first off when there are shared properties
      ... e.g. Transforms
      ... lets identify those attributes we want to make properties and
      resolve those conflicts
      ... I know we haven't done it across the board
      ... but we've decided it for Transforms at least
      ... Let's take opacity which is a property
      ... if CSS is animating and SMIL is animating them at the same time
      ... will I get a interoperable behaviour?



  I don't know.

  In Gecko, SMIL applies first, generating changes to animated attribute values and "hidden" CSS rules on animated elements. Then CSS transitions are applied on top of that. We refrain from triggering CSS transitions for style changes caused by SMIL. Therefore, CSS transitions do not affect SMIL base values. I can't imagine why anyone would want to do it differently :-)

  For CSS animations, we could rely on CSS specificity rules --- both the specificity of animation rules and the specificity of SMIL's CSS overrides need to be defined anyway. But it's probably better to hook CSS animations into the SMIL sandwich more directly.


      PD: And in those I don't want to just animate SVG in an ad. Can SMIL
      animate HTML and SVG?
      ... we want it to

  I don't want SMIL to be able to animate HTML presentational attributes, but I do want it to be able to animate CSS on any element.

  Rob
  -- 
  "Now the Bereans were of more noble character than the Thessalonians, for they received the message with great eagerness and examined the Scriptures every day to see if what Paul said was true." [Acts 17:11]

Received on Friday, 5 November 2010 00:32:33 UTC