manim 0.18.1__py3-none-any.whl → 0.19.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of manim might be problematic. Click here for more details.

Files changed (129) hide show
  1. manim/__main__.py +45 -12
  2. manim/_config/__init__.py +2 -2
  3. manim/_config/cli_colors.py +8 -4
  4. manim/_config/default.cfg +0 -2
  5. manim/_config/logger_utils.py +5 -0
  6. manim/_config/utils.py +29 -38
  7. manim/animation/animation.py +148 -8
  8. manim/animation/composition.py +16 -13
  9. manim/animation/creation.py +184 -8
  10. manim/animation/fading.py +5 -8
  11. manim/animation/indication.py +93 -26
  12. manim/animation/movement.py +21 -3
  13. manim/animation/rotation.py +2 -1
  14. manim/animation/specialized.py +3 -5
  15. manim/animation/speedmodifier.py +3 -3
  16. manim/animation/transform.py +4 -5
  17. manim/animation/updaters/mobject_update_utils.py +17 -14
  18. manim/camera/camera.py +2 -2
  19. manim/cli/__init__.py +17 -0
  20. manim/cli/cfg/group.py +52 -36
  21. manim/cli/checkhealth/checks.py +92 -76
  22. manim/cli/checkhealth/commands.py +12 -5
  23. manim/cli/default_group.py +148 -24
  24. manim/cli/init/commands.py +28 -23
  25. manim/cli/plugins/commands.py +13 -3
  26. manim/cli/render/commands.py +47 -42
  27. manim/cli/render/global_options.py +43 -9
  28. manim/cli/render/render_options.py +84 -19
  29. manim/constants.py +11 -4
  30. manim/mobject/frame.py +0 -1
  31. manim/mobject/geometry/arc.py +109 -75
  32. manim/mobject/geometry/boolean_ops.py +20 -17
  33. manim/mobject/geometry/labeled.py +300 -77
  34. manim/mobject/geometry/line.py +120 -60
  35. manim/mobject/geometry/polygram.py +109 -25
  36. manim/mobject/geometry/shape_matchers.py +35 -15
  37. manim/mobject/geometry/tips.py +36 -27
  38. manim/mobject/graph.py +48 -40
  39. manim/mobject/graphing/coordinate_systems.py +110 -45
  40. manim/mobject/graphing/functions.py +16 -10
  41. manim/mobject/graphing/number_line.py +23 -9
  42. manim/mobject/graphing/probability.py +2 -10
  43. manim/mobject/graphing/scale.py +6 -5
  44. manim/mobject/matrix.py +17 -19
  45. manim/mobject/mobject.py +149 -103
  46. manim/mobject/opengl/opengl_geometry.py +4 -8
  47. manim/mobject/opengl/opengl_mobject.py +506 -343
  48. manim/mobject/opengl/opengl_point_cloud_mobject.py +3 -7
  49. manim/mobject/opengl/opengl_surface.py +1 -2
  50. manim/mobject/opengl/opengl_vectorized_mobject.py +27 -65
  51. manim/mobject/svg/brace.py +61 -13
  52. manim/mobject/svg/svg_mobject.py +2 -1
  53. manim/mobject/table.py +11 -12
  54. manim/mobject/text/code_mobject.py +186 -550
  55. manim/mobject/text/numbers.py +7 -7
  56. manim/mobject/text/tex_mobject.py +22 -13
  57. manim/mobject/text/text_mobject.py +29 -20
  58. manim/mobject/three_d/polyhedra.py +98 -1
  59. manim/mobject/three_d/three_dimensions.py +59 -31
  60. manim/mobject/types/image_mobject.py +37 -23
  61. manim/mobject/types/point_cloud_mobject.py +103 -67
  62. manim/mobject/types/vectorized_mobject.py +387 -214
  63. manim/mobject/value_tracker.py +2 -1
  64. manim/mobject/vector_field.py +2 -4
  65. manim/opengl/__init__.py +3 -3
  66. manim/plugins/__init__.py +2 -3
  67. manim/plugins/plugins_flags.py +3 -3
  68. manim/renderer/cairo_renderer.py +11 -11
  69. manim/renderer/opengl_renderer.py +19 -20
  70. manim/renderer/shader.py +2 -3
  71. manim/renderer/shader_wrapper.py +3 -2
  72. manim/scene/moving_camera_scene.py +23 -0
  73. manim/scene/scene.py +72 -41
  74. manim/scene/scene_file_writer.py +313 -164
  75. manim/scene/section.py +15 -15
  76. manim/scene/three_d_scene.py +8 -15
  77. manim/scene/vector_space_scene.py +3 -6
  78. manim/typing.py +326 -66
  79. manim/utils/bezier.py +1658 -381
  80. manim/utils/caching.py +11 -5
  81. manim/utils/color/AS2700.py +2 -0
  82. manim/utils/color/BS381.py +2 -0
  83. manim/utils/color/DVIPSNAMES.py +96 -0
  84. manim/utils/color/SVGNAMES.py +179 -0
  85. manim/utils/color/X11.py +3 -0
  86. manim/utils/color/XKCD.py +2 -0
  87. manim/utils/color/__init__.py +8 -5
  88. manim/utils/color/core.py +818 -301
  89. manim/utils/color/manim_colors.py +7 -9
  90. manim/utils/commands.py +40 -19
  91. manim/utils/config_ops.py +18 -13
  92. manim/utils/debug.py +8 -6
  93. manim/utils/deprecation.py +92 -43
  94. manim/utils/docbuild/autoaliasattr_directive.py +45 -8
  95. manim/utils/docbuild/autocolor_directive.py +12 -13
  96. manim/utils/docbuild/manim_directive.py +35 -29
  97. manim/utils/docbuild/module_parsing.py +74 -27
  98. manim/utils/family.py +3 -3
  99. manim/utils/family_ops.py +12 -4
  100. manim/utils/file_ops.py +22 -16
  101. manim/utils/hashing.py +7 -7
  102. manim/utils/images.py +10 -4
  103. manim/utils/ipython_magic.py +12 -8
  104. manim/utils/iterables.py +161 -119
  105. manim/utils/module_ops.py +55 -19
  106. manim/utils/opengl.py +68 -23
  107. manim/utils/parameter_parsing.py +3 -2
  108. manim/utils/paths.py +11 -5
  109. manim/utils/polylabel.py +168 -0
  110. manim/utils/qhull.py +218 -0
  111. manim/utils/rate_functions.py +69 -32
  112. manim/utils/simple_functions.py +24 -15
  113. manim/utils/sounds.py +7 -1
  114. manim/utils/space_ops.py +48 -37
  115. manim/utils/testing/_frames_testers.py +13 -8
  116. manim/utils/testing/_show_diff.py +5 -3
  117. manim/utils/testing/_test_class_makers.py +33 -18
  118. manim/utils/testing/frames_comparison.py +20 -14
  119. manim/utils/tex.py +4 -2
  120. manim/utils/tex_file_writing.py +45 -45
  121. manim/utils/tex_templates.py +1 -1
  122. manim/utils/unit.py +6 -5
  123. {manim-0.18.1.dist-info → manim-0.19.0.dist-info}/METADATA +16 -9
  124. manim-0.19.0.dist-info/RECORD +221 -0
  125. {manim-0.18.1.dist-info → manim-0.19.0.dist-info}/WHEEL +1 -1
  126. manim-0.18.1.dist-info/RECORD +0 -217
  127. {manim-0.18.1.dist-info → manim-0.19.0.dist-info}/LICENSE +0 -0
  128. {manim-0.18.1.dist-info → manim-0.19.0.dist-info}/LICENSE.community +0 -0
  129. {manim-0.18.1.dist-info → manim-0.19.0.dist-info}/entry_points.txt +0 -0
