A ✨first look✨ at `snapChanged` in Chrome Canary

```js
document.addEventListener('snapchanged', e => {
console.log('changed', e.snapTargets)
})
```

get notified when a snap scroller has changed the snap item, and access the node with `event.snapTargets` 🤓

Snap 2 CSS spec draft https://drafts.csswg.org/css-scroll-snap-2/#snap-events

CSS Scroll Snap Module Level 2

@argyleink Any word on the ability to configure snap curves/stop-points/strength/springback? Or the ability to use mouse for drag in scroll snap regions?

@slightlyoff Flacker has ideas for snap inertia's but not for mouse drag. i personally find mouse flinging coarse and clumsy, but it is a common feature of sliders or carousels, so could/should eventually make it's way in. maybe that'd be a good touch-action value?

also, hi Alex, hope you're well 🙂

@argyleink Yeah, it's bewildering that we don't have a touch-action value for it yet; forced folks to do a lot of extra work.

On snap spring/values, why isn't any of this hooked up to animation worklets yet? Every year I lose more hope.

@slightlyoff afaik, animation worklets are on ice, and waapi is seeking to resume parts where it left off

def pour one out for Houdini… may they rise again one day

@argyleink This seems like a mistake? We're unable to meanginfully do scroll-based animations with trigger points, and the scroll timeline stuff isn't hooked up to script in a compelling way from *any* API...and WAAPI won't provide an off-thread way to handle any of that.

Is this a cluster, or am I missing something?

@slightlyoff @argyleink The current thinking on scroll triggered animations is that they'll be started at some trigger point on a timeline, see https://github.com/w3c/csswg-drafts/issues/8942 for a strawman proposal / polyfill. If you make a scroll driven animation with a scroll driven trigger I think this will do what you want declaratively.
[css-animations-2] Add animation-trigger for triggering animations when an element is in a timeline's range · Issue #8942 · w3c/csswg-drafts

Entry animations are pretty common on the web. Currently in order to trigger time-based animations when an element enters the viewport we have to use IntersectionObserver. The problems with this: r...

GitHub

Blink has PaintWorklets which allow painting customization off-thread in a principled way since 2018. We've yet to see implementation by other engines https://caniuse.com/?search=PaintWorklet or significant use by developers: https://chromestatus.com/metrics/feature/timeline/popularity/2385

Animation worklets are even less clear how we would make them ergonomic, useful, fast. We're thinking through some of the ways we could get there but these are independently useful features - like SDA - which we have seen interest from gecko and webkit on.

"PaintWorklet" | Can I use... Support tables for HTML5, CSS3, etc