diff --git a/manimlib/extract_scene.py b/manimlib/extract_scene.py index 0cf78363..ed486152 100644 --- a/manimlib/extract_scene.py +++ b/manimlib/extract_scene.py @@ -64,6 +64,8 @@ def is_child_scene(obj, module): return False if obj == Scene: return False + if not obj.__module__.startswith(module.__name__): + return False return True @@ -118,13 +120,16 @@ def get_scenes_to_render(scene_classes, config): def get_scene_classes_from_module(module): - return [ - member[1] - for member in inspect.getmembers( - module, - lambda x: is_child_scene(x, module) - ) - ] + if hasattr(module, "SCENES_IN_ORDER"): + return module.SCENES_IN_ORDER + else: + return [ + member[1] + for member in inspect.getmembers( + module, + lambda x: is_child_scene(x, module) + ) + ] def main(config):