LGTM2

On 12/11/25 1:32 a.m., Yoav Weiss (@Shopify) wrote:
LGTM1

On Wednesday, December 10, 2025 at 8:02:23 PM UTC+1 Bramus Van Damme wrote:

    On Wednesday, December 10, 2025 at 5:09:57 PM UTC+1 Rick Byers wrote:

        Hey David,
        This seems fairly straightforward to me, but I imagine there's
        probably some developer signals here, right? Somebody who has
        said why they want this?


    Hi, it’s me! :)

    This is needed when applying scroll-triggered animations that use
    selectors which match multiple elements. Without trigger-scope,
    the last element that declares the trigger would “win”, thereby
    breaking all other matched element that use the same name for its
    trigger. With trigger-scope, the name can be contained to a
    specific subtree, allowing name reuse.

    See
    https://codepen.io/bramus/pen/dPMVoYR/2e5fd8b6a35cc77cfb8faf0f16caf1e3
    <https://codepen.io/bramus/pen/dPMVoYR/2e5fd8b6a35cc77cfb8faf0f16caf1e3>
    (Canary with flags) for an example: each image animates
    individually, each with their own trigger-timeline named --t.
    Without timeline-trigger scope, all images would animate using the
    timeline-trigger of the very last element – which is not what you
    want.

    tl;dr Without trigger-scope, it would be near impossible for
    authors to properly implement scroll-triggered animations.


I'm hearing similar arguments from devs inside of Shopify.


        Thanks,
           Rick

        On Tue, Dec 9, 2025 at 4:40 PM David Awogbemila
        <[email protected]> wrote:

            *Contact emails*
            [email protected]



            *Explainer*
            
https://github.com/explainers-by-googlers/scroll-triggered-animations/blob/main/TRIGGER_SCOPE.md
            
<https://github.com/explainers-by-googlers/scroll-triggered-animations/blob/main/TRIGGER_SCOPE.md>

            *Specification*
            https://drafts.csswg.org/css-animations-2/#trigger-scope
            <https://drafts.csswg.org/css-animations-2/#trigger-scope>

            *Summary*
            trigger-scope gives authors the ability to limit the names
            of animation triggers declared by trigger-instantiating
            properties. Trigger-Instantiating properties, such as
            timeline-trigger, declare names which can be referenced by
            the animation-trigger property in order to attach
            animations to triggers. However, these names are global by
            default (similar to anchor-name) and it is often useful
            for author to limit the visibility of the names so as to
            isolate animation-to-trigger interactions.

            *Blink component*
            Blink>Animation
            
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EAnimation%22>

            *Web Feature ID*
            Missing feature

            *Motivation*
            Similar to anchor-scope[1], trigger-instantiating
            properties need a mechanism for limiting the visibility of
            the names declared by the trigger-instantiating property.
            [1]
            https://drafts.csswg.org/css-anchor-position-1/#anchor-scope
            <https://drafts.csswg.org/css-anchor-position-1/#anchor-scope>

            *Initial public proposal*
            /No information provided/

            *TAG review*
            https://github.com/w3ctag/design-reviews/issues/1175
            <https://github.com/w3ctag/design-reviews/issues/1175>

            *TAG review status*
            Pending

            *Risks*


            *Interoperability and Compatibility*
            /No information provided/

            /Gecko/: No
            signal (https://github.com/mozilla/standards-positions/issues/1327
            <https://github.com/mozilla/standards-positions/issues/1327>)

            /WebKit/: No
            signal (https://github.com/WebKit/standards-positions/issues/589
            <https://github.com/WebKit/standards-positions/issues/589>)

            /Web developers/: No signals

            /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?

            /No information provided/


            *Debuggability*
            /No information provided/

            *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/?label=master&label=experimental&aligned&q=trigger-scope
            
<https://wpt.fyi/results/?label=master&label=experimental&aligned&q=trigger-scope>
 (As
            of this writing, only the parsing tests are present on the
            dashboard but functional tests[1] are quickly following)
            [1] https://github.com/web-platform-tests/wpt/pull/56601
            <https://github.com/web-platform-tests/wpt/pull/56601>

            *Flag name on about://flags*
            /No information provided/

            *Finch feature name*
            /No information provided/

            *Non-finch justification*
            /No information provided/

            *Rollout plan*
            Will ship enabled for all users

            *Requires code in //chrome?*
            False

            *Tracking bug*
            https://crbug.com/466134208

            *Estimated milestones*
            Shipping on desktop145Shipping on Android145Shipping on
            WebView145

            *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).

            /No information provided/

            *Link to entry on the Chrome Platform Status*
            
https://chromestatus.com/feature/5152759609425920?gate=5794840308744192
            
<https://chromestatus.com/feature/5152759609425920?gate=5794840308744192>

            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 [email protected].


            To view this discussion visit
            
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA6pwF59XSB2N2b1bx-26%2BJX2Feunn7Zv7s2aUvD6AkjqfTjmg%40mail.gmail.com
            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA6pwF59XSB2N2b1bx-26%2BJX2Feunn7Zv7s2aUvD6AkjqfTjmg%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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/452419c1-8b6c-4677-abe0-387ef9991a09n%40chromium.org <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/452419c1-8b6c-4677-abe0-387ef9991a09n%40chromium.org?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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/fc3a35c0-f7c0-4f4b-b3c8-517ec5d3c8c8%40chromium.org.

Reply via email to