Comments (2)
Falling back to discrete makes sense to me. The spec text for this should likely go either in CSS Values under ยง 3. Combining Values where we define interpolation including handling out-of-range values, or in Web Animations under ยง 5.2 Animating Properties where we define discrete animation and how to choose a particular animation type.
Edit: Might it even be as simple as extending this sentence: "If the number of components or the types of corresponding components do not match, or if any component value uses discrete animation and the two corresponding values do not match, then the property values combine as discrete." ?
from csswg-drafts.
The CSS Working Group just discussed [css-animations] Handling values where endpoints are valid, but midpoints are IACVT
, and agreed to the following:
RESOLVED: if the interpolation endpoints are validly interpolable but the intermediate points are IACVT then we treat the entire interpolation as discrete
The full IRC log of that discussion
<jarhar> TabAtkins: while specifying calc size, i realized in order to get it to work right i had to do some thing sthat make calc size vulnerable to ?<jarhar> TabAtkins: i put in saying protection fo rhtat, if your calc size expands to a megabyte thats your problem and invalidate the thing. that does mean that you could have a valid calc size before and after interpolation, but makes it invalid during computed value time. only place where property can become invalid mid interpolation
<jarhar> TabAtkins: i dont know if this will happen again, but we need some definition for what it means for interpolation where intermediate values are ?
<jarhar> TabAtkins: after discussing with dbaron, the most obvious answer is that if that happens then the transition falls back to discrete
<jarhar> TabAtkins: assumes that ? applies to all values, not one particular value or point, thats the case right now, substituion will happen for the entire interpolation. if it comes to the case for an inteprolation later thats invalid, we will think about it then and push that to future us
<ydaniv> q+
<jarhar> TabAtkins: for now, the only case that matters is its invalid for the entire thing
<jarhar> TabAtkins: i suggest that we resolve that in this case the property interpolation reverts to discrete
<astearns> ack dbaron
<jarhar> dbaron: when you say it falls back to discrete, is there any disttinction of that wording vs you cant interpolate?
<jarhar> TabAtkins: yes because we do have a distinction between discrete and not transition
<jarhar> dbaron: discrete transition means what happens when you cant interpolation
<jarhar> TabAtkins: we have smoe values that cant be interpolated, they dont interact with interpolatin system. distinct from not being able to ? a pair
<jarhar> dbaron: i would have used the term "ability to animate" and "ability to interpolate" in the second case
<jarhar> TabAtkins: not sure if im using right spec terms
<jarhar> dbaron: me neither
<jarhar> dbaron: i would have described this as ? interpolate between the values. we are using different words for the same thing
<astearns> ack ydaniv
<jarhar> ydaniv: would it be possible to just drop the ? where its not possible to get a value and just keep the rest possible value until you pass that point?
<jarhar> TabAtkins: the situation that ? out of here is that the entire interpolation
<jarhar> TabAtkins: all points after the start ? be the same and trigger the errror case, ?? stick with until we ??
<jarhar> TabAtkins: if the interpolatin endpoints are validly interpolable but the intermediate points are ? then we treat the entire interpolation as discrete
<jarhar> astearns: you said all intermediate values
<jarhar> TabAtkins: we dont have a case where it can be ? righ tnow
<jarhar> TabAtkins: only some intermediate values invalid
<astearns> s/?/IACVT/
<jarhar> astearns: should be invalid at computed value time
<jarhar> astearns: any objections to this proposed resolution?
<astearns> proposed resolution: if the interpolatin endpoints are validly interpolable but the intermediate points are IACVT then we treat the entire interpolation as discrete
<jarhar> fserb: is there a reason why we dont like the wording on the issue itself? i think someone which is a - what you said is a little bit more than whats said there. you're talking about values, and its talking about whats the cause of the values to not be combinable
<jarhar> TabAtkins: i dont see where im saying different
<jarhar> fserb: when youre saying when the result of the combination is invalid, ? which would mean that the combination is invalid
<jarhar> TabAtkins: thats not what im saying
<jarhar> TabAtkins: if youre looking at ?'s comment, hes talking about a part of the spec we would add to, thats a different thing, ? discrete fallback
<jarhar> astearns: we are resolved
<TabAtkins> s/?'s comment/birtle's comment/
<astearns> RESOLVED: if the interpolation endpoints are validly interpolable but the intermediate points are IACVT then we treat the entire interpolation as discrete
<dbaron> s/birtle's comment/birtles's comment/
from csswg-drafts.
Related Issues (20)
- [CSS3PAGE]/[CSS-BREAK-3]: Specification is missing definition for constraining page content to sub section of page
- [css-color][css-values] Should calc(NaN) and calc(infinity) be serialized as part of the CSS colors HOT 1
- [css-anchor-position] position-visibility initial value should be `always`, not `anchors-visible` ? HOT 2
- [css-color] Should specify that `opacity` is serialized as a number for the specified values HOT 1
- [css-animations-2] Delaying animations based on other animations HOT 3
- [css-cascade] @scope as a nested grouping rule and CSSNestingDeclarations HOT 4
- [css-color-4] Clarify how to normalize `<hue>`
- [css-containment] Reorganizaing the Containment specs HOT 5
- [view-transitions-2] Allow styling based on navigation/transition state HOT 6
- [css-overflow-4] When does the blockification of -webkit-box occur? HOT 3
- [css-content] what does 'quotes: auto' do?
- [css-values] attr()'s type system is inconsistent with other things
- [css-display] Consider visual-order as an alias of order
- [css-overflow-4] How do `-webkit-line-clamp` and `line-clamp` interact when both are specified?
- Styling form control pickers
- [css-values] Add `valid-empty`-like value (for CSS Custom Properties) HOT 15
- Feature Request: Collapsing Gaps for Grid Columns with auto or minmax(auto, 1fr) HOT 1
- [css-cascade][css-syntax] New `!revertable` flag to mark a declaration as "can be reverted when IACVT" HOT 7
- [css-viewport] Move Visual Viewport (and more) from cssom-view to css-viewport
- [css-masking] Inverse clip-path HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from csswg-drafts.