Re: [csswg-drafts] [css-cascade] Additive CSS

The CSS Working Group just discussed `Additive CSS`, and agreed to the following resolutions:

* `RESOLVED: No concerns wrt shipping Web Animations`
* `RESOLVED: CSSWG is interested in working on additive cascade proposals.`

<details><summary>The full IRC log of that discussion</summary>
&lt;dino> Topic: Additive CSS<br>
&lt;fantasai> ScribeNick: fantasai<br>
&lt;birtles> https://github.com/w3c/csswg-drafts/issues/1594<br>
&lt;fantasai> birtles: This issue covers everything I want to say<br>
&lt;fantasai> birtles: Want to introduce idea of addititve CSS<br>
&lt;fantasai> birtles: Figure out if we want to do this soon or not<br>
&lt;fantasai> birtles: We have something like this in Animations, wanted to see if we should pursue in static CSS also<br>
&lt;fantasai> birtles: Start off with additive animation<br>
&lt;fantasai> birtles: then static additive CSS<br>
&lt;fantasai> birtles: Normally when you have animations in CSS<br>
&lt;fantasai> birtles: basically you can only ever have one animation affecting the same property at the same time<br>
&lt;fantasai> birtles: This demo here has animations spin and swell<br>
&lt;fantasai> birtles: when I apply the both<br>
&lt;fantasai> birtles: you can see only the swell animation is taking effect<br>
&lt;birtles> http://slides.com/birtles/browser-animation-2017-2#/3/11<br>
&lt;fantasai> birtles: This can be due to the nature of the cascade, only one animation declaration will win<br>
&lt;fantasai> birtles: But even when you specify two animations in a isngle declarations<br>
&lt;fantasai> birtles: then the declarations in the keyframes could override each other<br>
&lt;fantasai> birtles: Problem in animations<br>
&lt;fantasai> birtles: There's a means for solving that which comes from SMIL<br>
&lt;fantasai> birtles: and is in Web Animations<br>
&lt;fantasai> birtles: where you define the properties as being addititve<br>
&lt;fantasai> birtles shows demo with Web Animations that shows spinning and growing at the same time<br>
&lt;fantasai> glazou: Do you put composite=add on both of them?<br>
&lt;fantasai> birtles: only the top one<br>
&lt;fantasai> birtles: If you declare an animation as additive, then it adds to underlying unanimated style, or adds to underlying animations<br>
&lt;fantasai> birtles: wherever in the chain doesn't say add, clobbers earlier declarations<br>
&lt;fantasai> glazou: animate(composite=add) that's ok<br>
&lt;fantasai> glazou: but for properties...<br>
&lt;fantasai> glazou: parsing is not done yet?<br>
&lt;fantasai> birtles: That feature is defined in Web Animations, implemented (but not shipping) in Chrome &amp; Firefox<br>
&lt;fantasai> birtles: Property for CSS Animations 2 to give same feature<br>
&lt;fantasai> birtles: How does it actually work?<br>
&lt;fantasai> birtles: different animations types, define what it means to add animations<br>
&lt;fantasai> birtles: then need to define order, since not operations are commutative<br>
&lt;fantasai> birtles: and also need to know which to exclude<br>
&lt;fantasai> birtles: Web Animations there's a defined order<br>
&lt;fantasai> birtles: but for CSS Animations the order of the animations comes from the 'animation-name' property<br>
&lt;fantasai> Florian: If you're trying to add things that are not additive, what happens?<br>
&lt;fantasai> birtles: Just as with interpolation, there are some types are not interpolable and we fall back to discrete<br>
&lt;fantasai> birtles: for types we can't add, we fall back to replace<br>
&lt;fantasai> Florian: Is this stable? Are there things that we could add in the future but can't right now?<br>
&lt;fantasai> Florian: e.g. auto + &lt;length><br>
&lt;fantasai> birtles: Yes, and there is this problem also with interpolation<br>
&lt;fantasai> birtles: Our hope with interpolation is that filling in gaps won't break content, we don't know but we hope<br>
&lt;fantasai> birtles: so in this case also hoping<br>
&lt;fantasai> fantasai: I think switching from replace to add is more likely to break that switching from discrete to gradual interpolation<br>
&lt;fantasai> Florian: in JS, could throw an exception, but not in CSS<br>
&lt;fantasai> birtles: Amelia had a concern about defining addition<br>
&lt;fantasai> birtles: THere are different ways to add things<br>
&lt;fantasai> birtles: e.g. blur(2px) + blur(5px)<br>
&lt;fantasai> birtles: is it blur(2px) blur(5px) (sequence) or blur(7px)<br>
&lt;fantasai> birtles: Web Animations has two different modes of addition<br>
&lt;fantasai> birtles: add and accumulate (corresponding to above, respectively)<br>
&lt;fantasai> birtles: For most types they're the same operation, but for list types are different<br>
&lt;fantasai> birtles: I think Amelia was concerned because accumulation in SMIL is used in repetition<br>
&lt;fantasai> birtles: but here it's just another type of add<br>
&lt;fantasai> melanierichards: You mentioned that if you get to something that doesn't add, does it replace all the values added up below it<br>
&lt;fantasai> melanierichards: [gives an example]<br>
&lt;fantasai> birtles: overrides sum up to that point<br>
&lt;fantasai> birtles: Add means "add myself to what's beneath me"<br>
&lt;fantasai> birtles: You have a stack with A at the top and D at the bottom<br>
&lt;fantasai> birtles: A and B are additive, C and D are not<br>
&lt;fantasai> [discussion of what ordering means]<br>
&lt;fantasai> dino: Don't say it's a stack. Everything is a list. THe last one wins<br>
&lt;dbaron> so this would be like animation-name: D, C, B, A.<br>
&lt;fantasai> birtles: The result of that would be A + B+ C<br>
&lt;fantasai> dino: And if A wasn't additive, then result would be A<br>
&lt;fantasai> birtles: And if all additive, then you get A+ B+ C+ D+ underlying style<br>
&lt;fantasai> Florian: When you're switching into another style, add to the top of the stack, which can override those beneath it<br>
&lt;fantasai> birtles: This proposal suggesting that if we expose in regular standard CSS, then the ordering comes from the Cascade<br>
&lt;fantasai> birtles: if you have something of higher specificity, takes precedence<br>
&lt;fantasai> dbaron: There are two different mechanisms proposed here<br>
&lt;fantasai> birtles: Why have this to begin with?<br>
&lt;dbaron> github: https://github.com/w3c/csswg-drafts/issues/1594<br>
&lt;fantasai> birtles: The most common use of additive animation is for combining transform animations<br>
&lt;glazou> q+ what about !important in such an addition<br>
&lt;fantasai> birtles: to some degree can already do that with separate transform property in L2, where we have translate+rotate+scale properties<br>
&lt;fantasai> birtles: Sovles a number of use cases, but doesn't solve all of them<br>
&lt;glazou> q+ to ask about !important in such an addition<br>
&lt;fantasai> birtles: If you wanted independent animations of the same operation, doesn't allow you to add those<br>
&lt;fantasai> birtles: Doesn't help with other things like filters<br>
&lt;fantasai> birtles: Any cases where separate transformatoins are not split out enough in our syntax<br>
&lt;fantasai> birtles: The other way to solve these problems currently is to add another &lt;div> wrapper element. Not very appealing when you have a lot of transforms<br>
&lt;fantasai> birtles: So that's a summary of additive animation<br>
&lt;fantasai> birtles: It's in Web Animations spec atm because the scope of Web Amnimations was to cover all the features of CSS Animations, ? Animations, and SMIL<br>
&lt;fantasai> birtles: And SMIL already has this feature<br>
&lt;fantasai> birtles: My next proposal is a straw man for providing the same functionality in static contexts for regular CSS, not just animations<br>
&lt;fantasai> birtles: Here's an example of combining filters<br>
&lt;fantasai> birtles shows off examples in the issue<br>
&lt;fantasai> birtles: Some potential use cases<br>
&lt;fantasai> birtles: proposal is to add a !add to the end of the declaration<br>
&lt;glazou> q+ to mention variables for the first Part 2 use case 'filter'<br>
&lt;fantasai> birtles: ordering is given by the cascade<br>
&lt;fremy> q+<br>
&lt;dbaron> q+ to talk about !add as only being for list-valued properties<br>
&lt;fantasai> birtles: Not a fully fleshed-out proposal, just a rough idea<br>
&lt;Rossen> a?<br>
&lt;Rossen> q?<br>
&lt;fantasai> birtles: Last question is whether to ship additive animations as specced or wait to line them up with these other features<br>
&lt;Zakim> glazou, you wanted to ask about !important in such an addition and to mention variables for the first Part 2 use case 'filter'<br>
&lt;Myles_> q+<br>
&lt;fantasai> glazou: First, about your use case, about the filter property<br>
&lt;fantasai> glazou: This is easily doable with variables<br>
&lt;fantasai> glazou: Not for an unlimited number of classes or inputs, but if you know the scope of the styles you can get fairly doable with variables<br>
&lt;fantasai> glazou: Using !add would allow some cases<br>
&lt;fantasai> glazou: Next, !important, how does that interact with this?<br>
&lt;fantasai> birtles: !important continues to affect where it appears in the cascade<br>
&lt;fantasai> dbaron: I've wanted to have additive cascade for a long time, just didn't have a good syntax for it<br>
&lt;fantasai> dbaron: Normal cascading order is that you have a set of declarations and the last declaration wins<br>
&lt;fantasai> s/set/sorted set/<br>
&lt;fantasai> dbaron: [describes something I missed]<br>
&lt;Florian> q+<br>
&lt;fantasai> glazou: What would happen to APIs that climbe the cascade and find *the* rule that wins?<br>
&lt;fantasai> birtles: which APIs?<br>
&lt;fantasai> glazou: Inspectors in borwsers<br>
&lt;fantasai> birtles: Any Web-facing APIs?<br>
&lt;dbaron> s/[describes something I missed]/The cascade just produces a sorted list of declarations.  With !add, instead of taking just the highest one for a property, you'd take all of the highest ones down to the highest that doesn't have !add./<br>
&lt;fantasai> s/APIs/APIs affected/<br>
&lt;fantasai> fremy: there's a depreciated API in Chrome<br>
&lt;fantasai> glazou: So browsers internally will have to update something, so OK but be careful<br>
&lt;fantasai> birtles: inspector also shows which ruels were clobbered<br>
&lt;fantasai> fantasai: So you'd have an ordered set of declarations that win, not just one<br>
&lt;glazou> ack glazou<br>
&lt;Rossen> q?<br>
&lt;fantasai> Florian: If you getComputedStyle or some similar thing that give syou the computed value<br>
&lt;fantasai> Florian: when something has been added<br>
&lt;fantasai> Florian: do you return calc()? what do you do?<br>
&lt;fantasai> birtles: Depends on the case<br>
&lt;fantasai> birtles: similar to interpolation<br>
&lt;fantasai> birtles: e.g. adding % and length, get a calc<br>
&lt;fantasai> dbaron: A lot of these are lists, which would append items<br>
&lt;fantasai> astearns: Do you get !add in the computed value?<br>
&lt;fantasai> No<br>
&lt;fantasai> dbaron: There's always a lowest value<br>
&lt;fantasai> astearns: might have !add<br>
&lt;Rossen> q?<br>
&lt;fantasai> dbaron: then there's nothing to add to<br>
&lt;Rossen> ack fremy<br>
&lt;fantasai> fremy: There are two different proposal in this proposal<br>
&lt;fantasai> fremy: There's list-accumulating behavior, which I and Tab have been discussing<br>
&lt;fantasai> fremy: This is reasonable to add to browsers, and solves most of the use cases<br>
&lt;fantasai> fremy: There's another proposal for things like auto + 50px<br>
&lt;fantasai> fremy: That's a different propsoal<br>
&lt;fantasai> fremy: I think thses are two very different proposals<br>
&lt;Florian> q+<br>
&lt;fantasai> dbaron: This is one of the things I wanted to raise as well<br>
&lt;fantasai> fremy: At least in this WG there are ppl working on list things, I thin kit's easier to get there<br>
&lt;fantasai> fremy: trying to transform all properties into this kind of list thing isn't something that we are ready to do yet<br>
&lt;fantasai> astearns: Showing that we might wnat to go there is useful though<br>
&lt;fantasai> birtles: This is implemented in Gecko, Blink, Servo, for more than just these types<br>
&lt;fantasai> birtles: The ability to add different CSS types<br>
&lt;fantasai> TabAtkins: in Web Animations<br>
&lt;fantasai> fremy: I would be curious to see test cases<br>
&lt;fantasai> fremy: Still, should be mentioned they are two different things<br>
&lt;fantasai> fremy: Another thing I dislike !add is that it's mpossible to redefine a value<br>
&lt;fantasai> fremy: e.g. you have filter: blur(val1) ??(val2)<br>
&lt;fantasai> fremy: You can add to the list, but you can't alter preivious values in the list<br>
&lt;astearns> I thought "filter: blur(val) !important;" would override<br>
&lt;fantasai> Florian: You can always wipe out the entire list<br>
&lt;fantasai> astearns, yes it would<br>
&lt;fantasai> TabAtkins: At that point, you should use variables<br>
&lt;fantasai> TabAtkins: variables allow coordinated substitution<br>
&lt;fantasai> TabAtkins: uncoordinated addition is what we have to solve here<br>
&lt;fantasai> fremy: Other concern is that ordering matters, e.g. transform + rotate and roate + transform are not the same<br>
&lt;fantasai> fremy: it's a problem with web animations atm<br>
&lt;fantasai> fremy: We have this problem with ppl making websites where everybody is screaming the highst z-index<br>
&lt;fantasai> birtles: For Web Animations there's no number<br>
&lt;fantasai> fremy: People wnat to control the order, and !add will follow the cascade order<br>
&lt;fantasai> fremy: I think for lists, there are better ways to approach this problem with more control<br>
&lt;fantasai> fremy: plain !add for list is not good enough<br>
&lt;fantasai> fremy: When you are programming, used to being able to modify values and that's something not there, and I think it's really important<br>
&lt;fantasai> astearns: Seems to me that you could fiddle with selector specificity<br>
&lt;fantasai> fremy: specificity isn't always correlated with priority<br>
&lt;fantasai> dbaron: Animations are one of th emore complicated cases<br>
&lt;fantasai> dbaron: There are a bunch of other list-valued properties where you really want to combine<br>
&lt;fantasai> dbaron: E.g. for counter properties, generally would prefer to have declarations combine, ordering doesn't matter<br>
&lt;fantasai> fantasai: Stuff in text decoration also<br>
&lt;fantasai> TabAtkins: a lot of properties are sets, not lists, order doesn't matter<br>
&lt;fantasai> fremy: My proposal would be ot use an array syntax<br>
&lt;fantasai> fremy: And you could put a number as the arg, or a name<br>
&lt;fantasai> fremy writes some declarations<br>
&lt;fantasai> transform: translate(0px, 0px)<br>
&lt;fantasai> transform[zoom]: scale(1.1);<br>
&lt;fantasai> transfomr[rotate]: rotate(180deg)<br>
&lt;fantasai> transform[hover:100]: scale(1.0) translate(0px, 0px);<br>
&lt;fantasai> transition[]: transfomr[hover:100] 0.5s eas-in<br>
&lt;fantasai> birtles: We already have seaparate properties for rotate and zoom in Animations L2<br>
&lt;fantasai> Rossen: So your feedback is there's no way to have selection and authoring of the list after initial decl<br>
&lt;fantasai> Rossen: anything else?<br>
&lt;fantasai> fremy: Also that cascading order is not always the orde ryou want to ocncatenate<br>
&lt;fantasai> fremy: There's also the issue of coordination between frameworks<br>
&lt;fantasai> fremy: If there's no way to coordinate other thandefining / redefining variables, then they can't coordinate<br>
&lt;fantasai> fremy: You can't solve that problem with variables<br>
&lt;Rossen> q?<br>
&lt;fantasai> dbaron: Few comments<br>
&lt;Rossen> ack dbaron<br>
&lt;Zakim> dbaron, you wanted to talk about !add as only being for list-valued properties<br>
&lt;fantasai> dbaron: One is that there are two separate pieces to birtles' proposal<br>
&lt;fantasai> dbaron: I see these as independent<br>
&lt;fantasai> dbaron: I se reasonable to do one and not the other in either way<br>
&lt;fantasai> dbaron: Either one would get us some good benefits<br>
&lt;astearns> I expect that if you're trying to allow more than one framework to compose animations you're going to have a lot of problems<br>
&lt;fantasai> dbaron: But I think they are two independent things<br>
&lt;fantasai> dbaron: When you start having multiple declaration of animations / ?<br>
&lt;fantasai> dbaron: One is about combining declarations, the other about combining animations<br>
&lt;fantasai> dbaron: I think as far as the cascading pieces, bits about combining declarations<br>
&lt;fantasai> dbaron: I think one of the reasons I prefer something simple here is that I think something like !add or something like that<br>
&lt;fantasai> dbaron: It's simple neough, if we can agree on a syntax, it's feasible to implement within existing engines in a reasonable amount of time<br>
&lt;glazou> q+<br>
&lt;fantasai> dbaron: I think fremy's other proposal has a lot more complexity, and I'd be more hesitant to go down that path<br>
&lt;fantasai> fremy: I'm not arguing for names, I'm arguing for numbers<br>
&lt;fantasai> dbaron: There's a bit more complexity there, although a little... I don't know<br>
&lt;fantasai> dbaron:Other comment<br>
&lt;fantasai> dbaron: Like fremy, I saw this as being only for list-valued propeties<br>
&lt;fantasai> dbaron: I see that SMIL has more general mechanisms, and I have mixed feelings for having those in the same system<br>
&lt;fantasai> dbaron: It's pulling in a big part of SMIL to pull into CSS, to do addition of other than comma-separated lists<br>
&lt;fantasai> dbaron: Other small comment is that in that middle example, I would expect animation-composit itself ot be a list-valued property<br>
&lt;fantasai> dbaron: And therefore I would expect that second lne to be animation-composite: add !add;<br>
&lt;fantasai> dbaron: Because I think you want to add youre animation-composite value to the list, not replace the list<br>
&lt;Rossen> ack Myles_<br>
&lt;fantasai> Myles_: I have a couple points<br>
&lt;fantasai> Myles_: One already made iwhich is 2nd piece of proposal can be used in many places<br>
&lt;fantasai> Myles_: We've gotten lots of request for ppl to turn on various font features<br>
&lt;fantasai> Myles_: and this makes that easier<br>
&lt;dbaron> fantasai: font-variant rather than font-feature-settings<br>
&lt;fantasai> Myles_: in WebKit we have an issue with text-decoration<br>
&lt;dbaron> (but it's worse for font-variation-settings!)<br>
&lt;fantasai> Myles_: If parent says text-decoration: underline and child ses text-decoration: strike-through<br>
&lt;fantasai> Myles_: In both of those examples, the addition occurs down the DOM, not across cascade<br>
&lt;fantasai> dbaron: One of the cases we discussed is what happens if you have adds all the way down<br>
&lt;fantasai> dbaron: If you do adds all the way down on an inherited value<br>
&lt;fantasai> dbaron: you add to the base value, which ofr inherited properties is the inherited value<br>
&lt;Rossen> q?<br>
&lt;dbaron> s/inherited value/inherited property/<br>
&lt;dbaron> (the second last one should be substituted)<br>
&lt;fantasai> Myles_: Other comment was on pulling apart a list and inserting stuff in the middle<br>
&lt;fantasai> Myles_: Issue of different teams trying to coordinate, this is difficult for a company<br>
&lt;fantasai> Myles_: we already have two different ways for differnet areas of a document interact<br>
&lt;fantasai> Myles_: The cascade through specificity, and then inheritance through document tree<br>
&lt;fantasai> Myles_: adding yet another way seems complicated, seems better to re-use existing ones<br>
&lt;fantasai> Myles_: Another comment<br>
&lt;fantasai> Myles_: You had na issue of adding values<br>
&lt;fantasai> Myles_: I fyou have line-height: 50px and line-height: normal, how do you add?<br>
&lt;fantasai> birtles: For some we use calc(), but some things can't add and thos efall back to replace<br>
&lt;fantasai> birtles: In our impl, the function that does interpolation is the same as the one that does addition<br>
&lt;fremy> q+ to reply to Myles with new idea<br>
&lt;fantasai> fantasai: On that topic, if we have only the list-valued addition for now<br>
&lt;fantasai> fantasai: That's avoids the problem of forwards-compat for types that we can't add yet<br>
&lt;fantasai> s/add/add (or interpolate)/<br>
&lt;dbaron> Florian: so if you restricted to list-valued properties, then !add would be a syntax error for other properties?<br>
&lt;dbaron> fantasai, dbaron: yes<br>
&lt;fantasai> fantasai^: I think switching from replace to add is a more likely compat problem than switching interpolation from discrete to gradual in the future<br>
&lt;Rossen> q?<br>
&lt;fantasai> birtles: I feel a bit uncomfortable drawing a line between list types and non list types<br>
&lt;fantasai> birtles: in implementation terms there's no distinction<br>
&lt;fantasai> birtles: For an author that you can add translate(200px) to translate(200px) but can't add margins of 200px, seems awkward<br>
&lt;Rossen> q?<br>
&lt;fantasai> birtles: Also ...<br>
&lt;fantasai> Florian: Less likely that people wil use something that gets thrown out and is a syntax error (though still possible they leave it in the stylesheet, less likely)<br>
&lt;fantasai> Florian: than if it has a particular behvaior (replace) and we wnat ot hcange it later to add<br>
&lt;Rossen> ack Florian<br>
&lt;fantasai> Florian: Not an objection, but a concern about the compat path<br>
&lt;fantasai> Florian: This allows things that were impractical<br>
&lt;fantasai> Florian: but also is same as using calc() in some cases<br>
&lt;fantasai> Florian: I'm a bit worried about cases of e.g. Chrome shipping way earlier than other impls and authors relying on it and it being broken in other impls<br>
&lt;fantasai> fantasai: This is an issue with every major feature we add to CSS, can't decide t ojust not add things<br>
&lt;fantasai> glazou: I'm a bit surprised we're using !add<br>
&lt;Rossen> o+:<br>
&lt;fantasai> glazou: Woudl prefer property+:value<br>
&lt;glazou> no<br>
&lt;fantasai> dbaron: would love property += value, but we're not using = :/<br>
&lt;Rossen> q?<br>
&lt;glazou> would prefer +property<br>
&lt;Florian> +prop: value     /    prop+: value<br>
&lt;fantasai> fantasai: +property:value ?<br>
&lt;Rossen> ack glazou<br>
&lt;Rossen> ack fremy<br>
&lt;Zakim> fremy, you wanted to reply to Myles with new idea<br>
&lt;fantasai> fremy: I'm OK to not have ability resort stacking order<br>
&lt;fantasai> fremy: But I want ability to give added values different weights<br>
&lt;fantasai> s/weights/timing rates/<br>
&lt;astearns> property: value +add;<br>
&lt;fantasai> fremy: I want to say that "for this part I just added, I want to transition the addition at a different rate"<br>
&lt;fantasai> Myles_: For font-features that has no relevance, so this feature should be scoped appropriately<br>
&lt;fantasai> birtles: I would liked to get a go/no-go for shipping additive animations<br>
&lt;fantasai> birtles: and also to gague interest with regards to refining the static CSS proposal<br>
&lt;fremy> btw glazou dbaron: my syntax proposal is { transform[]: added-value; }<br>
&lt;dbaron> s/gague/gauge/<br>
&lt;fantasai> fantasai: I have no idea about Web Animations, but the additive cascade is something people have wanted to have for a long tme, and it seems like your proposal has a lot of interest from the people here<br>
&lt;fantasai> fantasai: No idea how long it'll take but there's interest :)<br>
&lt;TabAtkins> fremy: For poking at individual entries of a list, we have the proposal for list-indexed sub-properties...<br>
&lt;fremy> astearns: yes; could be a different feature really, just want to make sure we think about a path forward ;)<br>
&lt;fantasai> birtles: We have same compat questions for the animated version of the proposal, shoudl they block us from shipping additive animations or are they less sever in the case of Web Animations?<br>
&lt;TabAtkins> fremy: Just need to add commas to the transform syntax, to let it become a comma-separated list.<br>
&lt;dbaron> fantasai: Was a suggestion to throw exception for things you can't add.<br>
&lt;dbaron> fantasai: We can't do that in CSS syntax.<br>
&lt;fremy> TabAtkins: yes, could work<br>
&lt;dbaron> birtles: probably worse for compat, since first browser to ship will see unhandled exceptions<br>
&lt;dbaron> fantasai: if we can throw exceptions for use cases and remove later, less concerned about compat<br>
&lt;dbaron> q+<br>
&lt;dbaron> fantasai: if chrome ships auto+100px working, it's because they've figured out how to make that work, and everyone else will want to make that work<br>
&lt;fantasai> dbaron: I guess I mostly disagree with fantasai's comment on exceptions<br>
&lt;fantasai> dbaron: I think the two things are mostly indpenednet, and I don't see a problem with animations stuff moving forward if additive cascade doesn't<br>
&lt;fantasai> birtles: What we have in the spec is a definition of addition for each type, that needs to be written before shipping<br>
&lt;fantasai> birtles: pretty simple though<br>
&lt;dbaron> s/fremy:/fremy,/<br>
&lt;dbaron> s/TabAtkins:/TabAtkins,/<br>
&lt;fantasai> birtles: additive animations implementation<br>
&lt;fantasai> birtles: go forward, assumign test suite / compat etc.<br>
&lt;fantasai> RESOLVED: No concerns wrt shipping Web Animations<br>
&lt;fantasai> fantasai: Do we want to conclude something on additive cascade?<br>
&lt;fantasai> RESOLVED: CSSWG is interested in working on additive cascade proposals.<br>
&lt;dbaron> fantasai: can someone draft an ED?<br>
&lt;dbaron> alan: I think it's premature to put in a spec.<br>
&lt;fremy> ScribeNick: fremy<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1594#issuecomment-319631001 using your GitHub account

Received on Wednesday, 2 August 2017 10:15:58 UTC