- From: James Winston via GitHub <sysbot+gh@w3.org>
- Date: Fri, 23 Jun 2023 18:54:05 +0000
- To: public-design-tokens-log@w3.org
I think in addition to the above comments, there may be room for a `timeline` node here to help with more of those complex situations. A one-time four-point curve with an assumed 0% -> 100% gets the job done in most cases with simple code: ***CSS*** ``` /* some class*/ animation-timing-function: cubic-bezier(0.2, -2, 0.8, 2) /*some keyframe*/ from { /* start values */ } to { /* end values */ } ``` But, great motion designers are creating with varied easing per keyframe in their animations. So with operability/alignment in mind and to perfectly replicate motion coming from After Effects or ProtoPie (or any tool), we'd need a way to declare a more complex time/style/value data like this: ***CSS*** ``` 25% { animation-timing-function: ease-in; } 50% { animation-timing-function: linear; } 75% { animation-timing-function: ease-out; } ``` ***Keyframes node?*** ``` { "transition": { "emphasis": { "$type": "transition", "$value": { "duration": "200ms", "delay": "0ms", "timeline": [ { keyframe: "25%", easing: [0,0,1,1], }, { keyframe: "50%", easing: "linear", } { keyframe: "71%", easing: ${someCurveReference}, } ] } } } } ``` Have a simple A to B move? That's just a 2 length `timeline` array. For me, thinking in frames and timeline percentage with regard to tokens makes sense and leaves everything a little open. It vaguely feels familiar due to how gradients work and has the added benefit of sounding like how you might chat about a motion move: _"Like a quarter of the way through the timeline, maybe add a keyframe and make the element jump up slightly before it eases back into its last spot."_ -- GitHub Notification of comment by jameswinstondd Please view or discuss this issue at https://github.com/design-tokens/community-group/issues/103#issuecomment-1604721087 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Friday, 23 June 2023 18:54:11 UTC