diff --git a/manimlib/camera/camera.py b/manimlib/camera/camera.py index c433dbdc..94b09b37 100644 --- a/manimlib/camera/camera.py +++ b/manimlib/camera/camera.py @@ -12,7 +12,6 @@ from colour import Color from manimlib.constants import * from manimlib.mobject.mobject import Mobject from manimlib.mobject.mobject import Point -from manimlib.shader_wrapper import ShaderWrapper from manimlib.utils.config_ops import digest_config from manimlib.utils.simple_functions import fdiv from manimlib.utils.simple_functions import clip @@ -22,6 +21,10 @@ from manimlib.utils.space_ops import rotation_matrix_transpose from manimlib.utils.space_ops import quaternion_from_angle_axis from manimlib.utils.space_ops import quaternion_mult +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from manimlib.shader_wrapper import ShaderWrapper + class CameraFrame(Mobject): CONFIG = { diff --git a/manimlib/mobject/types/surface.py b/manimlib/mobject/types/surface.py index a8b4fd5c..01eb912f 100644 --- a/manimlib/mobject/types/surface.py +++ b/manimlib/mobject/types/surface.py @@ -7,7 +7,6 @@ import numpy as np import numpy.typing as npt from manimlib.constants import * -from manimlib.camera.camera import Camera from manimlib.mobject.mobject import Mobject from manimlib.utils.bezier import integer_interpolate from manimlib.utils.bezier import interpolate @@ -15,6 +14,10 @@ from manimlib.utils.images import get_full_raster_image_path from manimlib.utils.iterables import listify from manimlib.utils.space_ops import normalize_along_axis +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from manimlib.camera.camera import Camera + class Surface(Mobject): CONFIG = { diff --git a/manimlib/utils/debug.py b/manimlib/utils/debug.py index be3e9527..308d4906 100644 --- a/manimlib/utils/debug.py +++ b/manimlib/utils/debug.py @@ -5,11 +5,14 @@ import numpy as np from typing import Callable from manimlib.constants import BLACK -from manimlib.mobject.mobject import Mobject from manimlib.mobject.numbers import Integer from manimlib.mobject.types.vectorized_mobject import VGroup from manimlib.logger import log +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from manimlib.mobject.mobject import Mobject + def print_family(mobject: Mobject, n_tabs: int = 0) -> None: """For debugging purposes""" diff --git a/manimlib/utils/family_ops.py b/manimlib/utils/family_ops.py index 1f18614b..3218fab6 100644 --- a/manimlib/utils/family_ops.py +++ b/manimlib/utils/family_ops.py @@ -3,7 +3,9 @@ from __future__ import annotations import itertools as it from typing import Iterable -from manimlib.mobject.mobject import Mobject +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from manimlib.mobject.mobject import Mobject def extract_mobject_family_members(