Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
A manim plugin providing the function play_timeline to play sequences of independent animations in parallel
This plugin provides the function play_timeline()
which allows for launching several animations, at different instants, each one with a different duration, so that there can be several ones playing in parallel and finishing at different moments.
The interface is simple. You provide a dictionary whose keys are the timestamps at which each animations should start, and the values are the animations to play at those timestamps. It is possible to pass a list of animations for any given timestant, and in that case all those animations will start at once. The timestamps are relative to the time in which the whole timeline starts.
You can find a demo.py
in this folder, which runs a timeline in which:
This is the code:
class Test(Scene):
"""Example showing how to use play_timeline."""
def construct(self):
n = NumberLine(include_numbers=True, x_range=[0,12]).to_edge(DOWN)
self.add(n)
progress_bar = Line(n.n2p(0), n.n2p(12)).set_stroke(color=YELLOW, opacity=0.5, width=20)
# Create a timeline of animations. One of the animations is the progress bar itself
# going from 0 to 12 in 12 seconds. It can be used as a reference to check that
# the other animations are playing at the right time.
timeline = {
0: Create(progress_bar, run_time=12, rate_func=linear),
1: Create(Square(), run_time=10),
2: [Create(Circle(), run_time=4),
Create(Triangle(), run_time=2)],
9: Write(Text("It works!").next_to(progress_bar, UP, buff=1),
run_time=3)
}
play_timeline(self, timeline)
self.wait()
And this is the result:
FAQs
A manim plugin providing the function play_timeline to play sequences of independent animations in parallel
We found that manim-play-timeline demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.