Re: [csswg-drafts] [css-values-4] Validity of generic interpolation function mix() (#6700)

The CSS Working Group just discussed `[css-values-4] Validity of generic interpolation function mix()`, and agreed to the following:

* `RESOLVED: The mix interpolation function will only be used for top-level values with various discussed caveats. mix is the name of the top level interpolation`

<details><summary>The full IRC log of that discussion</summary>
&lt;dael> Topic: [css-values-4] Validity of generic interpolation function mix()<br>
&lt;dael> github: https://github.com/w3c/csswg-drafts/issues/6700<br>
&lt;dael> TabAtkins: Making sure we agree what generic interpolation does and if it's valid<br>
&lt;dael> astearns: Only concern is last comment asked for fantasai to clarify<br>
&lt;dael> TabAtkins: True. But not relivent for this, I think.<br>
&lt;dael> TabAtkins: We have a couple of mixing functions lick color-mix and calc. These functions have a type. Color-mix is a color, valid whereever a color is. But generic interpolation function, currently called mix, I don't believe can be same<br>
&lt;dael> TabAtkins: It can interp things without describable types. Interp of a box shadow is only valid in box shadow.<br>
&lt;dael> TabAtkins: Prop is mix is only allowed as top-level value of a property. That's all it would be produced as by UA, but if authors use it they could not combine with other things. Can't mix 2 box shadows and then add inset.<br>
&lt;smfr> q+<br>
&lt;dael> TabAtkins: I believe that's all this is about, verifying that's what we want for the grammar of this function<br>
&lt;dael> TabAtkins: If no one disagrees we can resolve<br>
&lt;astearns> ack smfr<br>
&lt;dael> smfr: Questions- if you have prop with comma sep values like backgrounds, can you use mix in the list or is the whole list a mix?<br>
&lt;dael> TabAtkins: Great question. Hmm.<br>
&lt;dael> TabAtkins: I think still the entire thing. Even in lists of comma sep we can have distinct syntaxes at a position like bg where only color in the last. We couldn't interp a mix with a color unless it's final. So would have to be the entire thing<br>
&lt;dael> smfr: High level, how does this interact with animations? Can I use it in keyframes?<br>
&lt;dael> TabAtkins: SHould be usable anywhere that accepts a value. Value is generatable by an animation so it should be a valid value. You can interp to this. Things you can do by hand should allow explicitly.<br>
&lt;dael> smfr: keyframe? only animatable properties?<br>
&lt;dael> TabAtkins: Yes, if prop wasn't animatable then mix wouldn't have a meaning. Great question and not in spec. I suspect should be properties that are not animatable mix isinvaid at parse time.<br>
&lt;dael> smfr: If you can spec in keyframes implies mix can nest<br>
&lt;dael> TabAtkins: because you can mix between and mixed value and something?<br>
&lt;dael> smfr: Yeah<br>
&lt;dael> TabAtkins: True. Good clarification. mix should be able to be an entire argument of the mix. You should be able to mix mixes<br>
&lt;dael> smfr: Shorthands vs longhands when mix is the enitre value?<br>
&lt;dael> TabAtkins: We had an answer. I believe it needs to be similar to variable in shorthands, but don't recall exactly. Whatever it was, we can't rely syntaxtically that something is a shorthand so whatever we define has to work well for shorthands.<br>
&lt;dael> TabAtkins: Mix should be allowed in a shorthand. Exact interp I can't answer but should be as reasonable as can make it<br>
&lt;dael> smfr: SOunds good<br>
&lt;dael> astearns: Looking for resolution to define mix as only top level<br>
&lt;dael> astearns: Issue also talks about adding another lower level value. punt that for now?<br>
&lt;dael> TabAtkins: Yeah, it's separate<br>
&lt;dael> astearns: But if we expect lower question is which gets the shorter name<br>
&lt;dael> TabAtkins: My arguement is the existing lower-level have longer names like color-mix. Completely usuable anywhere should get the shortest name. no way to be generic low-level because we need to know type to parse. Interp at the value level will be type specific. mix should have short names and others longer and more specific<br>
&lt;dael> astearns: Other questions or ideas?<br>
&lt;dael> astearns: Prop: The mix interpolation function will only be used for top-level values with various discussed caveats<br>
&lt;dael> TabAtkins: Sound also resolve on name<br>
&lt;dael> astearns: And mix is the name of the top level interpolation<br>
&lt;dael> astearns: Objections<br>
&lt;dael> RESOLVED: The mix interpolation function will only be used for top-level values with various discussed caveats. mix is the name of the top level interpolation<br>
&lt;dael> astearns: Since this issue discusses lower level, is that captured elsewhere or should we open another issue<br>
&lt;dael> TabAtkins: One talked about is numeric and that does have an issue for it<br>
&lt;dael> astearns: I'll see if I can find it and link it<br>
</details>


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


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 6 January 2022 00:31:16 UTC