Skip to content

[web-animations-2] Make TimelineTrigger interface support multiple timelines #13175

@DavMila

Description

@DavMila

A bit of background due to the out-of-date AnimationTrigger spec: since the AnimationTrigger interface was initially written, we've resolved to have separate CSS property namespaces for different types of animation triggers, i.e. event-trigger, timeline-trigger. Accordingly, the web-animations spec will be updated to have different interfaces, i.e. EventTrigger, TimelineTrigger. TimelineTrigger will likely resemble/replace the current AnimationTrigger interface (which was initially conceived for just timelines).

One of the future extensions to the timeline-trigger property will be support for multiple timelines. This will be important for use cases such as pointer timelines whose use cases are likely to hinge on 2-D pointer intersections, e.g. an author can declare a trigger range as follows: timeline-trigger: --pointer-trigger pointer(x) pointer(y) where pointer(x) and pointer(y) declare pointer-timelines.

Given this, I propose the TimelineTrigger interface (currently in the outdated spec as AnimationTrigger) have its members as lists rather than single items, i.e. the following:

interface TimelineTrigger {
   attribute sequence<AnimationTimeline> timelineList;
   attribute sequence<any> rangeStartList;
   attribute sequence<any> rangeEndList;
   attribute sequence<any> exitRangeStartList;
   attribute sequence<any> exitRangeEndList;
}

cc/ @ydaniv @tabatkins @flackr

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions