@@ -49,6 +49,7 @@ def __init__(
4949 self ._start_animation = 0
5050 self ._canvas : MutableMapping [str , Mobject ] = {}
5151 self ._wait_time_between_slides = 0.0
52+ self ._skip_animations = False
5253
5354 @property
5455 @abstractmethod
@@ -304,6 +305,11 @@ def next_slide(
304305
305306 If `manim` is used, this is also passed to `:meth:`Scene.next_section<manim.scene.scene.Scene.next_section>`,
306307 which will avoid rendering the corresponding animations.
308+
309+ .. seealso::
310+
311+ :meth:`start_skip_animations`
312+ :meth:`stop_skip_animations`
307313 :param loop:
308314 If set, next slide will be looping.
309315 :param auto_next:
@@ -463,6 +469,9 @@ def construct(self):
463469
464470 self ._current_slide += 1
465471
472+ if self ._skip_animations :
473+ base_slide_config .skip_animations = True
474+
466475 self ._base_slide_config = base_slide_config
467476 self ._start_animation = self ._current_animation
468477
@@ -572,6 +581,24 @@ def _save_slides(
572581 f"Slide '{ scene_name } ' configuration written in '{ slide_path .absolute ()} '"
573582 )
574583
584+ def start_skip_animations (self ) -> None :
585+ """
586+ Start skipping animations.
587+
588+ This automatically applies ``skip_animations=True``
589+ to all subsequent calls to :meth:`next_slide`.
590+
591+ This is useful when you want to skip animations from multiple slides in a row,
592+ without having to manually set ``skip_animations=True``.
593+ """
594+ self ._skip_animations = True
595+
596+ def stop_skip_animations (self ) -> None :
597+ """
598+ Stop skipping animations.
599+ """
600+ self ._skip_animations = False
601+
575602 def wipe (
576603 self ,
577604 * args : Any ,
0 commit comments