Skip to content

manim: add abstraction for "async scheduled animation group" #17

@melodysium

Description

@melodysium

Problem

Currently manim supports grouping animations in parallel or in sequence. There are some tools for tweaking these to have some extra offsets between animations, and a Wait animation, but I'm not familiar with anything which could orchestrate multiple scheduled animations.

Example scenario

  • Animation 1 from timestamp 0 to 2
  • Animation 2 from timestamp 1 to 4
  • Animation 3 from timestamp 3 to 4

If I want to display these, I would need to manually construct a combination of AnimationGroup, Succession, and Wait to have these all occur at their desired timespans.

Solution

This will be a common need in harmonimation, so I should write my own abstraction for doing this. Options:

  1. Pass in such a list, and dynamically create an AnimationGroup / Succession / Wait combo to satisfy the constraints
  2. Pass in such a list, and implement a custom Animation with an interpolate() method that just calls interpolate() on sub-animations during appropriate time ranges

Contributing to manim

I'd like to contribute a draft implementation of this and see what the manim folks think. Probably a discussion post in the community discord first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    scope: manimrelevant to animations with manimtype: maintenancechores, project infrastructure, etc

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions