diff --git a/manimlib/config.py b/manimlib/config.py index 1f8e54f2..e2538777 100644 --- a/manimlib/config.py +++ b/manimlib/config.py @@ -491,4 +491,5 @@ def get_configuration(args: Namespace) -> dict: "presenter_mode": args.presenter_mode, "leave_progress_bars": args.leave_progress_bars, "show_animation_progress": args.show_animation_progress, + "embed_exception_mode": custom_config["embed_exception_mode"], } diff --git a/manimlib/default_config.yml b/manimlib/default_config.yml index 65001983..50023006 100644 --- a/manimlib/default_config.yml +++ b/manimlib/default_config.yml @@ -42,3 +42,4 @@ camera_resolutions: 4k: "3840x2160" default_resolution: "high" fps: 30 +embed_exception_mode: "Verbose" diff --git a/manimlib/scene/scene.py b/manimlib/scene/scene.py index 3be11916..398fd164 100644 --- a/manimlib/scene/scene.py +++ b/manimlib/scene/scene.py @@ -74,6 +74,7 @@ class Scene(object): preview: bool = True, presenter_mode: bool = False, show_animation_progress: bool = False, + embed_exception_mode = "", ): self.skip_animations = skip_animations self.always_update_mobjects = always_update_mobjects @@ -83,6 +84,7 @@ class Scene(object): self.preview = preview self.presenter_mode = presenter_mode self.show_animation_progress = show_animation_progress + self.embed_exception_mode = embed_exception_mode self.camera_config = {**self.default_camera_config, **camera_config} self.window_config = {**self.default_window_config, **window_config} @@ -249,6 +251,8 @@ class Scene(object): shell.events.register("post_run_cell", post_cell_func) + shell.magic(f"xmode {self.embed_exception_mode}") + # Launch shell shell( local_ns=local_ns,