manim 0.18.0.post0__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.
- manim/__init__.py +3 -6
- manim/__main__.py +61 -20
- manim/_config/__init__.py +6 -3
- manim/_config/cli_colors.py +16 -8
- manim/_config/default.cfg +1 -3
- manim/_config/logger_utils.py +14 -8
- manim/_config/utils.py +651 -472
- manim/animation/animation.py +152 -5
- manim/animation/composition.py +80 -39
- manim/animation/creation.py +196 -14
- manim/animation/fading.py +5 -9
- manim/animation/indication.py +103 -47
- manim/animation/movement.py +22 -5
- manim/animation/rotation.py +3 -2
- manim/animation/specialized.py +4 -6
- manim/animation/speedmodifier.py +10 -5
- manim/animation/transform.py +4 -5
- manim/animation/transform_matching_parts.py +1 -1
- manim/animation/updaters/mobject_update_utils.py +17 -14
- manim/camera/camera.py +15 -6
- manim/cli/__init__.py +17 -0
- manim/cli/cfg/group.py +70 -44
- manim/cli/checkhealth/checks.py +93 -75
- manim/cli/checkhealth/commands.py +14 -5
- manim/cli/default_group.py +157 -25
- manim/cli/init/commands.py +32 -24
- manim/cli/plugins/commands.py +16 -3
- manim/cli/render/commands.py +72 -60
- manim/cli/render/ease_of_access_options.py +4 -3
- manim/cli/render/global_options.py +51 -15
- manim/cli/render/output_options.py +6 -5
- manim/cli/render/render_options.py +97 -32
- manim/constants.py +65 -19
- manim/gui/gui.py +2 -0
- manim/mobject/frame.py +0 -1
- manim/mobject/geometry/arc.py +112 -78
- manim/mobject/geometry/boolean_ops.py +32 -25
- manim/mobject/geometry/labeled.py +300 -77
- manim/mobject/geometry/line.py +132 -64
- manim/mobject/geometry/polygram.py +126 -30
- manim/mobject/geometry/shape_matchers.py +35 -15
- manim/mobject/geometry/tips.py +38 -29
- manim/mobject/graph.py +414 -133
- manim/mobject/graphing/coordinate_systems.py +126 -64
- manim/mobject/graphing/functions.py +25 -15
- manim/mobject/graphing/number_line.py +24 -10
- manim/mobject/graphing/probability.py +2 -10
- manim/mobject/graphing/scale.py +6 -5
- manim/mobject/matrix.py +17 -19
- manim/mobject/mobject.py +314 -165
- manim/mobject/opengl/opengl_compatibility.py +2 -0
- manim/mobject/opengl/opengl_geometry.py +30 -9
- manim/mobject/opengl/opengl_image_mobject.py +2 -0
- manim/mobject/opengl/opengl_mobject.py +509 -343
- manim/mobject/opengl/opengl_point_cloud_mobject.py +5 -7
- manim/mobject/opengl/opengl_surface.py +3 -2
- manim/mobject/opengl/opengl_three_dimensions.py +2 -0
- manim/mobject/opengl/opengl_vectorized_mobject.py +46 -79
- manim/mobject/svg/brace.py +63 -13
- manim/mobject/svg/svg_mobject.py +4 -3
- manim/mobject/table.py +11 -13
- manim/mobject/text/code_mobject.py +186 -548
- manim/mobject/text/numbers.py +9 -7
- manim/mobject/text/tex_mobject.py +23 -14
- manim/mobject/text/text_mobject.py +70 -24
- manim/mobject/three_d/polyhedra.py +98 -1
- manim/mobject/three_d/three_d_utils.py +4 -4
- manim/mobject/three_d/three_dimensions.py +62 -34
- manim/mobject/types/image_mobject.py +42 -24
- manim/mobject/types/point_cloud_mobject.py +105 -67
- manim/mobject/types/vectorized_mobject.py +496 -228
- manim/mobject/value_tracker.py +5 -4
- manim/mobject/vector_field.py +5 -5
- manim/opengl/__init__.py +3 -3
- manim/plugins/__init__.py +14 -1
- manim/plugins/plugins_flags.py +14 -8
- manim/renderer/cairo_renderer.py +20 -10
- manim/renderer/opengl_renderer.py +21 -23
- manim/renderer/opengl_renderer_window.py +2 -0
- manim/renderer/shader.py +2 -3
- manim/renderer/shader_wrapper.py +5 -2
- manim/renderer/vectorized_mobject_rendering.py +5 -0
- manim/scene/moving_camera_scene.py +23 -0
- manim/scene/scene.py +90 -43
- manim/scene/scene_file_writer.py +316 -165
- manim/scene/section.py +17 -15
- manim/scene/three_d_scene.py +13 -21
- manim/scene/vector_space_scene.py +22 -9
- manim/typing.py +830 -70
- manim/utils/bezier.py +1667 -399
- manim/utils/caching.py +13 -5
- manim/utils/color/AS2700.py +2 -0
- manim/utils/color/BS381.py +3 -0
- manim/utils/color/DVIPSNAMES.py +96 -0
- manim/utils/color/SVGNAMES.py +179 -0
- manim/utils/color/X11.py +3 -0
- manim/utils/color/XKCD.py +3 -0
- manim/utils/color/__init__.py +8 -5
- manim/utils/color/core.py +844 -309
- manim/utils/color/manim_colors.py +7 -9
- manim/utils/commands.py +48 -20
- manim/utils/config_ops.py +18 -13
- manim/utils/debug.py +8 -7
- manim/utils/deprecation.py +90 -40
- manim/utils/docbuild/__init__.py +17 -0
- manim/utils/docbuild/autoaliasattr_directive.py +234 -0
- manim/utils/docbuild/autocolor_directive.py +21 -17
- manim/utils/docbuild/manim_directive.py +50 -35
- manim/utils/docbuild/module_parsing.py +245 -0
- manim/utils/exceptions.py +6 -0
- manim/utils/family.py +5 -3
- manim/utils/family_ops.py +17 -4
- manim/utils/file_ops.py +26 -16
- manim/utils/hashing.py +9 -7
- manim/utils/images.py +10 -4
- manim/utils/ipython_magic.py +14 -8
- manim/utils/iterables.py +161 -119
- manim/utils/module_ops.py +57 -19
- manim/utils/opengl.py +83 -24
- manim/utils/parameter_parsing.py +32 -0
- manim/utils/paths.py +21 -23
- manim/utils/polylabel.py +168 -0
- manim/utils/qhull.py +218 -0
- manim/utils/rate_functions.py +74 -39
- manim/utils/simple_functions.py +24 -15
- manim/utils/sounds.py +7 -1
- manim/utils/space_ops.py +125 -69
- manim/utils/testing/__init__.py +17 -0
- manim/utils/testing/_frames_testers.py +13 -8
- manim/utils/testing/_show_diff.py +5 -3
- manim/utils/testing/_test_class_makers.py +33 -18
- manim/utils/testing/frames_comparison.py +27 -19
- manim/utils/tex.py +127 -197
- manim/utils/tex_file_writing.py +47 -45
- manim/utils/tex_templates.py +2 -1
- manim/utils/unit.py +6 -5
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/LICENSE.community +1 -1
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/METADATA +40 -39
- manim-0.19.0.dist-info/RECORD +221 -0
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/WHEEL +1 -1
- manim/cli/new/__init__.py +0 -0
- manim/cli/new/group.py +0 -189
- manim/plugins/import_plugins.py +0 -43
- manim-0.18.0.post0.dist-info/RECORD +0 -217
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/LICENSE +0 -0
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/entry_points.txt +0 -0
manim/utils/tex_file_writing.py
CHANGED
|
@@ -9,18 +9,22 @@
|
|
|
9
9
|
from __future__ import annotations
|
|
10
10
|
|
|
11
11
|
import hashlib
|
|
12
|
-
import os
|
|
13
12
|
import re
|
|
13
|
+
import subprocess
|
|
14
14
|
import unicodedata
|
|
15
|
+
from collections.abc import Generator, Iterable, Sequence
|
|
15
16
|
from pathlib import Path
|
|
16
|
-
from
|
|
17
|
+
from re import Match
|
|
18
|
+
from typing import Any
|
|
17
19
|
|
|
18
20
|
from manim.utils.tex import TexTemplate
|
|
19
21
|
|
|
20
22
|
from .. import config, logger
|
|
21
23
|
|
|
24
|
+
__all__ = ["tex_to_svg_file"]
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
|
|
27
|
+
def tex_hash(expression: Any) -> str:
|
|
24
28
|
id_str = str(expression)
|
|
25
29
|
hasher = hashlib.sha256()
|
|
26
30
|
hasher.update(id_str.encode())
|
|
@@ -32,8 +36,8 @@ def tex_to_svg_file(
|
|
|
32
36
|
expression: str,
|
|
33
37
|
environment: str | None = None,
|
|
34
38
|
tex_template: TexTemplate | None = None,
|
|
35
|
-
):
|
|
36
|
-
"""Takes a tex expression and returns the svg version of the compiled tex
|
|
39
|
+
) -> Path:
|
|
40
|
+
r"""Takes a tex expression and returns the svg version of the compiled tex
|
|
37
41
|
|
|
38
42
|
Parameters
|
|
39
43
|
----------
|
|
@@ -74,7 +78,7 @@ def generate_tex_file(
|
|
|
74
78
|
environment: str | None = None,
|
|
75
79
|
tex_template: TexTemplate | None = None,
|
|
76
80
|
) -> Path:
|
|
77
|
-
"""Takes a tex expression (and an optional tex environment),
|
|
81
|
+
r"""Takes a tex expression (and an optional tex environment),
|
|
78
82
|
and returns a fully formed tex file ready for compilation.
|
|
79
83
|
|
|
80
84
|
Parameters
|
|
@@ -112,10 +116,11 @@ def generate_tex_file(
|
|
|
112
116
|
return result
|
|
113
117
|
|
|
114
118
|
|
|
115
|
-
def
|
|
119
|
+
def make_tex_compilation_command(
|
|
116
120
|
tex_compiler: str, output_format: str, tex_file: Path, tex_dir: Path
|
|
117
|
-
) -> str:
|
|
118
|
-
"""Prepares the
|
|
121
|
+
) -> list[str]:
|
|
122
|
+
"""Prepares the TeX compilation command, i.e. the TeX compiler name
|
|
123
|
+
and all necessary CLI flags.
|
|
119
124
|
|
|
120
125
|
Parameters
|
|
121
126
|
----------
|
|
@@ -130,50 +135,46 @@ def tex_compilation_command(
|
|
|
130
135
|
|
|
131
136
|
Returns
|
|
132
137
|
-------
|
|
133
|
-
:class:`str`
|
|
138
|
+
:class:`list[str]`
|
|
134
139
|
Compilation command according to given parameters
|
|
135
140
|
"""
|
|
136
141
|
if tex_compiler in {"latex", "pdflatex", "luatex", "lualatex"}:
|
|
137
|
-
|
|
142
|
+
command = [
|
|
138
143
|
tex_compiler,
|
|
139
144
|
"-interaction=batchmode",
|
|
140
|
-
f
|
|
145
|
+
f"-output-format={output_format[1:]}",
|
|
141
146
|
"-halt-on-error",
|
|
142
|
-
f
|
|
143
|
-
f
|
|
144
|
-
">",
|
|
145
|
-
os.devnull,
|
|
147
|
+
f"-output-directory={tex_dir.as_posix()}",
|
|
148
|
+
f"{tex_file.as_posix()}",
|
|
146
149
|
]
|
|
147
150
|
elif tex_compiler == "xelatex":
|
|
148
151
|
if output_format == ".xdv":
|
|
149
|
-
outflag = "-no-pdf"
|
|
152
|
+
outflag = ["-no-pdf"]
|
|
150
153
|
elif output_format == ".pdf":
|
|
151
|
-
outflag =
|
|
154
|
+
outflag = []
|
|
152
155
|
else:
|
|
153
156
|
raise ValueError("xelatex output is either pdf or xdv")
|
|
154
|
-
|
|
157
|
+
command = [
|
|
155
158
|
"xelatex",
|
|
156
|
-
outflag,
|
|
159
|
+
*outflag,
|
|
157
160
|
"-interaction=batchmode",
|
|
158
161
|
"-halt-on-error",
|
|
159
|
-
f
|
|
160
|
-
f
|
|
161
|
-
">",
|
|
162
|
-
os.devnull,
|
|
162
|
+
f"-output-directory={tex_dir.as_posix()}",
|
|
163
|
+
f"{tex_file.as_posix()}",
|
|
163
164
|
]
|
|
164
165
|
else:
|
|
165
166
|
raise ValueError(f"Tex compiler {tex_compiler} unknown.")
|
|
166
|
-
return
|
|
167
|
+
return command
|
|
167
168
|
|
|
168
169
|
|
|
169
|
-
def insight_inputenc_error(matching):
|
|
170
|
+
def insight_inputenc_error(matching: Match[str]) -> Generator[str]:
|
|
170
171
|
code_point = chr(int(matching[1], 16))
|
|
171
172
|
name = unicodedata.name(code_point)
|
|
172
173
|
yield f"TexTemplate does not support character '{name}' (U+{matching[1]})."
|
|
173
174
|
yield "See the documentation for manim.mobject.svg.tex_mobject for details on using a custom TexTemplate."
|
|
174
175
|
|
|
175
176
|
|
|
176
|
-
def insight_package_not_found_error(matching):
|
|
177
|
+
def insight_package_not_found_error(matching: Match[str]) -> Generator[str]:
|
|
177
178
|
yield f"You do not have package {matching[1]} installed."
|
|
178
179
|
yield f"Install {matching[1]} it using your LaTeX package manager, or check for typos."
|
|
179
180
|
|
|
@@ -198,14 +199,14 @@ def compile_tex(tex_file: Path, tex_compiler: str, output_format: str) -> Path:
|
|
|
198
199
|
result = tex_file.with_suffix(output_format)
|
|
199
200
|
tex_dir = config.get_dir("tex_dir")
|
|
200
201
|
if not result.exists():
|
|
201
|
-
command =
|
|
202
|
+
command = make_tex_compilation_command(
|
|
202
203
|
tex_compiler,
|
|
203
204
|
output_format,
|
|
204
205
|
tex_file,
|
|
205
206
|
tex_dir,
|
|
206
207
|
)
|
|
207
|
-
|
|
208
|
-
if
|
|
208
|
+
cp = subprocess.run(command, stdout=subprocess.DEVNULL)
|
|
209
|
+
if cp.returncode != 0:
|
|
209
210
|
log_file = tex_file.with_suffix(".log")
|
|
210
211
|
print_all_tex_errors(log_file, tex_compiler, tex_file)
|
|
211
212
|
raise ValueError(
|
|
@@ -216,7 +217,7 @@ def compile_tex(tex_file: Path, tex_compiler: str, output_format: str) -> Path:
|
|
|
216
217
|
return result
|
|
217
218
|
|
|
218
219
|
|
|
219
|
-
def convert_to_svg(dvi_file: Path, extension: str, page: int = 1):
|
|
220
|
+
def convert_to_svg(dvi_file: Path, extension: str, page: int = 1) -> Path:
|
|
220
221
|
"""Converts a .dvi, .xdv, or .pdf file into an svg using dvisvgm.
|
|
221
222
|
|
|
222
223
|
Parameters
|
|
@@ -235,18 +236,16 @@ def convert_to_svg(dvi_file: Path, extension: str, page: int = 1):
|
|
|
235
236
|
"""
|
|
236
237
|
result = dvi_file.with_suffix(".svg")
|
|
237
238
|
if not result.exists():
|
|
238
|
-
|
|
239
|
+
command = [
|
|
239
240
|
"dvisvgm",
|
|
240
|
-
"--pdf" if extension == ".pdf" else
|
|
241
|
-
"
|
|
242
|
-
|
|
243
|
-
"
|
|
244
|
-
"
|
|
245
|
-
|
|
246
|
-
">",
|
|
247
|
-
os.devnull,
|
|
241
|
+
*(["--pdf"] if extension == ".pdf" else []),
|
|
242
|
+
f"--page={page}",
|
|
243
|
+
"--no-fonts",
|
|
244
|
+
"--verbosity=0",
|
|
245
|
+
f"--output={result.as_posix()}",
|
|
246
|
+
f"{dvi_file.as_posix()}",
|
|
248
247
|
]
|
|
249
|
-
|
|
248
|
+
subprocess.run(command, stdout=subprocess.DEVNULL)
|
|
250
249
|
|
|
251
250
|
# if the file does not exist now, this means conversion failed
|
|
252
251
|
if not result.exists():
|
|
@@ -269,7 +268,6 @@ def delete_nonsvg_files(additional_endings: Iterable[str] = ()) -> None:
|
|
|
269
268
|
additional_endings
|
|
270
269
|
Additional endings to whitelist
|
|
271
270
|
"""
|
|
272
|
-
|
|
273
271
|
tex_dir = config.get_dir("tex_dir")
|
|
274
272
|
file_suffix_whitelist = {".svg", ".tex", *additional_endings}
|
|
275
273
|
|
|
@@ -308,7 +306,11 @@ LATEX_ERROR_INSIGHTS = [
|
|
|
308
306
|
]
|
|
309
307
|
|
|
310
308
|
|
|
311
|
-
def print_tex_error(
|
|
309
|
+
def print_tex_error(
|
|
310
|
+
tex_compilation_log: Sequence[str],
|
|
311
|
+
error_start_index: int,
|
|
312
|
+
tex_source: Sequence[str],
|
|
313
|
+
) -> None:
|
|
312
314
|
logger.error(
|
|
313
315
|
f"LaTeX compilation error: {tex_compilation_log[error_start_index][2:]}",
|
|
314
316
|
)
|
|
@@ -342,8 +344,8 @@ def print_tex_error(tex_compilation_log, error_start_index, tex_source):
|
|
|
342
344
|
context += tex_source[line_of_tex_error - 3 : line_of_tex_error + 3]
|
|
343
345
|
context[-4] = "-> " + context[-4]
|
|
344
346
|
|
|
345
|
-
|
|
346
|
-
logger.error(
|
|
347
|
+
context_joined = "".join(context)
|
|
348
|
+
logger.error(context_joined)
|
|
347
349
|
|
|
348
350
|
for insights in LATEX_ERROR_INSIGHTS:
|
|
349
351
|
prob, get_insight = insights
|
manim/utils/tex_templates.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"""A library of LaTeX templates."""
|
|
2
|
+
|
|
2
3
|
from __future__ import annotations
|
|
3
4
|
|
|
4
5
|
__all__ = [
|
|
@@ -11,7 +12,7 @@ from .tex import *
|
|
|
11
12
|
# This file makes TexTemplateLibrary and TexFontTemplates available for use in manim Tex and MathTex objects.
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
def _new_ams_template():
|
|
15
|
+
def _new_ams_template() -> TexTemplate:
|
|
15
16
|
"""Returns a simple Tex Template with only basic AMS packages"""
|
|
16
17
|
preamble = r"""
|
|
17
18
|
\usepackage[english]{babel}
|
manim/utils/unit.py
CHANGED
|
@@ -5,20 +5,21 @@ from __future__ import annotations
|
|
|
5
5
|
import numpy as np
|
|
6
6
|
|
|
7
7
|
from .. import config, constants
|
|
8
|
+
from ..typing import Vector3D
|
|
8
9
|
|
|
9
10
|
__all__ = ["Pixels", "Degrees", "Munits", "Percent"]
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
class _PixelUnits:
|
|
13
|
-
def __mul__(self, val):
|
|
14
|
+
def __mul__(self, val: float) -> float:
|
|
14
15
|
return val * config.frame_width / config.pixel_width
|
|
15
16
|
|
|
16
|
-
def __rmul__(self, val):
|
|
17
|
+
def __rmul__(self, val: float) -> float:
|
|
17
18
|
return val * config.frame_width / config.pixel_width
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
class Percent:
|
|
21
|
-
def __init__(self, axis):
|
|
22
|
+
def __init__(self, axis: Vector3D) -> None:
|
|
22
23
|
if np.array_equal(axis, constants.X_AXIS):
|
|
23
24
|
self.length = config.frame_width
|
|
24
25
|
if np.array_equal(axis, constants.Y_AXIS):
|
|
@@ -26,10 +27,10 @@ class Percent:
|
|
|
26
27
|
if np.array_equal(axis, constants.Z_AXIS):
|
|
27
28
|
raise NotImplementedError("length of Z axis is undefined")
|
|
28
29
|
|
|
29
|
-
def __mul__(self, val):
|
|
30
|
+
def __mul__(self, val: float) -> float:
|
|
30
31
|
return val / 100 * self.length
|
|
31
32
|
|
|
32
|
-
def __rmul__(self, val):
|
|
33
|
+
def __rmul__(self, val: float) -> float:
|
|
33
34
|
return val / 100 * self.length
|
|
34
35
|
|
|
35
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2024, the Manim Community Developers
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1,63 +1,62 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: manim
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.19.0
|
|
4
4
|
Summary: Animation engine for explanatory math videos.
|
|
5
|
-
Home-page: https://www.manim.community/
|
|
6
5
|
License: MIT
|
|
7
6
|
Author: The Manim Community Developers
|
|
8
7
|
Author-email: contact@manim.community
|
|
9
|
-
Requires-Python: >=3.
|
|
8
|
+
Requires-Python: >=3.9
|
|
10
9
|
Classifier: Development Status :: 4 - Beta
|
|
11
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
11
|
Classifier: Natural Language :: English
|
|
13
12
|
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
15
13
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
18
|
Classifier: Topic :: Multimedia :: Graphics
|
|
20
19
|
Classifier: Topic :: Multimedia :: Video
|
|
21
20
|
Classifier: Topic :: Scientific/Engineering
|
|
22
21
|
Provides-Extra: gui
|
|
23
22
|
Provides-Extra: jupyterlab
|
|
24
|
-
Requires-Dist: Pillow (>=9.1
|
|
25
|
-
Requires-Dist: Pygments (>=2.
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
28
|
-
Requires-Dist:
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
23
|
+
Requires-Dist: Pillow (>=9.1)
|
|
24
|
+
Requires-Dist: Pygments (>=2.0.0)
|
|
25
|
+
Requires-Dist: audioop-lts (>=0.2.0) ; python_version >= "3.13"
|
|
26
|
+
Requires-Dist: av (>=9.0.0,<14.0.0)
|
|
27
|
+
Requires-Dist: beautifulsoup4 (>=4.12)
|
|
28
|
+
Requires-Dist: click (>=8.0)
|
|
29
|
+
Requires-Dist: cloup (>=2.0.0)
|
|
30
|
+
Requires-Dist: dearpygui (>=1.0.0) ; extra == "gui"
|
|
31
|
+
Requires-Dist: decorator (>=4.3.2)
|
|
32
|
+
Requires-Dist: importlib-metadata (>=3.6) ; python_full_version <= "3.9.0"
|
|
33
|
+
Requires-Dist: isosurfaces (>=0.1.0)
|
|
34
|
+
Requires-Dist: jupyterlab (>=3.0.0) ; extra == "jupyterlab"
|
|
35
35
|
Requires-Dist: manimpango (>=0.5.0,<1.0.0)
|
|
36
|
-
Requires-Dist: mapbox-earcut (>=1.0.0
|
|
37
|
-
Requires-Dist: moderngl (>=5.
|
|
38
|
-
Requires-Dist: moderngl-window (>=2.
|
|
39
|
-
Requires-Dist: networkx (>=2.
|
|
40
|
-
Requires-Dist: notebook (>=6.
|
|
41
|
-
Requires-Dist: numpy (>=
|
|
42
|
-
Requires-Dist: numpy (>=
|
|
43
|
-
Requires-Dist: pycairo (>=1.
|
|
44
|
-
Requires-Dist: pydub (>=0.
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
Requires-Dist: scipy (>=1.
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist:
|
|
54
|
-
Requires-Dist:
|
|
55
|
-
Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
|
|
56
|
-
Requires-Dist: watchdog (>=2.1,<=3.0.0)
|
|
36
|
+
Requires-Dist: mapbox-earcut (>=1.0.0)
|
|
37
|
+
Requires-Dist: moderngl (>=5.0.0,<6.0.0)
|
|
38
|
+
Requires-Dist: moderngl-window (>=2.0.0)
|
|
39
|
+
Requires-Dist: networkx (>=2.6)
|
|
40
|
+
Requires-Dist: notebook (>=6.0.0) ; extra == "jupyterlab"
|
|
41
|
+
Requires-Dist: numpy (>=2.0) ; python_version < "3.10"
|
|
42
|
+
Requires-Dist: numpy (>=2.1) ; python_version >= "3.10"
|
|
43
|
+
Requires-Dist: pycairo (>=1.13,<2.0.0)
|
|
44
|
+
Requires-Dist: pydub (>=0.20.0)
|
|
45
|
+
Requires-Dist: rich (>=12.0.0)
|
|
46
|
+
Requires-Dist: scipy (>=1.13.0) ; python_version < "3.13"
|
|
47
|
+
Requires-Dist: scipy (>=1.14.0) ; python_version >= "3.13"
|
|
48
|
+
Requires-Dist: screeninfo (>=0.7)
|
|
49
|
+
Requires-Dist: skia-pathops (>=0.7.0)
|
|
50
|
+
Requires-Dist: srt (>=3.0.0)
|
|
51
|
+
Requires-Dist: svgelements (>=1.8.0)
|
|
52
|
+
Requires-Dist: tqdm (>=4.0.0)
|
|
53
|
+
Requires-Dist: typing-extensions (>=4.0.0)
|
|
54
|
+
Requires-Dist: watchdog (>=2.0.0)
|
|
57
55
|
Project-URL: Bug Tracker, https://github.com/ManimCommunity/manim/issues
|
|
58
56
|
Project-URL: Changelog, https://docs.manim.community/en/stable/changelog.html
|
|
59
57
|
Project-URL: Documentation, https://docs.manim.community/
|
|
60
58
|
Project-URL: Discord, https://www.manim.community/discord/
|
|
59
|
+
Project-URL: Homepage, https://www.manim.community/
|
|
61
60
|
Project-URL: Repository, https://github.com/manimcommunity/manim
|
|
62
61
|
Project-URL: Twitter, https://twitter.com/manim_community
|
|
63
62
|
Description-Content-Type: text/markdown
|
|
@@ -85,7 +84,8 @@ Description-Content-Type: text/markdown
|
|
|
85
84
|
|
|
86
85
|
Manim is an animation engine for explanatory math videos. It's used to create precise animations programmatically, as demonstrated in the videos of [3Blue1Brown](https://www.3blue1brown.com/).
|
|
87
86
|
|
|
88
|
-
> NOTE
|
|
87
|
+
> [!NOTE]
|
|
88
|
+
> The community edition of Manim has been forked from 3b1b/manim, a tool originally created and open-sourced by Grant Sanderson, also creator of the 3Blue1Brown educational math videos. While Grant Sanderson’s repository continues to be maintained separately by him, he is not among the maintainers of the community edition. We recommend this version for its continued development, improved features, enhanced documentation, and more active community-driven maintenance. If you would like to study how Grant makes his videos, head over to his repository ([3b1b/manim](https://github.com/3b1b/manim)).
|
|
89
89
|
|
|
90
90
|
## Table of Contents:
|
|
91
91
|
|
|
@@ -99,7 +99,8 @@ Manim is an animation engine for explanatory math videos. It's used to create pr
|
|
|
99
99
|
|
|
100
100
|
## Installation
|
|
101
101
|
|
|
102
|
-
>
|
|
102
|
+
> [!CAUTION]
|
|
103
|
+
> These instructions are for the community version _only_. Trying to use these instructions to install [3b1b/manim](https://github.com/3b1b/manim) or instructions there to install this version will cause problems. Read [this](https://docs.manim.community/en/stable/faq/installation.html#why-are-there-different-versions-of-manim) and decide which version you wish to install, then only follow the instructions for your desired version.
|
|
103
104
|
|
|
104
105
|
Manim requires a few dependencies that must be installed prior to using it. If you
|
|
105
106
|
want to try it out first before installing it locally, you can do so
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
manim/__init__.py,sha256=n8Pi3wEcWmuot3Rfu13SxpDHcyWUAi0GX3ANitZiOT0,3568
|
|
2
|
+
manim/__main__.py,sha256=IobEEXbkDcjFwNbBudW6mDgSUVFMobypbeSQyPuw9cs,2577
|
|
3
|
+
manim/_config/__init__.py,sha256=t368pK9GcNW6GyH53faUYTnIHGnGNKGTXqWA23BlZGE,2732
|
|
4
|
+
manim/_config/cli_colors.py,sha256=DaPWAjpb1IB0dtHfGyOhyTKI0j34kQC4ZsGL6RM2p84,1888
|
|
5
|
+
manim/_config/default.cfg,sha256=3vogz3bjSuKm7L8GqbbFfMslf1AArcylJ5s6Ev--4mY,5329
|
|
6
|
+
manim/_config/logger_utils.py,sha256=Ht1yI7xrSUAFn0qtktN8ehN1Gsm66Mt5zG2IusRe7k8,5569
|
|
7
|
+
manim/_config/utils.py,sha256=3Y3mpB7O8dy5jprJS2D9hgqkqnT73OBWgPZiwO2dAPs,62288
|
|
8
|
+
manim/animation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
manim/animation/animation.py,sha256=yTrNcyArdXcCNZzd1I8_Z4Qqa6Uv5VIZ5Ga-HESrxSo,24671
|
|
10
|
+
manim/animation/changing.py,sha256=GdksMFYiXcl_6X3Hnjfr-SNiHJ9W2hQOcuBFj1beuFk,5523
|
|
11
|
+
manim/animation/composition.py,sha256=WKnKfgIQf7aB2wVAdJLM4T_P_er_zKNkXq9yGlDuf9A,15519
|
|
12
|
+
manim/animation/creation.py,sha256=CT1hHEU095_rT9nS0PaznH9G1iP5TdSLLSG4Sf8tUqE,25923
|
|
13
|
+
manim/animation/fading.py,sha256=OrBrJB3fO5bmFZscU7N2mfEJxfj61nhrUSMonr_E0dw,5781
|
|
14
|
+
manim/animation/growing.py,sha256=pEUwKG8UPFNpi1pFJBu6dpvIQr91kXos0oQfVgsLaOI,7154
|
|
15
|
+
manim/animation/indication.py,sha256=1IManwFzi2YrzQNSzkn6aWBTcnwmJx1GIo-Dv6xW510,22446
|
|
16
|
+
manim/animation/movement.py,sha256=DYN3V3JvQB3yWvLC8k4zxh0TuwUtiIOx7hReecF8DOY,5651
|
|
17
|
+
manim/animation/numbers.py,sha256=FmpuRQZ6UB_IUJ8eUwHIpBz9dsZnGumIwjlLVc4wQsQ,1427
|
|
18
|
+
manim/animation/rotation.py,sha256=9GlsuMOQfLTiOw8-SEU8OrMot9cIgw381v-YkYYcx5s,3256
|
|
19
|
+
manim/animation/specialized.py,sha256=l1QSpL2rzxfv_FB8TaLliRNFu1YrZCR2EWYK_p-sdcI,2894
|
|
20
|
+
manim/animation/speedmodifier.py,sha256=rQ_PZQ8kDeSkHEhHyewMv0xuAMDgkguzc13UEqMfS60,9882
|
|
21
|
+
manim/animation/transform.py,sha256=68U0SXWH434WfdUowANBMBToRn9g7DNf-_PMiX85wnY,30631
|
|
22
|
+
manim/animation/transform_matching_parts.py,sha256=XqmnjQxy1EdD5a8N_SCWiL9NfHNWY7ZdDxxRp_uq0Pc,10413
|
|
23
|
+
manim/animation/updaters/__init__.py,sha256=jgKFveRzPwFLbVHkTfJrv3qDIrgD-yuFKYsMRkwpPJc,169
|
|
24
|
+
manim/animation/updaters/mobject_update_utils.py,sha256=HAM_ar0XPiovY71Bn7kqHyouekUDho-vKUcM0W5CIYY,6847
|
|
25
|
+
manim/animation/updaters/update.py,sha256=FDiqMrQDU6BxXa4WXfOEahIUSE2haZ6vO4j_xL_XYbM,1719
|
|
26
|
+
manim/camera/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
+
manim/camera/camera.py,sha256=i1D6zY0IuLnWB01e4bo-0cZ16V7Q1P7eoHb8fGdqSEg,45504
|
|
28
|
+
manim/camera/mapping_camera.py,sha256=x0xmSiSwEH2so8bAfxIUW_l6ZdfxYD1FFDktZhFCLP8,4995
|
|
29
|
+
manim/camera/moving_camera.py,sha256=D1EIEqnHtWodqyZtO9AMiZ-IMQP2G4ZfMe9nm9kwy_A,8102
|
|
30
|
+
manim/camera/multi_camera.py,sha256=IbD0O_-MQgbuXhsODB8VU-19w1ExSEVxJXMw2tRccBQ,3382
|
|
31
|
+
manim/camera/three_d_camera.py,sha256=a8V1W7dqa-NuNoqiRdpWYlyE65rPxvoHKonKIPG-ggM,14744
|
|
32
|
+
manim/cli/__init__.py,sha256=3NogRjF4vq7MiqUO0lC1zNHALo6o4qQCb_ELDWM4Z8I,343
|
|
33
|
+
manim/cli/cfg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
+
manim/cli/cfg/group.py,sha256=lG_qrneYcyR4Yl1BJLROVN8DyDrjj1jBtK3nYZHvzJQ,10442
|
|
35
|
+
manim/cli/checkhealth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
+
manim/cli/checkhealth/checks.py,sha256=TQ2-O9Qp2mSUN_xHZecgrChSmhuftZjn_6acsXGpXzM,6353
|
|
37
|
+
manim/cli/checkhealth/commands.py,sha256=PF_B4_zSZq1GcYfEjCwMTI93u9VEM2LiVSRv5FBeDk4,3151
|
|
38
|
+
manim/cli/default_group.py,sha256=5IaexVxoXIQBMri7txmRQNrXOXwH0tWeeJ6UBKpOCiM,6968
|
|
39
|
+
manim/cli/init/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
+
manim/cli/init/commands.py,sha256=irZ_33y24gPOvlqGAX-bCuk1cU4D7E6naCML0jalu5M,6207
|
|
41
|
+
manim/cli/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
manim/cli/plugins/commands.py,sha256=V-PcnrOMf2DAilAP2mxTBMy05w_uoDSOXY7mv_ZkF9Y,1080
|
|
43
|
+
manim/cli/render/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
manim/cli/render/commands.py,sha256=hVAWp3jB32olxA6aNYVQJYPN6GUfCgX9VxupkUXsFC4,5213
|
|
45
|
+
manim/cli/render/ease_of_access_options.py,sha256=rHc4hczj3PkC8ISSoFxqavCcdP1wcLLwg_CIGGLpWGs,1046
|
|
46
|
+
manim/cli/render/global_options.py,sha256=R5wmHigNvQlNBWJozHpRb5G8GonRxvbrpQsSdU8AZmQ,3824
|
|
47
|
+
manim/cli/render/output_options.py,sha256=j4CtQmo62h3DDHW7G1IBPuwFAMuXa2DiRscWnZYEb3w,1052
|
|
48
|
+
manim/cli/render/render_options.py,sha256=W-Ym_liVFF-wTIpyAxVxDOExe9_QtJuQglxbxMUFB98,5431
|
|
49
|
+
manim/constants.py,sha256=0FF3XJFEM6jmvHTvrxxM6Mzm--VnlXFyoxe-QhUbq9A,8432
|
|
50
|
+
manim/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
+
manim/gui/gui.py,sha256=VucH_fhq3KiR-hvSfSxTK609EJpJgHfJ_dIn2kCPsVU,2702
|
|
52
|
+
manim/mobject/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
+
manim/mobject/frame.py,sha256=BTxvCpAFyD3umEDFAmnw7twP8z3_kra2dZO_ommw8yk,877
|
|
54
|
+
manim/mobject/geometry/__init__.py,sha256=2coukoxKXDE6LmqDDcF_chBZPYYb6oe3y4T8duV8Lvk,191
|
|
55
|
+
manim/mobject/geometry/arc.py,sha256=QIivd27GZFUXDmF76FIlgA-QePCD4OSp6RK_r27eacI,43342
|
|
56
|
+
manim/mobject/geometry/boolean_ops.py,sha256=jZP9HWubKWdS2823v23k9_Vld35FfMMln3QCbR-DtSQ,10337
|
|
57
|
+
manim/mobject/geometry/labeled.py,sha256=81fFzOf9Me2Y0Zu8koYdIjqPtSHC6THKU33SnOIVDyU,12782
|
|
58
|
+
manim/mobject/geometry/line.py,sha256=ZXTLtU6kouOrFzPihxl3Mx_HB1Y5ATviXr37MfJSC8A,40634
|
|
59
|
+
manim/mobject/geometry/polygram.py,sha256=YYD7N8DNWZxenTXFhgX1qD9gWBgpMoh8E2H33zcuKtw,26942
|
|
60
|
+
manim/mobject/geometry/shape_matchers.py,sha256=ChJqIsVx5UctOFwrjAcg5e2LEN7MpEGKuALhiXoJQNw,6722
|
|
61
|
+
manim/mobject/geometry/tips.py,sha256=WCfVH53j7dhP5xj8R30K3NXNdcsdcFa4Hhs00HV4dyk,10453
|
|
62
|
+
manim/mobject/graph.py,sha256=36ZoG6XulIUgx--YVKgrbwlPkjB4lQr4kHhOsqtALPo,65145
|
|
63
|
+
manim/mobject/graphing/__init__.py,sha256=Lf9tyLlxTBckPLMI7ZACu8YxRrsMExOoqpi-657OMQ8,213
|
|
64
|
+
manim/mobject/graphing/coordinate_systems.py,sha256=iABtn0wxsXR3fOqGG1A6PgiQ9eYFD64SxcZnly0Rz0g,120254
|
|
65
|
+
manim/mobject/graphing/functions.py,sha256=2Sq-rBaVszELh_GAo_A-Zr1TbvBHsHHO2hzI62DgSr0,10935
|
|
66
|
+
manim/mobject/graphing/number_line.py,sha256=moL0efrhaB4t8RqwzwtWGCsx4NIXaMrqDTpW80h1eM8,24237
|
|
67
|
+
manim/mobject/graphing/probability.py,sha256=f0ia8znOku1hMExt7AzCBN9tRpbIkV9tTZ54q_5kzlo,17554
|
|
68
|
+
manim/mobject/graphing/scale.py,sha256=x96Gy093kK0dThyh47YPTPudsPbniUUDSK1ZRFYjr-Y,5205
|
|
69
|
+
manim/mobject/logo.py,sha256=j7qxkyAXEN9LS4rhaXW0nOrNbZ7TMG1BkyS2El1-SYo,14232
|
|
70
|
+
manim/mobject/matrix.py,sha256=aE_GXvDEh9_grPqIy5akQ8FB4d-1vhsFSddb4J9KUA0,19564
|
|
71
|
+
manim/mobject/mobject.py,sha256=j0PbiU6aD-UuAVuBQvZ9xRhvHe0mZedbqCg9_pPE_54,104253
|
|
72
|
+
manim/mobject/opengl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
|
+
manim/mobject/opengl/dot_cloud.py,sha256=QrsRx_nbCn6-1TsYtKyCvkhHCgJ3PNs-bRz1EHDoNeE,1474
|
|
74
|
+
manim/mobject/opengl/opengl_compatibility.py,sha256=y-BoiXutCuHugAnTNdv0fekL3-LTzjhoYJouB7JwpOk,1589
|
|
75
|
+
manim/mobject/opengl/opengl_geometry.py,sha256=jknF4dfdxRvoYhRBCPEKyWEylgQF5H0dDjUdlv9wN5k,27171
|
|
76
|
+
manim/mobject/opengl/opengl_image_mobject.py,sha256=Z50cZ5IzhjxMnFwfKHr67EHX8LtGEJchJXVcS2oIWbE,2493
|
|
77
|
+
manim/mobject/opengl/opengl_mobject.py,sha256=3DW-7mWXobw_0RPkrW9ro_9wEAcogufHRU1EXuGMTKo,103451
|
|
78
|
+
manim/mobject/opengl/opengl_point_cloud_mobject.py,sha256=TyLC12LTx7F2rSPX06RlCEye4Gw_W7uX5OHDqUy4caU,6255
|
|
79
|
+
manim/mobject/opengl/opengl_surface.py,sha256=xkHWIhtmG4j_N61fAYqqwGbJMqdngeDvvomzjvNAbYk,16156
|
|
80
|
+
manim/mobject/opengl/opengl_three_dimensions.py,sha256=_MfDmxNGi6F5jgMTCwV9vHxaUAM_jnTaoELL1pv0pUU,1788
|
|
81
|
+
manim/mobject/opengl/opengl_vectorized_mobject.py,sha256=jyE4EhHYxq1l-Ol8yM-GXZH5kZjr6k_J-dQ77mfPvks,63504
|
|
82
|
+
manim/mobject/svg/__init__.py,sha256=j8-PFkUAsx4E-e7AHm3CoMjo22VlKzPORQAsyFWnSd4,130
|
|
83
|
+
manim/mobject/svg/brace.py,sha256=Xm3gct5bk7KaPx4EXwElBUAvX5GRXr6kR7s5xPF8c0w,13870
|
|
84
|
+
manim/mobject/svg/svg_mobject.py,sha256=A4SG5rW5dNhbwXwTyd8ZMXBSlujN6_TlVqb90PNKrUw,21015
|
|
85
|
+
manim/mobject/table.py,sha256=oleF2O2-os9CkIb_xrBN-sRJ660zAF4BaA4VVNwgqLE,41871
|
|
86
|
+
manim/mobject/text/__init__.py,sha256=AwHG8zeX2Hycw8oG2HacdHmhpH24QQDnHXTlAmVdgU0,188
|
|
87
|
+
manim/mobject/text/code_mobject.py,sha256=bcILMNPYIwgv2Dla2tgWdPasoWuxFqoZ1SHT3mt9mh0,9209
|
|
88
|
+
manim/mobject/text/numbers.py,sha256=qe3U9KrG-NsEnOFqNJxKMiK75awy8FTFSJJ0_eIc_pw,16921
|
|
89
|
+
manim/mobject/text/tex_mobject.py,sha256=kqOfJJQA7b40l1LrLinzik33XVlzj8BTPBSJHTh1qmY,18400
|
|
90
|
+
manim/mobject/text/text_mobject.py,sha256=MqhsUm5vNr4J70YF5aeSboyY46SNW1kHFYqZzHCXrvM,58640
|
|
91
|
+
manim/mobject/three_d/__init__.py,sha256=yiscdLu12eEoygyGp05V789zhouqEADin7owAkC9yU4,154
|
|
92
|
+
manim/mobject/three_d/polyhedra.py,sha256=qokBPa-K-Kyt-0fcFNcqFML30Yv_ykxiAkeMuimzHyc,15626
|
|
93
|
+
manim/mobject/three_d/three_d_utils.py,sha256=l-z9K2i6-47_1InV1CUpkA1albzTTWKv5peHkceyDG4,2099
|
|
94
|
+
manim/mobject/three_d/three_dimensions.py,sha256=BD1DNkGvQgK1yI5DC0fHJLbEIM-NmHRfr3lQ0dXGxys,39317
|
|
95
|
+
manim/mobject/types/__init__.py,sha256=H-S04JNHysKk9Obs2tctXVoTyIzDL7JnZqqHt1GuWSY,172
|
|
96
|
+
manim/mobject/types/image_mobject.py,sha256=AjNR9eBX37AZ0VxvgwuV-BtmGBc8zQ2cysVj7yqFcYc,12094
|
|
97
|
+
manim/mobject/types/point_cloud_mobject.py,sha256=_Ris2WGcOFGjA8o9mpC0cPmjkmFCu1SwQs_lI1tz8KU,13690
|
|
98
|
+
manim/mobject/types/vectorized_mobject.py,sha256=gUo6ssHi_wsHs35XsB3kpof76AMMamO46Q6OwUoHq0E,99934
|
|
99
|
+
manim/mobject/utils.py,sha256=jp5aKkECeRu_0lrIhFuW7QGP4vei3vMNolruK4ik5kQ,3273
|
|
100
|
+
manim/mobject/value_tracker.py,sha256=qkHdydyqjxPbbSa_RapZPw1z4h7RGyffP4IsyUPq1mo,6343
|
|
101
|
+
manim/mobject/vector_field.py,sha256=DbjvujEzlrvZMoYUe8n7T-z_SQ6XaXIWw0m8lmgUifk,39605
|
|
102
|
+
manim/opengl/__init__.py,sha256=LiMb5slAGNl-aMnkUQpelSkJLjdv79PvBf6gUcsVeeo,584
|
|
103
|
+
manim/plugins/__init__.py,sha256=TwJlNL7XoKkczEV2KuISM-mW8YTVngxUkWvMkYt3Lqc,396
|
|
104
|
+
manim/plugins/plugins_flags.py,sha256=Lzu5gHTotxWvRgDMhd8m6PS1ru5fRpzyUGklMbTT1Uk,709
|
|
105
|
+
manim/renderer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
|
+
manim/renderer/cairo_renderer.py,sha256=0rxsadG7TAik-gkOhk0HKG-KKm5xS8ISr9Q5JKPltps,9167
|
|
107
|
+
manim/renderer/opengl_renderer.py,sha256=5LAzi1EkwYhVOGKO2FaopC6laFUIpSZ1d9WAEH8FfVY,20735
|
|
108
|
+
manim/renderer/opengl_renderer_window.py,sha256=HajngInbCVRh83Gv1HqPC6npDZGVktPRaaP2AfB12p0,4909
|
|
109
|
+
manim/renderer/shader.py,sha256=TZaFhmjwPkncWxZdJrGgkgXD7LIi0Wk7j9ucEMx6Xqc,14715
|
|
110
|
+
manim/renderer/shader_wrapper.py,sha256=tFiJyUzbjx6g7RvgrDIYlufjab3OEV8rVDZq_ZlbKrY,5944
|
|
111
|
+
manim/renderer/shaders/default/frag.glsl,sha256=FEQmM7RUwcZlxPu5lkDcEXoyR2EfKjNC9hpaPce_ZBE,98
|
|
112
|
+
manim/renderer/shaders/default/vert.glsl,sha256=0thKIk9CzuSLGLh-6RyvFZDsnoSTpVC0v2WNjryMGIM,232
|
|
113
|
+
manim/renderer/shaders/design.frag,sha256=drjgYTVETgocxxw1HqCK7Dc3WPS8kYMy4jmhwRy7EDY,216
|
|
114
|
+
manim/renderer/shaders/design_2.frag,sha256=0TbGy2iXwHeYVaevH7q3VH0AVM54KpONdl9bW4CO1iU,961
|
|
115
|
+
manim/renderer/shaders/design_3.frag,sha256=UlSV0TmcuYmG5EmtNZQgU4kWo0j7neByEClwbXD0h6w,1301
|
|
116
|
+
manim/renderer/shaders/image/frag.glsl,sha256=UZ7Yym-2tpEnnwXpD_-SIOXqt8cNTxnCzFoUUeRyRS0,200
|
|
117
|
+
manim/renderer/shaders/image/vert.glsl,sha256=Hfu3lyryOu5MvS0noJYlV-0vwOG7tNUFkZKMjVfg658,459
|
|
118
|
+
manim/renderer/shaders/include/NOTE.md,sha256=QKht_AYgi0FgRsD1HiG-AUZZPqEAloaJK64GgkuN8mY,582
|
|
119
|
+
manim/renderer/shaders/include/add_light.glsl,sha256=Me-idksLiLW9ORe5mmekgak1RL3m2-J_Yftcql9nDrY,1600
|
|
120
|
+
manim/renderer/shaders/include/camera_uniform_declarations.glsl,sha256=--B_TrdWpq6sVs-gK7yrkJYIXmSkPE_k_27NNs6mOoE,254
|
|
121
|
+
manim/renderer/shaders/include/finalize_color.glsl,sha256=8CeC46PTrNA3LB4SolWw_EHdz87H4pFmm3-r5iysDz8,1864
|
|
122
|
+
manim/renderer/shaders/include/get_gl_Position.glsl,sha256=qaeeXlQOIBZisRC3scExg1LoFpOxHXTqbZYclIPbVac,1245
|
|
123
|
+
manim/renderer/shaders/include/get_rotated_surface_unit_normal_vector.glsl,sha256=76EfKsK1vwuNa7_9hgw-W_Cx3iZ3zpVY4KA6Fa69Gw0,551
|
|
124
|
+
manim/renderer/shaders/include/get_unit_normal.glsl,sha256=bmASU8UvsWunNcj-kdtJKjhBNLvG5pUdYn4iDOzg1Tw,773
|
|
125
|
+
manim/renderer/shaders/include/position_point_into_frame.glsl,sha256=4KMgtO2xlaASeR6uD2GKJMfAi7fuiYL32u_rFKtF5IE,742
|
|
126
|
+
manim/renderer/shaders/include/quadratic_bezier_distance.glsl,sha256=ujrpryJfKH_MY5SAd4a8T4U_ZLX1o0bBu6DdmTkOxTc,2853
|
|
127
|
+
manim/renderer/shaders/include/quadratic_bezier_geometry_functions.glsl,sha256=pjQQjecQOugsoZgN2cXY5HKG1uME6rJ0EDqFJgCqX7k,2747
|
|
128
|
+
manim/renderer/shaders/manim_coords/frag.glsl,sha256=FEQmM7RUwcZlxPu5lkDcEXoyR2EfKjNC9hpaPce_ZBE,98
|
|
129
|
+
manim/renderer/shaders/manim_coords/vert.glsl,sha256=GMKQNT4YTWiHaeo8Vt5YfaFqJaeukEVxz4rYM1E1fRM,287
|
|
130
|
+
manim/renderer/shaders/quadratic_bezier_fill/frag.glsl,sha256=YTMxssSBy9Jw4-7M55L2pX0CdUW0h9cButmIuP8X9Uw,1836
|
|
131
|
+
manim/renderer/shaders/quadratic_bezier_fill/geom.glsl,sha256=jKXzyZ884bdmcl0SOSHD6xiRY1Oz6OTEWAcDPXUqLrc,3544
|
|
132
|
+
manim/renderer/shaders/quadratic_bezier_fill/vert.glsl,sha256=ZqPIgPAO_vADjfdyurk7GFDUyv85bG0nCAyYEsK4R-c,523
|
|
133
|
+
manim/renderer/shaders/quadratic_bezier_stroke/frag.glsl,sha256=Y5hLAhwygRIWtS-mq2kNYFae99cxRaAOfBap4gVpt3A,2683
|
|
134
|
+
manim/renderer/shaders/quadratic_bezier_stroke/geom.glsl,sha256=DkQZVQiOLS_-3IW02L7shkGT4DMdEwmZ5IObW3UQipE,9059
|
|
135
|
+
manim/renderer/shaders/quadratic_bezier_stroke/vert.glsl,sha256=tKhrGSFDRvbzE8Tuq7HBX28Po5aBpL4Imxq2lvmas-Y,743
|
|
136
|
+
manim/renderer/shaders/simple_vert.glsl,sha256=TbktrXHFjx_E3hh_pIhdRB49wP0lBjwVr3pVhSM9ZBE,296
|
|
137
|
+
manim/renderer/shaders/surface/frag.glsl,sha256=89jqCkBp-f7ulliICIBQVD-6rlXmzLEOalSvrxbLJY4,396
|
|
138
|
+
manim/renderer/shaders/surface/vert.glsl,sha256=I7JTYje09VTPmkQY6aYtO8oE0FjoTBeQVUgRY6MSkDo,567
|
|
139
|
+
manim/renderer/shaders/test/frag.glsl,sha256=vE4h2JLaY4XKgnFLZg5x07jBnLG-Z5YyzVb189yUzsA,96
|
|
140
|
+
manim/renderer/shaders/test/vert.glsl,sha256=_rTflweplsaDNDY0vm70K0wUtzELbeauOS7Kx_fCc3U,152
|
|
141
|
+
manim/renderer/shaders/textured_surface/frag.glsl,sha256=7HHOlQC0jEN1R7N0frUpPOqSHj8PZZHaOUdsd_tfF2A,956
|
|
142
|
+
manim/renderer/shaders/textured_surface/vert.glsl,sha256=11ZxiIDxJiOev3LRpnhH57KKHI7jZri8egaYm9RfGt0,647
|
|
143
|
+
manim/renderer/shaders/true_dot/frag.glsl,sha256=IN4GuJBmwr17IBgxNg-mPzkwOEQV2ggUCSxbbMft3Ec,791
|
|
144
|
+
manim/renderer/shaders/true_dot/geom.glsl,sha256=Dyzn7dmICA6-zH_aNATBiq_Omt6U2UF4MBG9gstogrw,1101
|
|
145
|
+
manim/renderer/shaders/true_dot/vert.glsl,sha256=LUYkOS-WYj8DEb0CcyWPovslevus81-cgbspJVraY_o,362
|
|
146
|
+
manim/renderer/shaders/vectorized_mobject_fill/frag.glsl,sha256=UFVAChopcw4nrEUnPywV9rjFohY2_RTe3qQermGhBbo,324
|
|
147
|
+
manim/renderer/shaders/vectorized_mobject_fill/vert.glsl,sha256=uAvuQoulD_2nJ9JxvnutM4saFke2mTpU3c46_2ZC6lw,435
|
|
148
|
+
manim/renderer/shaders/vectorized_mobject_stroke/frag.glsl,sha256=Rgbdwi-UVQyTmikHYQioo8vnt9hInA4TIzebBARzoX4,2720
|
|
149
|
+
manim/renderer/shaders/vectorized_mobject_stroke/vert.glsl,sha256=yOKnXHyDKJ805_RveoLLVJFUXRF0HKBBRfKkjjRaebY,4430
|
|
150
|
+
manim/renderer/shaders/vertex_colors/frag.glsl,sha256=nGY9iyvoYy9pfjtiFDsZ1TFQsXHQ2kkz0S0Imgl2kO4,93
|
|
151
|
+
manim/renderer/shaders/vertex_colors/vert.glsl,sha256=I1HQwwKS0pmnfVnLAMAXsUJY4ynXf7ha3CaZuSkPshI,281
|
|
152
|
+
manim/renderer/vectorized_mobject_rendering.py,sha256=5JwmZKGRQEZWYIkdejbJeeKhHDzdIXwRZPnND0MXnCw,9391
|
|
153
|
+
manim/scene/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
|
+
manim/scene/moving_camera_scene.py,sha256=bB25qZRefbrexoiJC_2hBVI6TsRMjtRorp7rFReUdz8,4676
|
|
155
|
+
manim/scene/scene.py,sha256=anMd0p2EBDrLdpMKPtO75wA5kZhuev9gbMllylOubXg,62389
|
|
156
|
+
manim/scene/scene_file_writer.py,sha256=6YPbtR97DaRsve_FSqJLbl8NIXofb51ko7jDPka26hY,33191
|
|
157
|
+
manim/scene/section.py,sha256=cVcUxrKFevQXBP_-7AU5ajiww7U0p9acaa3quTVTJ5I,3725
|
|
158
|
+
manim/scene/three_d_scene.py,sha256=Td13SWpP9UYIOK2Z8hMzusj8ca8jluDa1bkmPC5BaeM,19708
|
|
159
|
+
manim/scene/vector_space_scene.py,sha256=MEC3hkWX0DnfJ5WBsrj2IAibeKhqX8h84MuL3fGHCsc,38310
|
|
160
|
+
manim/scene/zoomed_scene.py,sha256=eC6WO8OYOT-V7REtUlhXdqTyI9HrdPWFOnlY90blEUA,6980
|
|
161
|
+
manim/templates/Axes.mtp,sha256=gfMRnB0PjXF0m6u9IcbI_pm48eDqxCkylKICWdDAP-M,313
|
|
162
|
+
manim/templates/Default.mtp,sha256=AHqIgMY-rjIHaeuFSgi4n2KXaLORmACjTdPhUnFgZdY,547
|
|
163
|
+
manim/templates/MovingCamera.mtp,sha256=NLiT2ZPutKTzt8As2gDJDqXMBNB8d-7Y3PFXS0HhMas,327
|
|
164
|
+
manim/templates/template.cfg,sha256=XKiKX2mMT7x_3-EiPKAhHUpuiW_K4_RU6Iu1ZYOzQzw,134
|
|
165
|
+
manim/typing.py,sha256=6zsFV0v_qyctYBsSHhdfktMxFqbDhz-IFF_JY41RYu4,23927
|
|
166
|
+
manim/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
167
|
+
manim/utils/bezier.py,sha256=gU-Fgs-O6pcbSM1d2y5IckpsJVh2aqh6kmEN5pr5KAk,69427
|
|
168
|
+
manim/utils/caching.py,sha256=DRIPerhO6uQ9IYruFZJZpbmxhtP_SNEDiSdtpu7Y0dg,3080
|
|
169
|
+
manim/utils/color/AS2700.py,sha256=n9yHPR3hU0QAO6Rmb4wpkpfBRDKCjn4c3WEUBXlovSI,8743
|
|
170
|
+
manim/utils/color/BS381.py,sha256=F5k21QS9Jo9LBICaLM_-fmmnROOwvWBwlYH74Kmyzrw,11050
|
|
171
|
+
manim/utils/color/DVIPSNAMES.py,sha256=KrK8MUAW9rS-JaOeU_TSsr86LyCTSxHDj0OgTEyYqXM,2974
|
|
172
|
+
manim/utils/color/SVGNAMES.py,sha256=TVzp-yCbq4u9En8A9-coDZNY86N2dofL499rYbpTQOA,5852
|
|
173
|
+
manim/utils/color/X11.py,sha256=6BtAZW1xwqzM2L94W_wklC6JjsEDoXqRKm0DxAgbllI,17702
|
|
174
|
+
manim/utils/color/XKCD.py,sha256=klGcWTU9jAKINU9Pt4GDlNZ_HmfoAhyqe_1WKMvYZus,32650
|
|
175
|
+
manim/utils/color/__init__.py,sha256=-d2McqwdkBR5oT46Ec7weaKeONTrszgmErNJplm_YXE,1326
|
|
176
|
+
manim/utils/color/core.py,sha256=LSEp3EPVN9bmBqSpwl8_e60IPplTjrJ3GTonKUGoh8k,49720
|
|
177
|
+
manim/utils/color/manim_colors.py,sha256=NQvfPcyicNLfAehhW-ZQiHfFLOhbcnsGwmDJ58UjtgY,6805
|
|
178
|
+
manim/utils/commands.py,sha256=TrxwPCKJeTbnrvNp22RN6CeN8a_xZ5NLnpASYsVOlLo,2035
|
|
179
|
+
manim/utils/config_ops.py,sha256=jtU3peWAeFNuiP58UIjleKLDglrRWylDNA7lMp6Ky3M,2416
|
|
180
|
+
manim/utils/debug.py,sha256=4frD1GvDfzJS2CTmjcHvRCSCDJV-aSREqyoLD12AxC4,2359
|
|
181
|
+
manim/utils/deprecation.py,sha256=6URicStT9JsPzJR2HLRsAMJycf4rIis7-geNrSclme4,16207
|
|
182
|
+
manim/utils/docbuild/__init__.py,sha256=QPyVFDiH3EB9j2xLO1DB2ju5JB3cCY6R9ISQzrZFFJA,437
|
|
183
|
+
manim/utils/docbuild/autoaliasattr_directive.py,sha256=fITlbIQThlVlv0LmMgDcchZIQpJo9YtIFE0T5cHk1So,9287
|
|
184
|
+
manim/utils/docbuild/autocolor_directive.py,sha256=TnNnSCRxqIAs15nbiMATI-ONGj04N1NpI-y0tZ06hNA,3210
|
|
185
|
+
manim/utils/docbuild/manim_directive.py,sha256=uZrL8USl5SM9owtmywSHNOEHJaGK2M-DEcQZirl5Ggw,14764
|
|
186
|
+
manim/utils/docbuild/module_parsing.py,sha256=bmfkoxHMkWt7A0IlXtjirnEIpCbXBvCvZwl1QzCETE0,10066
|
|
187
|
+
manim/utils/exceptions.py,sha256=LDOIE6Vcai4Np6y83UuMWdiSITZ43Ac5BE_jPXKFr00,308
|
|
188
|
+
manim/utils/family.py,sha256=W1AFiPHQrFyB6TrulYnrhHSqGiA0Etg1oDL5SuTNgoE,1256
|
|
189
|
+
manim/utils/family_ops.py,sha256=IBMsGlWDag89Iv9kk-zLgD3Dc_TnRGWMI1XBiUJM-PE,1765
|
|
190
|
+
manim/utils/file_ops.py,sha256=A9EKl_aY65qLvZer-lsIHOZ1tsdRt0wtPyaIchUgGW0,8019
|
|
191
|
+
manim/utils/hashing.py,sha256=PvTlyh_bjy1f_NnsjIeXF44QbfNfrO9nmEsOPZIVih8,13671
|
|
192
|
+
manim/utils/images.py,sha256=tm7a1RXzUE4OVHVJLEXCWUez7JHcsr_Qynbexyhew5c,1836
|
|
193
|
+
manim/utils/ipython_magic.py,sha256=FvwoDtMSJ-GLVqEZoxzqJ2jfaCiDWNEXRg4HiVPmm7w,7995
|
|
194
|
+
manim/utils/iterables.py,sha256=A3Tk_QTalxBcJ44e7OG2yWF56BuvLy4vKlOM6FmAuVo,13211
|
|
195
|
+
manim/utils/module_ops.py,sha256=yKhYPBPR0irCeeIk0I67kZRcLS20bbfxOW3zcvldhyk,5673
|
|
196
|
+
manim/utils/opengl.py,sha256=giAqO_BuwIp7NGlGoE8S6VSWUTZ9sQk9gWgx0NjxiRs,4779
|
|
197
|
+
manim/utils/parameter_parsing.py,sha256=rcCPBtzfIDqJsEs-xSIbLJl3waOMpDGEz2RfnCaC1ds,787
|
|
198
|
+
manim/utils/paths.py,sha256=awneTVI0yzyFMf27_KSMCWRsy0jJATpLVvs97RRjv2U,11364
|
|
199
|
+
manim/utils/polylabel.py,sha256=mExnlGC6iuZmcQR2y3__h8MHh4QabDRIbNSBne6Ap_c,5360
|
|
200
|
+
manim/utils/qhull.py,sha256=UFGPh9YeM59k6bsnbYU_cvZ0d255bd7G5fJk6SJZlN8,7797
|
|
201
|
+
manim/utils/rate_functions.py,sha256=u9DgEZ4m8fswvfFLaSX2CemxNJcSyDNagD1jNC0_Egk,13735
|
|
202
|
+
manim/utils/simple_functions.py,sha256=ci7o4jJms7-Ka6YJBOEdfI9Y5VafGO0wAyJjndzqGX8,3636
|
|
203
|
+
manim/utils/sounds.py,sha256=cc56Se02nrLgW9gT3SuVhFbWe4p1Mc7jllQ5BCs-rZA,611
|
|
204
|
+
manim/utils/space_ops.py,sha256=cNFyFQPINBu3isbzEpxgB3gifk2UqbmE3YP4nP00XLU,23659
|
|
205
|
+
manim/utils/testing/__init__.py,sha256=VGuOYWP08ZEot6AQeY9ZVcZF3G5SUO51WdD5mvG9wW4,418
|
|
206
|
+
manim/utils/testing/_frames_testers.py,sha256=CrC6E91Xd5r0dm2Zrwrs02SyZaeFFvZ6ePbLXdzCSnM,4038
|
|
207
|
+
manim/utils/testing/_show_diff.py,sha256=z1QkoAyP-esRrKOWIKK_EyNMjSYl8ZN_q8jK86dMCl0,1768
|
|
208
|
+
manim/utils/testing/_test_class_makers.py,sha256=xBH4OqBkpWdYUYzuPgj8OY9EU5HDvbTJ8JAzp76kOXw,2828
|
|
209
|
+
manim/utils/testing/config_graphical_tests_monoframe.cfg,sha256=FCf168PQDrTiwv-WurqRDyL4ndwtfBvTS9Bl23MEAyE,161
|
|
210
|
+
manim/utils/testing/config_graphical_tests_multiframes.cfg,sha256=bzzl4TpReJ7E4JR0OazZnXp1JFvje9rbYP5p3sDF0ys,158
|
|
211
|
+
manim/utils/testing/frames_comparison.py,sha256=UWqB4krPVst-Q0OpjWk46EEHGZEt7I2EwMRjyFUdj_I,10583
|
|
212
|
+
manim/utils/tex.py,sha256=vElzX8OVISJJFFS0bVGdWfUMRhwEdSPVNGRl5jbvQO0,6787
|
|
213
|
+
manim/utils/tex_file_writing.py,sha256=ZHMDGz713G2xXUNH_uhwoicKpDAwoio0dxcnsQfi2CA,11454
|
|
214
|
+
manim/utils/tex_templates.py,sha256=4UHeVS9ZyYVsSzZUC4FZFqW8o02IMZSF4KmgqHeZ7l4,28533
|
|
215
|
+
manim/utils/unit.py,sha256=-Xqt9cHeYNX2Tvzu8uXUTUMVlreBX7ygMJRt95Stddc,1053
|
|
216
|
+
manim-0.19.0.dist-info/LICENSE,sha256=xqki_Bz67XrA-Hqh3Hfr9aPI0czFqwHaMxU_DQE78Bk,1072
|
|
217
|
+
manim-0.19.0.dist-info/LICENSE.community,sha256=eOh7tki98IyCfdOYoR4py990wyA5adNzjbo-sJ1cICI,1088
|
|
218
|
+
manim-0.19.0.dist-info/METADATA,sha256=aOqmGIb8AFQzIJFSO_Bh7ZR_o5gtu_W3O3ey6rrk7uI,11301
|
|
219
|
+
manim-0.19.0.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
220
|
+
manim-0.19.0.dist-info/entry_points.txt,sha256=T_f5FcXeR4Hoz6Bf4reBBM8LzwalFtW4pXXyU7rsuo0,73
|
|
221
|
+
manim-0.19.0.dist-info/RECORD,,
|
manim/cli/new/__init__.py
DELETED
|
File without changes
|