Description
Terms
- Checked the existing issues and discussions to see if my issue had not already been reported;
- Checked the [frequently asked questions]](https://manim-slides.eertmans.be/latest/faq.html);
- Read the installation instructions;
- Created a virtual environment in which I can reproduce my bug;
Describe the issue
When I set the next-terminates-loop
-flag in order to let looping animations run their course smoothly before switching slides, the result is quite choppy. To be clear, it seems like it's (at least almost) doing the correct thing, but it stops the animation for a split second when the next-button is pressed (and sometimes it almost seems like it 'skips backward' a bit before playing the rest of the animation?). I'm guessing this could be a result of the animation being interrupted and then replayed for the final time from where it was first interrupted?
This may be a bit of a nitpick, but given that the idea behind the flag is to let loops finish smoothly, I think it could be important enough to open an issue on it.
Everything else (including skipping from loops to new slides without the flag) is being very responsive on my laptop, so I would be a bit surprised if it were a performance issue.
Command
manim-slides present Test
Issue Type
Visual bug when presenting (manim-slides present
)
Python version
Python 3.11.11
Python environment
Manim Slides version: 5.1.10
Python executable: /Users/madserlendlyso/opt/miniconda3/envs/presentation/bin/python3.11
Manim bindings:
manim (version: 0.18.1)
manimgl not found
Qt API: pyside6 (version: 6.8.1)
What is your platform?
macOS
Other platform
No response
Manim Slides Python code
from manim import *
from manim_slides import Slide
class Test(Slide):
def construct(self):
self.play(Wait(1))
self.next_slide(loop=True, auto_next=True)
c = Circle()
self.play(GrowFromCenter(c))
self.play(Wait(1))
self.play(ShrinkToCenter(c))
self.next_slide()
self.play(Wait(1))
Relevant log output
No response
Screenshots
No response
Additional information
No response
Recommended fix or suggestions
Sadly I have no concrete idea of how to fix this, but I suppose that if the issue is in fact that the animation itself gets interrupted and stitched together with the "remaining animation", maybe it could be possible to alter this behavior when the flag is set, for instance checking and potentially interrupting only when a looping animation has finished playing?