manim/utils/caching.py CHANGED
@@ -1,14 +1,20 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Callable
3
+ from typing import TYPE_CHECKING, Callable
4
4
 
5
5
  from .. import config, logger
6
6
  from ..utils.hashing import get_hash_from_play_call
7
7
 
8
8
  __all__ = ["handle_caching_play"]
9
9
 
10
+ if TYPE_CHECKING:
11
+ from typing import Any
10
12
 
11
- def handle_caching_play(func: Callable[..., None]):
13
+ from manim.renderer.opengl_renderer import OpenGLRenderer
14
+ from manim.scene.scene import Scene
15
+
16
+
17
+ def handle_caching_play(func: Callable[..., None]) -> Callable[..., None]:
12
18
  """Decorator that returns a wrapped version of func that will compute
13
19
  the hash of the play invocation.
14
20
 
@@ -22,14 +28,13 @@ def handle_caching_play(func: Callable[..., None]):
22
28
  The play like function that has to be written to the video file stream.
23
29
  Take the same parameters as `scene.play`.
24
30
  """
25
-
26
31
  # NOTE : This is only kept for OpenGL renderer.
27
32
  # The play logic of the cairo renderer as been refactored and does not need this function anymore.
28
33
  # When OpenGL renderer will have a proper testing system,
