On Tue, Jul 16, 2024 at 12:23 AM David Baron <dba...@chromium.org> wrote:

> Contact emailsdba...@chromium.org
>
> Explainer
> https://github.com/w3c/csswg-drafts/blob/main/css-values-5/calc-size-explainer.md
>
> Specificationhttps://drafts.csswg.org/css-values-5/#calc-size
>
> Summary
>
> The CSS interpolate-size property allows a page to opt in to animations
> and transitions of CSS intrinsic sizing keywords such as auto, min-content,
> fit-content, etc., in the cases where we can animate those keywords. The
> CSS calc-size() function is a CSS function similar to calc(), but that also
> supports operations on exactly one of the values auto, min-content,
> max-content, fit-content, stretch, or contain. This function is used to
> represent the values in the middle of the animations allowed by the
> interpolate-size property.
>
>
> Blink componentBlink>Layout
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ELayout>
>
> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/955
>
> TAG review statusIssues open.
>
> I think there were two substantive issues that came out of the TAG
> review, one of which is addressed and one of which we disagree with and is
> not addressed.
>
> One issue was that the use of the calc-size() function as the recommended
> opt-in mechanism for animation of sizing keywords was not ideal.  This is
> because of behavior in browsers that don't yet support the feature.
> Changing the way that the endpoints of the animation are specified breaks
> not only the animation but also the static behavior before or after the
> animation, unless authors are careful to use additional fallback
> declarations with supported values.  This was addressed with the somewhat
> late-breaking addition of a separate opt-in, the interpolate-size property,
> which was already being discussed for other reasons.  This will be the
> recommended way to opt in to animation of keywords.  Some (but probably not
> all) documentation has been updated to reflect this change.  The
> calc-size() syntax is kept for three reasons: first, that developers have
> found other useful ways to use it that aren't about animations; second
> (related to the first) that the extensible web manifesto argues that we
> should bias towards exposing internal mechanisms unless there's a good
> reason not to; and third, that it would be difficult architecturally to
> support CSS animations where the computed value in the middle can't be
> represented in CSS syntax.
>
> The second issue, where we disagree (see the discussion in the TAG review)
> is that the TAG thinks that this syntax should be part of the calc()
> function (with complex limitations on when the sizing keywords can be used)
> rather than a separate calc-size() function that more clearly presents
> those limitations.
>
> Risks
>
>
> Interoperability and Compatibility
>
> No concrete risks. There may be some risk due to the amount of discussion
> that the feature has had so far, though it has been discussed multiple
> times in the CSS Working Group, and has had a TAG review. I haven't yet
> heard back on the standards-positions requests from other vendors, though
> they've been on file for a few months.
>
>
> *Gecko*: No signal (
> https://github.com/mozilla/standards-positions/issues/1022)
>
> *WebKit*: No signal (
> https://github.com/WebKit/standards-positions/issues/348)
>
> *Web developers*: Positive Animation to/from auto height is a very
> commonly requested feature by developers. See citations and comments in
> https://github.com/w3c/csswg-drafts/issues/626,
> https://issues.chromium.org/40339056, and
> https://bugzilla.mozilla.org/show_bug.cgi?id=571344.
>
> Also see the following excitement about the feature since prototyping has
> started (also see boosts and responses):
> https://twitter.com/yisibl/status/1791452140663345300
> https://twitter.com/Una/status/1791531167558090920
> https://front-end.social/@chriscoyier/112575832546969221
> https://www.youtube.com/watch?v=1VsMKz4Zweg
> https://front-end.social/@kizu/112537660977381136
> https://blog.kizu.dev/weekly-bookmarks-010/
>
> *Other signals*:
>
> WebView application risks
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
>
> None
>
>
> Debuggability
>
> Expected to be similar to existing CSS calc() function.
>
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?Yes
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?Yes
>
> https://wpt.fyi/results/css/css-values/calc-size
>
>
> Flag name on chrome://flagsNone
>
> Finch feature namekCSSCalcSizeFunction
>
> Requires code in //chrome?False
>
> Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=313072
>
> Estimated milestones
> Shipping on desktop 128
> DevTrial on desktop 123
> Shipping on Android 128
> DevTrial on Android 123
> Shipping on WebView 128
>    Note that the 128 estimate is moderately ambitious, and slipping to 129
> may be needed.
>
> Anticipated spec changes
>
> Open questions about a feature may be a source of future web compat or
> interop issues. Please list open issues (e.g. links to known github issues
> in the project for the feature specification) whose resolution may
> introduce web compat/interop risk (e.g., changing to naming or structure of
> the API in a non-backward-compatible way).
> I still need to land the spec changes formally defining which properties
> this works on (i.e., the one line change to the value definition of the
> relevant properties linking to the substantive spec).  I hope to do this in
> the next week or two.
>

Any updates on this anticipated spec change to share?


>
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/5196713071738880?gate=5074705734434816
>
> Links to previous Intent discussionsIntent to prototype:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAG0MU3hBtXebfpW3JSoO-RF43aCCsNK-vZ0uvqoVaBoJbfAT6g%40mail.gmail.com
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com/>.
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAG0MU3jD2mFCzFTJ560acs%3DzFQZEDc8%3Dpos%2B%3DUVZitJ27vfFmg%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAG0MU3jD2mFCzFTJ560acs%3DzFQZEDc8%3Dpos%2B%3DUVZitJ27vfFmg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_z68Y-nW-c9wcD70jTy9bv49j-Q_jYCyro8Ye-6AJMLw%40mail.gmail.com.

Reply via email to