29
34
  # the play logic of the latter has to be refactored in the same way the cairo renderer has been, and thus this
30
35
  # method has to be deleted.
31
36
 
32
- def wrapper(self, scene, *args, **kwargs):
37
+ def wrapper(self: OpenGLRenderer, scene: Scene, *args: Any, **kwargs: Any) -> None:
33
38
  self.skip_animations = self._original_skipping_status
34
39
  self.update_skipping_status()
35
40
  animations = scene.compile_animations(*args, **kwargs)
@@ -44,8 +49,9 @@ def handle_caching_play(func: Callable[..., None]):
44
49
  return
45
50
  if not config["disable_caching"]:
46
51
  mobjects_on_scene = scene.mobjects
52
+ # TODO: the first argument seems wrong. Shouldn't it be scene instead?
47
53
  hash_play = get_hash_from_play_call(
48
- self,
54
+ self, # type: ignore[arg-type]
49
55
  self.camera,
50
56
  animations,
51
57
  mobjects_on_scene,
@@ -24,6 +24,8 @@ are non official approximate values intended to simulate AS 2700 colors:
24
24
 
25
25
  """
26
26
 
27
+ from __future__ import annotations
28
+
27
29
  from .core import ManimColor
28
30
 
29
31
  B11_RICH_BLUE = ManimColor("#2B3770")
@@ -25,6 +25,8 @@ in the standard:
25
25
 
26
26
  """
27
27
 
28
+ from __future__ import annotations
29
+
28
30
  from .core import ManimColor
29
31
 
30
32
  BS381_101 = ManimColor("#94BFAC")
@@ -0,0 +1,96 @@
1
+ r"""dvips Colors
2
+
3
+ This module contains the colors defined in the dvips driver, which are commonly accessed
4
+ as named colors in LaTeX via the ``\usepackage[dvipsnames]{xcolor}`` package.
5
+
6
+ To use the colors from this list, access them directly from the module (which
7
+ is exposed to Manim's global name space):
8
+
9
+ .. code:: pycon
10
+
11
+ >>> from manim import DVIPSNAMES
12
+ >>> DVIPSNAMES.DARKORCHID
13
+ ManimColor('#A4538A')
14
+
15
+ List of Color Constants
16
+ -----------------------
17
+
18
+ These hex values are derived from those specified in the ``xcolor`` package
19
+ documentation (see https://ctan.org/pkg/xcolor):
20
+
21
+ .. automanimcolormodule:: manim.utils.color.DVIPSNAMES
22
+
23
+ """
24
+
25
+ from __future__ import annotations
26
+
27
+ from .core import ManimColor
28
+
29
+ AQUAMARINE = ManimColor("#00B5BE")
30
+ BITTERSWEET = ManimColor("#C04F17")
31
+ APRICOT = ManimColor("#FBB982")
32
+ BLACK = ManimColor("#221E1F")
33
+ BLUE = ManimColor("#2D2F92")
34
+ BLUEGREEN = ManimColor("#00B3B8")
35
+ BLUEVIOLET = ManimColor("#473992")
36
+ BRICKRED = ManimColor("#B6321C")
37
+ BROWN = ManimColor("#792500")
38
+ BURNTORANGE = ManimColor("#F7921D")
39
+ CADETBLUE = ManimColor("#74729A")
40
+ CARNATIONPINK = ManimColor("#F282B4")
41
+ CERULEAN = ManimColor("#00A2E3")
42
+ CORNFLOWERBLUE = ManimColor("#41B0E4")
43
+ CYAN = ManimColor("#00AEEF")
44
+ DANDELION = ManimColor("#FDBC42")
45
+ DARKORCHID = ManimColor("#A4538A")
46
+ EMERALD = ManimColor("#00A99D")
47
+ FORESTGREEN = ManimColor("#009B55")
48
+ FUCHSIA = ManimColor("#8C368C")
49
+ GOLDENROD = ManimColor("#FFDF42")
50
+ GRAY = ManimColor("#949698")
51
+ GREEN = ManimColor("#00A64F")
52
+ GREENYELLOW = ManimColor("#DFE674")
53
+ JUNGLEGREEN = ManimColor("#00A99A")
54
+ LAVENDER = ManimColor("#F49EC4")
55
+ LIMEGREEN = ManimColor("#8DC73E")
56
+ MAGENTA = ManimColor("#EC008C")
57
+ MAHOGANY = ManimColor("#A9341F")
58
+ MAROON = ManimColor("#AF3235")
59
+ MELON = ManimColor("#F89E7B")
60
+ MIDNIGHTBLUE = ManimColor("#006795")
61
+ MULBERRY = ManimColor("#A93C93")
62
+ NAVYBLUE = ManimColor("#006EB8")
63
+ OLIVEGREEN = ManimColor("#3C8031")
64
+ ORANGE = ManimColor("#F58137")
65
+ ORANGERED = ManimColor("#ED135A")
66
+ ORCHID = ManimColor("#AF72B0")
67
+ PEACH = ManimColor("#F7965A")
68
+ PERIWINKLE = ManimColor("#7977B8")
69
+ PINEGREEN = ManimColor("#008B72")
70
+ PLUM = ManimColor("#92268F")
71
+ PROCESSBLUE = ManimColor("#00B0F0")
72
+ PURPLE = ManimColor("#99479B")
73
+ RAWSIENNA = ManimColor("#974006")
74
+ RED = ManimColor("#ED1B23")
75
+ REDORANGE = ManimColor("#F26035")
76
+ REDVIOLET = ManimColor("#A1246B")
77
+ RHODAMINE = ManimColor("#EF559F")
78
+ ROYALBLUE = ManimColor("#0071BC")
79
+ ROYALPURPLE = ManimColor("#613F99")
80
+ RUBINERED = ManimColor("#ED017D")
81
+ SALMON = ManimColor("#F69289")
82
+ SEAGREEN = ManimColor("#3FBC9D")
83
+ SEPIA = ManimColor("#671800")
84
+ SKYBLUE = ManimColor("#46C5DD")
85
+ SPRINGGREEN = ManimColor("#C6DC67")
86
+ TAN = ManimColor("#DA9D76")
87
+ TEALBLUE = ManimColor("#00AEB3")
88
+ THISTLE = ManimColor("#D883B7")
89
+ TURQUOISE = ManimColor("#00B4CE")
90
+ VIOLET = ManimColor("#58429B")
91
+ VIOLETRED = ManimColor("#EF58A0")
92
+ WHITE = ManimColor("#FFFFFF")
93
+ WILDSTRAWBERRY = ManimColor("#EE2967")
94
+ YELLOW = ManimColor("#FFF200")
95
+ YELLOWGREEN = ManimColor("#98CC70")
96
+ YELLOWORANGE = ManimColor("#FAA21A")
@@ -0,0 +1,179 @@
1
+ r"""SVG 1.1 Colors
2
+
3
+ This module contains the colors defined in the SVG 1.1 specification, which are commonly
4
+ accessed as named colors in LaTeX via the ``\usepackage[svgnames]{xcolor}`` package.
5
+
6
+ To use the colors from this list, access them directly from the module (which
7
+ is exposed to Manim's global name space):
8
+
9
+ .. code:: pycon
10
+
11
+ >>> from manim import SVGNAMES
12
+ >>> SVGNAMES.LIGHTCORAL
13
+ ManimColor('#EF7F7F')
14
+
15
+ List of Color Constants
16
+ -----------------------
17
+
18
+ These hex values are derived from those specified in the ``xcolor`` package
19
+ documentation (see https://ctan.org/pkg/xcolor):
20
+
21
+ .. automanimcolormodule:: manim.utils.color.SVGNAMES
22
+
23
+ """
24
+
25
+ from __future__ import annotations
26
+
27
+ from .core import ManimColor
28
+
29
+ ALICEBLUE = ManimColor("#EFF7FF")
30
+ ANTIQUEWHITE = ManimColor("#F9EAD7")
31
+ AQUA = ManimColor("#00FFFF")
32
+ AQUAMARINE = ManimColor("#7EFFD3")
33
+ AZURE = ManimColor("#EFFFFF")
34
+ BEIGE = ManimColor("#F4F4DC")
35
+ BISQUE = ManimColor("#FFE3C4")
36
+ BLACK = ManimColor("#000000")
37
+ BLANCHEDALMOND = ManimColor("#FFEACD")
38
+ BLUE = ManimColor("#0000FF")
39
+ BLUEVIOLET = ManimColor("#892BE2")
40
+ BROWN = ManimColor("#A52A2A")
41
+ BURLYWOOD = ManimColor("#DDB787")
42
+ CADETBLUE = ManimColor("#5E9EA0")
43
+ CHARTREUSE = ManimColor("#7EFF00")
44
+ CHOCOLATE = ManimColor("#D2681D")
45
+ CORAL = ManimColor("#FF7E4F")
46
+ CORNFLOWERBLUE = ManimColor("#6395ED")
47
+ CORNSILK = ManimColor("#FFF7DC")
48
+ CRIMSON = ManimColor("#DC143B")
49
+ CYAN = ManimColor("#00FFFF")
50
+ DARKBLUE = ManimColor("#00008A")
51
+ DARKCYAN = ManimColor("#008A8A")
52
+ DARKGOLDENROD = ManimColor("#B7850B")
53
+ DARKGRAY = ManimColor("#A9A9A9")
54
+ DARKGREEN = ManimColor("#006300")
55
+ DARKGREY = ManimColor("#A9A9A9")
56
+ DARKKHAKI = ManimColor("#BCB66B")
57
+ DARKMAGENTA = ManimColor("#8A008A")
58
+ DARKOLIVEGREEN = ManimColor("#546B2F")
59
+ DARKORANGE = ManimColor("#FF8C00")
60
+ DARKORCHID = ManimColor("#9931CC")
61
+ DARKRED = ManimColor("#8A0000")
62
+ DARKSALMON = ManimColor("#E8967A")
63
+ DARKSEAGREEN = ManimColor("#8EBB8E")
64
+ DARKSLATEBLUE = ManimColor("#483D8A")
65
+ DARKSLATEGRAY = ManimColor("#2F4F4F")
66
+ DARKSLATEGREY = ManimColor("#2F4F4F")
67
+ DARKTURQUOISE = ManimColor("#00CED1")
68
+ DARKVIOLET = ManimColor("#9300D3")
69
+ DEEPPINK = ManimColor("#FF1492")
70
+ DEEPSKYBLUE = ManimColor("#00BFFF")
71
+ DIMGRAY = ManimColor("#686868")
72
+ DIMGREY = ManimColor("#686868")
73
+ DODGERBLUE = ManimColor("#1D90FF")
74
+ FIREBRICK = ManimColor("#B12121")
75
+ FLORALWHITE = ManimColor("#FFF9EF")
76
+ FORESTGREEN = ManimColor("#218A21")
77
+ FUCHSIA = ManimColor("#FF00FF")
78
+ GAINSBORO = ManimColor("#DCDCDC")
79
+ GHOSTWHITE = ManimColor("#F7F7FF")
80
+ GOLD = ManimColor("#FFD700")
81
+ GOLDENROD = ManimColor("#DAA51F")
82
+ GRAY = ManimColor("#7F7F7F")
83
+ GREEN = ManimColor("#007F00")
84
+ GREENYELLOW = ManimColor("#ADFF2F")
85
+ GREY = ManimColor("#7F7F7F")
86
+ HONEYDEW = ManimColor("#EFFFEF")
87
+ HOTPINK = ManimColor("#FF68B3")
88
+ INDIANRED = ManimColor("#CD5B5B")
89
+ INDIGO = ManimColor("#4A0082")
90
+ IVORY = ManimColor("#FFFFEF")
91
+ KHAKI = ManimColor("#EFE58C")
92
+ LAVENDER = ManimColor("#E5E5F9")
93
+ LAVENDERBLUSH = ManimColor("#FFEFF4")
94
+ LAWNGREEN = ManimColor("#7CFC00")
95
+ LEMONCHIFFON = ManimColor("#FFF9CD")
96
+ LIGHTBLUE = ManimColor("#ADD8E5")
97
+ LIGHTCORAL = ManimColor("#EF7F7F")
98
+ LIGHTCYAN = ManimColor("#E0FFFF")
99
+ LIGHTGOLDENROD = ManimColor("#EDDD82")
100
+ LIGHTGOLDENRODYELLOW = ManimColor("#F9F9D2")
101
+ LIGHTGRAY = ManimColor("#D3D3D3")
102
+ LIGHTGREEN = ManimColor("#90ED90")
103
+ LIGHTGREY = ManimColor("#D3D3D3")
104
+ LIGHTPINK = ManimColor("#FFB5C0")
105
+ LIGHTSALMON = ManimColor("#FFA07A")
106
+ LIGHTSEAGREEN = ManimColor("#1FB1AA")
107
+ LIGHTSKYBLUE = ManimColor("#87CEF9")
108
+ LIGHTSLATEBLUE = ManimColor("#8470FF")
109
+ LIGHTSLATEGRAY = ManimColor("#778799")
110
+ LIGHTSLATEGREY = ManimColor("#778799")
111
+ LIGHTSTEELBLUE = ManimColor("#AFC4DD")
112
+ LIGHTYELLOW = ManimColor("#FFFFE0")
113
+ LIME = ManimColor("#00FF00")
114
+ LIMEGREEN = ManimColor("#31CD31")
115
+ LINEN = ManimColor("#F9EFE5")
116
+ MAGENTA = ManimColor("#FF00FF")
117
+ MAROON = ManimColor("#7F0000")
118
+ MEDIUMAQUAMARINE = ManimColor("#66CDAA")
119
+ MEDIUMBLUE = ManimColor("#0000CD")
120
+ MEDIUMORCHID = ManimColor("#BA54D3")
121
+ MEDIUMPURPLE = ManimColor("#9270DB")
122
+ MEDIUMSEAGREEN = ManimColor("#3BB271")
123
+ MEDIUMSLATEBLUE = ManimColor("#7B68ED")
124
+ MEDIUMSPRINGGREEN = ManimColor("#00F99A")
125
+ MEDIUMTURQUOISE = ManimColor("#48D1CC")
126
+ MEDIUMVIOLETRED = ManimColor("#C61584")
127
+ MIDNIGHTBLUE = ManimColor("#181870")
128
+ MINTCREAM = ManimColor("#F4FFF9")
129
+ MISTYROSE = ManimColor("#FFE3E1")
130
+ MOCCASIN = ManimColor("#FFE3B5")
131
+ NAVAJOWHITE = ManimColor("#FFDDAD")
132
+ NAVY = ManimColor("#00007F")
133
+ NAVYBLUE = ManimColor("#00007F")
134
+ OLDLACE = ManimColor("#FCF4E5")
135
+ OLIVE = ManimColor("#7F7F00")
136
+ OLIVEDRAB = ManimColor("#6B8D22")
137
+ ORANGE = ManimColor("#FFA500")
138
+ ORANGERED = ManimColor("#FF4400")
139
+ ORCHID = ManimColor("#DA70D6")
140
+ PALEGOLDENROD = ManimColor("#EDE8AA")
141
+ PALEGREEN = ManimColor("#97FB97")
142
+ PALETURQUOISE = ManimColor("#AFEDED")
143
+ PALEVIOLETRED = ManimColor("#DB7092")
144
+ PAPAYAWHIP = ManimColor("#FFEED4")
145
+ PEACHPUFF = ManimColor("#FFDAB8")
146
+ PERU = ManimColor("#CD843F")
147
+ PINK = ManimColor("#FFBFCA")
148
+ PLUM = ManimColor("#DDA0DD")
149
+ POWDERBLUE = ManimColor("#AFE0E5")
150
+ PURPLE = ManimColor("#7F007F")
151
+ RED = ManimColor("#FF0000")
152
+ ROSYBROWN = ManimColor("#BB8E8E")
153
+ ROYALBLUE = ManimColor("#4168E1")
154
+ SADDLEBROWN = ManimColor("#8A4413")
155
+ SALMON = ManimColor("#F97F72")
156
+ SANDYBROWN = ManimColor("#F3A45F")
157
+ SEAGREEN = ManimColor("#2D8A56")
158
+ SEASHELL = ManimColor("#FFF4ED")
159
+ SIENNA = ManimColor("#A0512C")
160
+ SILVER = ManimColor("#BFBFBF")
161
+ SKYBLUE = ManimColor("#87CEEA")
162
+ SLATEBLUE = ManimColor("#6959CD")
163
+ SLATEGRAY = ManimColor("#707F90")
164
+ SLATEGREY = ManimColor("#707F90")
165
+ SNOW = ManimColor("#FFF9F9")
166
+ SPRINGGREEN = ManimColor("#00FF7E")
167
+ STEELBLUE = ManimColor("#4682B3")
168
+ TAN = ManimColor("#D2B38C")
169
+ TEAL = ManimColor("#007F7F")
170
+ THISTLE = ManimColor("#D8BFD8")
171
+ TOMATO = ManimColor("#FF6347")
172
+ TURQUOISE = ManimColor("#3FE0CF")
173
+ VIOLET = ManimColor("#ED82ED")
174
+ VIOLETRED = ManimColor("#D01F90")
175
+ WHEAT = ManimColor("#F4DDB2")
176
+ WHITE = ManimColor("#FFFFFF")
177
+ WHITESMOKE = ManimColor("#F4F4F4")
178
+ YELLOW = ManimColor("#FFFF00")
179
+ YELLOWGREEN = ManimColor("#9ACD30")
manim/utils/color/X11.py CHANGED
@@ -22,6 +22,9 @@ List of Color Constants
22
22
 
23
23
  .. automanimcolormodule:: manim.utils.color.X11
24
24
  """
25
+
26
+ from __future__ import annotations
27
+
25
28
  from .core import ManimColor
26
29
 
27
30
  ALICEBLUE = ManimColor("#F0F8FF")
manim/utils/color/XKCD.py CHANGED
@@ -24,6 +24,8 @@ taken from https://www.w3schools.com/colors/colors_xkcd.asp.
24
24
 
25
25
  """
26
26
 
27
+ from __future__ import annotations
28
+
27
29
  from .core import ManimColor
28
30
 
29
31
  ACIDGREEN = ManimColor("#8FFE09")
@@ -16,8 +16,9 @@ There are several predefined colors available in Manim:
16
16
 
17
17
  - The colors listed in :mod:`.color.manim_colors` are loaded into
18
18
  Manim's global name space.
19
- - The colors in :mod:`.color.AS2700`, :mod:`.color.BS381`, :mod:`.color.X11`,
20
- and :mod:`.color.XKCD` need to be accessed via their module (which are available
19
+ - The colors in :mod:`.color.AS2700`, :mod:`.color.BS381`,
20
+ :mod:`.color.DVIPSNAMES`, :mod:`.color.SVGNAMES`, :mod:`.color.X11` and
21
+ :mod:`.color.XKCD` need to be accessed via their module (which are available
21
22
  in Manim's global name space), or imported separately. For example:
22
23
 
23
24
  .. code:: pycon
@@ -42,17 +43,19 @@ The following modules contain the predefined color constants:
42
43
  manim_colors
43
44
  AS2700
44
45
  BS381
46
+ DVIPSNAMES
47
+ SVGNAMES
45
48
  XKCD
46
49
  X11
47
50
 
48
51
  """
49
52
 
50
- from typing import Dict, List
53
+ from __future__ import annotations
51
54
 
52
- from . import AS2700, BS381, X11, XKCD
55
+ from . import AS2700, BS381, DVIPSNAMES, SVGNAMES, X11, XKCD
53
56
  from .core import *
54
57
  from .manim_colors import *
55
58
 
56
- _all_color_dict: Dict[str, ManimColor] = {
59
+ _all_color_dict: dict[str, ManimColor] = {
57
60
  k: v for k, v in globals().items() if isinstance(v, ManimColor)
58
61
  }