Compare commits

..

1,038 commits

Author SHA1 Message Date
dependabot[bot]
0e83f4b09a
chore(deps): bump jupyterlab from 4.5.7 to 4.5.9 (#4822)
---
updated-dependencies:
- dependency-name: jupyterlab
  dependency-version: 4.5.9
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-20 13:14:07 -04:00
dependabot[bot]
f7fd708276
chore(deps): bump jupyter-server from 2.18.0 to 2.20.0 (#4821)
Bumps [jupyter-server](https://github.com/jupyter-server/jupyter_server) from 2.18.0 to 2.20.0.
- [Release notes](https://github.com/jupyter-server/jupyter_server/releases)
- [Changelog](https://github.com/jupyter-server/jupyter_server/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter-server/jupyter_server/compare/v2.18.0...v2.20.0)

---
updated-dependencies:
- dependency-name: jupyter-server
  dependency-version: 2.20.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-20 11:22:50 -04:00
Caffein3
4c4622df54
feat: support multiple TeX compilers in TexTemplate (#4810)
* feat: support multiple compilations

Allow `tex_compiler` to be a `str | list[str]` instead of just
`str`. When a list is given, document will be compiled sequentially.

* fix: suppress compilation progress log when only one compiler is used

* fix: updated docstrings and variable naming
2026-06-16 22:35:14 -04:00
dependabot[bot]
66d5a4937a
chore(deps): bump bleach from 6.3.0 to 6.4.0 (#4814)
Bumps [bleach](https://github.com/mozilla/bleach) from 6.3.0 to 6.4.0.
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v6.3.0...v6.4.0)

---
updated-dependencies:
- dependency-name: bleach
  dependency-version: 6.4.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-17 01:49:15 +00:00
dependabot[bot]
c07137dbed
chore(deps): bump tornado from 6.5.5 to 6.5.7 (#4813)
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.5.5 to 6.5.7.
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.5.5...v6.5.7)

---
updated-dependencies:
- dependency-name: tornado
  dependency-version: 6.5.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-17 01:33:08 +00:00
dependabot[bot]
71ab85f960
chore(deps): bump idna from 3.11 to 3.15 (#4736)
Bumps [idna](https://github.com/kjd/idna) from 3.11 to 3.15.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](https://github.com/kjd/idna/compare/v3.11...v3.15)

---
updated-dependencies:
- dependency-name: idna
  dependency-version: '3.15'
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-17 01:09:58 +00:00
dependabot[bot]
16f0a3de3e
chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (#4729)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.3 to 2.7.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.6.3...2.7.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.7.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-17 00:58:29 +00:00
dependabot[bot]
537a134360
chore(deps): bump mistune from 3.2.0 to 3.2.1 (#4725)
Bumps [mistune](https://github.com/lepture/mistune) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/lepture/mistune/releases)
- [Changelog](https://github.com/lepture/mistune/blob/main/docs/changes.rst)
- [Commits](https://github.com/lepture/mistune/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: mistune
  dependency-version: 3.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 23:49:46 +00:00
dependabot[bot]
b7bf2ea90f
chore(deps): bump docker/setup-buildx-action from 3 to 4 (#4716)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 22:42:37 +00:00
dependabot[bot]
bdaf4497b7
chore(deps): bump jupyterlab from 4.5.2 to 4.5.7 (#4713)
Bumps [jupyterlab](https://github.com/jupyterlab/jupyterlab) from 4.5.2 to 4.5.7.
- [Release notes](https://github.com/jupyterlab/jupyterlab/releases)
- [Changelog](https://github.com/jupyterlab/jupyterlab/blob/main/RELEASE.md)
- [Commits](https://github.com/jupyterlab/jupyterlab/compare/@jupyterlab/lsp@4.5.2...@jupyterlab/lsp@4.5.7)

---
updated-dependencies:
- dependency-name: jupyterlab
  dependency-version: 4.5.7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 22:05:50 +00:00
dependabot[bot]
037b376ec2
chore(deps): bump notebook from 7.5.2 to 7.5.6 (#4712)
Bumps [notebook](https://github.com/jupyter/notebook) from 7.5.2 to 7.5.6.
- [Release notes](https://github.com/jupyter/notebook/releases)
- [Changelog](https://github.com/jupyter/notebook/blob/@jupyter-notebook/tree@7.5.6/CHANGELOG.md)
- [Commits](https://github.com/jupyter/notebook/compare/@jupyter-notebook/tree@7.5.2...@jupyter-notebook/tree@7.5.6)

---
updated-dependencies:
- dependency-name: notebook
  dependency-version: 7.5.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 17:46:31 -04:00
dependabot[bot]
e9639c2697
chore(deps): bump nbconvert from 7.17.0 to 7.17.1 (#4702)
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.17.0 to 7.17.1.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.17.0...v7.17.1)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-version: 7.17.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 21:13:42 +00:00
dependabot[bot]
1b2d5ce72b
chore(deps-dev): bump pytest from 9.0.2 to 9.0.3 (#4688)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.2 to 9.0.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.3
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 20:38:28 +00:00
dependabot[bot]
c94a7ea9fc
chore(deps): bump pillow from 12.1.1 to 12.2.0 (#4687)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.1 to 12.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/12.1.1...12.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 12.2.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 20:10:01 +00:00
dependabot[bot]
bb1be6ef8a
chore(deps): bump actions/upload-artifact from 6 to 7 (#4620)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 19:48:22 +00:00
rsn
516c8c8ba7
Fix ThreeDScene.set_to_default_angled_camera_orientation() (#4704)
Co-authored-by: neeh <rapetisiddhu@gmail.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 15:20:18 -04:00
Mayank Basena
ccee37a614
Add docstring to GenericGraph.__getitem__() (#4761)
Allows accessing edges via tuple keys like g[(1, 2)] in addition to
vertex lookups like g[1]. Previously only vertex lookups were supported.

Fixes ManimCommunity/manim#3798

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 18:52:42 +00:00
dependabot[bot]
31db147222
chore(deps): bump jupyter-server from 2.17.0 to 2.18.0 (#4720)
Bumps [jupyter-server](https://github.com/jupyter-server/jupyter_server) from 2.17.0 to 2.18.0.
- [Release notes](https://github.com/jupyter-server/jupyter_server/releases)
- [Changelog](https://github.com/jupyter-server/jupyter_server/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter-server/jupyter_server/compare/v2.17.0...v2.18.0)

---
updated-dependencies:
- dependency-name: jupyter-server
  dependency-version: 2.18.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-16 17:57:48 +00:00
GniLudio
34124c3f60
Fix wrong type annotation of Animation._on_finish (#4812) 2026-06-16 13:11:45 -04:00
Benjamin Hackl
d999d422c9
Introduce first-class support for rendering text and markup via Typst (optional dependency) (#4681)
* feat: add TypstMobject and TypstMathMobject for first-class Typst support

Implement the initial TypstMobject proposal (see agents/typst.md):

- TypstMobject: renders arbitrary Typst markup to SVG via the 'typst'
  Python package (self-contained Rust binary, no system install needed),
  then imports through SVGMobject.
- TypstMathMobject: convenience subclass that wraps input in Typst math
  delimiters ($ ... $).

Pipeline: user string → wrap in minimal Typst document (auto-sized page,
transparent background) → write .typ file → compile to SVG via
typst.compile() → import via SVGMobject → scale/center/recolor.

Key details:
- Compilation helper in manim/utils/typst_file_writing.py with SHA-256
  content-hash caching (same scheme as the LaTeX pipeline).
- font_size property mirrors SingleStringMathTex: compile at fixed 11pt,
  scale after import using initial_height / SCALE_FACTOR_PER_FONT_POINT.
- init_colors() recolors black submobjects to self.color (Typst default
  fill is black), preserving any explicit Typst colors.
- path_string_config enables curve subdivision for smooth animation.
- 'typst' added as optional dependency group in pyproject.toml.
- 10 tests covering creation, font_size, caching, preamble, and repr.

* feat(typst): add sub-expression selection via {{ }} groups and .select()

- Override modify_xml_tree in Typst to convert data-typst-label
  attributes to id attributes before svgelements parsing (avoids
  attribute inheritance issue with data-* attributes)
- Add Typst.select(key) method accepting str labels or int indices
  to retrieve VGroup sub-expressions from id_to_vgroup_dict
- Implement {{ }} double-brace preprocessor on TypstMath:
  - {{ content }} → manimgrp("_grp-N", content) (auto-numbered)
  - {{ content : label }} → manimgrp("label", content) (named)
  - Skips {{ }} inside string literals and [...] content blocks
  - Uses math-mode call convention (no # prefix) to keep args in
    math mode
- Auto-inject manimgrp preamble when groups are detected
- Add 12 new tests covering label mapping, nesting, select(),
  error handling, and preprocessor edge cases

* Remove unneeded assert line

* Generalize some more critical hard-coded LaTeX assumptions

* Fix syntax error

* Support Typst labels in existing APIs

* Add ManimTextLabel typing alias

* Preserve Typst SVG stroke widths by default

* Calibrate Typst font sizing against TeX

* Add Typst mobject documentation

* Track Typst baseline frames

* Document Typst baseline frame tracking

* Add Typst section to text guide

* Polish Typst docs and label handling

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Improve Typst stroke scaling and docs examples

* Tune Typst SVG stroke scaling

* Restore Typst math example wording

* Fix pre-commit issues for Typst branch

* Fix number line runtime typing import

* Exclude Typst autogenerated .rst files

* Use Manim directive in docstrings and fix wrong key in Typst.select() docstring

* Fix GroupedMath comments

---------

Co-authored-by: Toon Verstraelen <Toon.Verstraelen@UGent.be>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <francisco.manriquezn@usm.cl>
2026-06-11 03:54:21 +00:00
GniLudio
561de9d72a
Use language parameter to format Code even when passing code_file (#4706)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-10 21:49:59 +00:00
Sai Sridhar Tarra
05b3042ab0
Add tests for edge lookup in GenericGraph.__getitem__() (#4753)
GenericGraph.__getitem__ only handled vertex lookup. Passing a 2-tuple
(u, v) to retrieve an edge mobject raised a KeyError against the
vertices dict instead of looking up self.edges.

Route tuple keys of length 2 to self.edges so that g[(u, v)] returns
the edge mobject, consistent with how edges are stored internally.

Adds a test covering vertex lookup, edge lookup (Graph), and edge
lookup (DiGraph).

Fixes #3798

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-10 17:34:39 -04:00
HairlessVillager
2ece488b2c
Support edge lookup via tuple in GenericGraph.__getitem__() (#3799)
* feat: add tuple key support in GenericGraph.__getitem__()

* feat: add an error message for missing vertice or edge

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* docs: add an example

* fix: tuple vertex return edge

---------

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-10 17:19:24 -04:00
Guillaume Vauvert
852ebd1c60
Fix empty submobjects distorting width/height of parent Mobject (#4088)
* Issue-4087 Add bug test

* Issue-4087 Fix bug

* Issue-4087 Fix comment and add type hint

* Issue-4087 Fix comment

* Issue-4087 Improve previous test instead of adding a new one

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tests/module/mobject/mobject/test_mobject.py

* Enhance docstring for reduce_across_dimension method

Updated docstring for reduce_across_dimension method to clarify its purpose and parameters.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove float typehints for coords in length_over_dim

* Modify test for empty VMobject dimensions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-10 16:21:52 -04:00
Irvanal Haq
82522795f1
Allow CyclicReplace and Swap to accept single Group or VGroup and add example (#4211)
* Allow Swap to accept Group and VGroup and add example

* Modify create_target return type to Group | VGroup

Updated create_target method to allow returning either Group or VGroup.

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-09 17:33:12 -04:00
Henrik Skov Midtiby
12c5640a32
Add type annotations to transform_matching_parts.py (#4400)
* Add type annotations to `transform_matching_parts.py`

* Make two type errors quiet

* Make the pytests pass

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-09 17:11:01 -04:00
Laszlo
33424fe43d
More specific Callable type annotations in mobject_update_utils (#4728)
* More specific Callable type annotations in mobject_update_utils

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-03 17:02:00 +00:00
Leonardo Cariaggi
1b3390073c
Allow excluding inner lines of Table (#4731)
* Add option to hide/show inner lines in Table class

* Add tests for Table class inner lines visibility

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Correct indentation

* Fix os.startfile usage to check for availability on Windows

* Add ConversationFlowScene to animate user-chatbot interactions and metadata display

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Revert "Merge remote-tracking branch 'origin/conversation' into hide_table_inner_lines"

This reverts commit c0ba5b8511, reversing
changes made to 1f71f4b0e8.

* Revert change

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Leonardo Cariaggi <leonardo.cariaggi@kbc.be>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-03 09:06:03 -04:00
Rafael Brusiquesi Martins
56f7eb2a1f
Add regression tests for four recent fixes in vectorized_mobject.py (#4750)
* Add regression tests for four recent fixes in vectorized_mobject.py

Adds four regression tests for fixes that landed without tests in the same PR:

  * 21cf9998 (PR #4630, fixes #3569 + #4629) -- IndexError in
    `get_nth_subpath` when `path_list` is empty; ensure it always returns
    a NumPy array.

  * f6cdb547 (PR #4219) -- `add_points_as_corners` silently dropped a
    single new point when called on a VMobject whose last subpath was
    complete.

  * 3d029c12 (PR #4320, fixes #4255) -- `pointwise_become_partial` cleared
    the target's points when the source had no cubic curves, surfacing as
    `Arrow3D.get_start()` / `get_end()` returning the origin after a
    `Create` animation.

  * 429f25328 (PR #4694) -- `scale(scale_stroke=True)` on a compound
    VMobject propagated the parent's scaled stroke width to every
    submobject, overwriting submobjects with their own (e.g. zero) stroke.

Each test reproduces the original failing condition at the unit level
and asserts the post-fix behavior. Validation: every test was confirmed
to fail when the corresponding fix is reverted on the source file, and
pass when the fix is restored.

4 tests, ~0.2s runtime. Tests go in the existing files
`tests/module/mobject/types/vectorized_mobject/test_vectorized_mobject.py`
(three tests, adjacent to their topically-related siblings) and
`tests/module/mobject/types/vectorized_mobject/test_stroke.py` (one test,
next to the existing `test_stroke_scale`).

Co-authored-by: LetMarq <LetMarq@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: THE-RAF <THE-RAF@users.noreply.github.com>
Co-authored-by: LetMarq <LetMarq@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-06-02 21:53:49 +00:00
Rafael Brusiquesi Martins
cfb5c684b7
Add unit tests for module-level color helpers in manim/utils/color/core.py (#4749)
* Add unit tests for module-level color helpers in manim/utils/color/core.py

Adds tests/module/utils/test_color_helpers.py covering the standalone
helper functions exported from manim.utils.color.core (color_to_rgb,
color_to_rgba, color_to_int_rgb, color_to_int_rgba, rgb_to_color,
rgba_to_color, rgb_to_hex, hex_to_rgb, invert_color, color_gradient,
interpolate_color, average_color, random_bright_color, random_color)
and the RandomColorGenerator class.

Before this PR, only the ManimColor class itself was tested
(via tests/module/utils/test_manim_color.py); the standalone helpers
had zero direct test coverage. Coverage on manim/utils/color/core.py
goes from 71% to 80% (line+branch), and 17 of the 18 testable symbols
in the file's __all__ are now exercised. The only deferred symbol is
get_shaded_rgb, which concerns lighting math rather than color
conversion and is better suited to a follow-up.

42 tests, ~0.3s runtime, no new dependencies.

Co-authored-by: LetMarq <LetMarq@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tests/module/utils/test_color_helpers.py

Increased assertion scheme to cover all colors.

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

---------

Co-authored-by: THE-RAF <THE-RAF@users.noreply.github.com>
Co-authored-by: LetMarq <LetMarq@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-05-29 17:23:28 -04:00
Vihaan Dutta
429f25328d
Fixed inconsistent stroke width scaling for text in compound objects (#4694)
* fixed zero-stroke mobject scaling

* updated vectorized_mobject scale docstring text
2026-04-19 16:10:14 -04:00
GoThrones
c45724989d
Refactor`Mobject.put_start_and_end_on() to shift Mobject to start when it's a closed curve (#4658)
* fix: preserve geometry in put_start_and_end_on for zero-vector mobjects

* fix: preserve geometry in put_start_and_end_on for zero-vector mobjects

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed asser_array_equal line

* removed commets in mobject.py and opengl_mobject.py as suggested

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added stacklevel=2 suggestion

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-04-14 19:57:06 +00:00
dependabot[bot]
af70b6fef2
chore(deps-dev): bump requests from 2.32.5 to 2.33.0 (#4659)
Bumps [requests](https://github.com/psf/requests) from 2.32.5 to 2.33.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.5...v2.33.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-07 01:57:29 +00:00
dependabot[bot]
4b32312dd1
chore(deps): bump tornado from 6.5.4 to 6.5.5 (#4635)
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.5.4 to 6.5.5.
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.5.4...v6.5.5)

---
updated-dependencies:
- dependency-name: tornado
  dependency-version: 6.5.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-04-07 01:43:47 +00:00
GoThrones
90141df105
Change VMobject._bezier_t_values typehint to ndarray of np.float64 (#4675)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-04-06 17:02:25 +00:00
Benjamin Hackl
82f93b6c3c
chore: combine dependabot updates for CI retest (#4677)
Includes the changes from PRs #4666, #4668, #4669, #4670, and #4671.

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-04-06 12:19:30 -04:00
Francisco Manríquez Novoa
752b46a003
Update TinyTeX Windows/macOS installation in ci.yml to fix failing pipelines (#4679)
* Update TinyTeX installation method in CI workflow

* Fix path execution for TinyTex Windows installer
2026-04-06 11:59:03 -04:00
Mingqi Geng
21cf9998cc
Fix IndexError in get_nth_subpath() and ensure it always returns a NumPy array (#4630)
* fix #3569 and #4629

* Add changes to opengl_vectorized_mobject.py

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-03-18 11:15:45 -03:00
Henrik Skov Midtiby
ebb230f6f1
Update link in pyproject.toml to X / Twitter (#4642) 2026-03-18 13:40:16 +00:00
Xiuyuan (Jack) Yuan
46177d247e
Fix wrong angle ranges in Sphere documentation and add more examples (#3973)
* Made the document changes

* added additional example

* Apply some suggestions from code review

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Shorten sphere examples

* Fix line breaks and remove trailing whitespace

* Add example for showing portions of spheres

* Undo accidental overwrite of ExampleSphereOverlap

* Change name of manim code block

---------

Co-authored-by: Xiuyuan <u7678992@anu.edu.au>
Co-authored-by: TahitiX <136950383+TahitiX@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <francisco.manriquezn@usm.cl>
2026-03-18 00:28:52 -03:00
Henrik Skov Midtiby
468929889b
Add type annotations to mobject.py (#4388)
* Add type annotations to `mobject.py`

* More work on type annotations for mobject.py

* ...

* Almost handled all mypy errors

* Add the mypy error messages to the lines that trigger them

* Use typing.cast to avoid some mypy errors, as suggested by JasonGrace2282

* Used the ruff linter

* Fixed one typing issue and added the error descriptions to the source code for the remaning 10 errors

* Set the type of the elements in a VGroup to VMobject

* Use typing.cast to handle some specific cases.

* Code cleaning

* Updates

* When started to use typing.cast it is needed to import / define certain elements during runtime and not only during type checking

* Fix bug introduced with the type annotations.

* Made it work again

* ..

* Fixed more issues.

* Code cleanup

* Code cleanup.

Replace self.lines with self.lines_chars and self.lines_alignment.

* Handle slicing when accessing elements inside a VGroup

* Fix missing issues.

* Silence the last mypy error

* Make _Updater, _NonTimeBasedUpdater and _TimeBasedUpdater private.

* Replace | with Union[...] in one location

* Move import of Union

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove comment that is no longer relevant

* Overload the auto_zoom method in MovingCamera to provide better type hinting

* Codecleanup

* Code cleanup

* Renamed lines_alignment to lines_alignments and added a TODO about a future cleanup task

* More code cleanup

* Update manim/mobject/matrix.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Addressing multiple comments from Chopan50

* Implementing more suggestions from Chopan50

* More suggestions by Chopan50

* ...

* More renaming and code cleanup, as suggested by Chopan50

* Restructure code

* anim_args

* Update typing in vector_space_scene

* Implemented a number of suggestions from chopan50

* Make a list of faces with the type list[ThreeDVMobject]

* Ensure to return a VGroup if slicing is used.

* Revert back to the original code in text_mobject.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add the propagate_colors option to Mobject as it is used by VMobject.

Replace Self with _UpdateBuilder

* Simplify code

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-03-11 20:33:21 -03:00
xuruidong
98c458b6b2
docs(quickstart): fix incorrect terminology for SquareToCircle (#4631) 2026-03-08 09:47:57 +01:00
Colin Belhomme
d4af5b2baa
fix: fix cast crash in OpenGLMobject.arrange_in_grid() and OpenGLPoint.get_location() (#4622)
Added quotes to Vector3D and to Point3D to match other calls to `cast`, such has Chopan suggested

Issue #4550: https://github.com/ManimCommunity/manim/issues/4550

Co-authored-by: Colin Belhomme <colin.belhomme@telecom-paris.fr>
2026-03-03 23:48:31 -03:00
Benjamin Hackl
1157b746c3
Prepare new release: v0.20.1 (#4615)
* bump version, regenerate lockfile, changelog 1st pass

* fix two docbuild warnings

* update changelog, include newly merged PR + review suggestion
2026-02-27 08:09:59 +01:00
Irvanal Haq
6f825e8513
Fix unintended kwargs propagation in LaggedStartMap (#4613)
* Fix unintended kwargs propagation in LaggedStartMap

Ensure  intended for  are not forwarded to the superclass, and make  explicit.

* add test for keyword propagation in LaggedStartMap

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update test_composition.py

update the test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update test_composition.py

add there_and_back

---------

Co-authored-by: Benjamin Hackl <mail@behackl.dev>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-02-27 07:14:28 +01:00
Henrik Skov Midtiby
a0414dccec
Add type annotations to manim/_config/utils.py (#4230)
* Stop ignoring  manim._config erros in mypy.ini

* Aspect ratio should be a float.

* Handled more mypy issues in _config/utils.py

* Handled more mypy issues in _config/utils.py

* Removed two assert statements that triggered errors in the unittests.

* Fix last mypy issue in utils.py and activate mypy checking

* Fix type of window_size in opengl_renderer_window.py

* ...

---------

Co-authored-by: F. Muenkel <25496279+fmuenkel@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-22 22:15:16 +00:00
Benjamin Hackl
33a0e56d73
enhancement: optimize Docker image build and runtime footprint (#4604)
* docker: add libgl1 runtime dependency for OpenGL

* docker: tighten .dockerignore for smaller build context

* docs(docker): add runtime notes for latest image

* docs(docker): note ctex is not included by default

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-02-22 17:29:18 -03:00
Benjamin Hackl
80fd11efbc
Suppress pydub ffmpeg warning on import (#4603)
Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
2026-02-22 19:30:13 +00:00
Piyush Acharya
498f0b9c89
docs: add alt text to all images for accessibility (#4064)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-22 12:51:39 +01:00
Matvey Merzlikin
87cd63549c
Add support for negative z-index in AnimationGroup (#4389)
* Add support for negative z-index in AnimationGroup

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Refactor animation unpacking logic for clarity

* Fix unpacking logic to handle Mobject instances correctly

* Fix mypy check

* Fix tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: simplify AnimationGroup unpacking for moving mobjects

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-22 11:24:32 +00:00
u7920349
cd370610c5
Documentation: manual installation of manim as a local package (#4456)
* Documentation: additonal instalation method

* Typo fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* docs: simplify dev-install section and restore PR template checklist

---------

Co-authored-by: CA3000 <93896083+CA3000@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-22 11:59:40 +01:00
Josie Thompson
a6af7f3d76
Cleanup TipableVMobject: avoid mutable default and fix assign_tip_attr typo (#4503)
* Small touch-ups before fixing tip bugs
- fixed mutable default argument in Tipable VMobject constructor
- fixed typo in method name assign_tip_attr
- added two todo's which outline unexpected behavior in tip placement and how to solve

* refactor: align tip attr naming and remove TODO comments

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-22 11:36:29 +01:00
Abdelsalam
e34e707858
Fix creation or animation of a zero-length DashedLine (#4606)
* fixing #4591

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-02-22 11:10:21 +01:00
Benjamin Hackl
7c1c9258d0
Fix publish release workflow (#4600)
* ci: fix publish release workflow

- Add sudo to apt-get calls (runner is non-root)
- Add contents: write permission for uploading release assets
- Drop uv sync before uv build (unnecessary)
- Replace archived upload-release-asset action and redundant
  Python/requests API script with gh release upload; tag name
  is available directly from the release event context
- Strip leading v from tag name to match built artifact filename

* ci: set bash shell for release asset upload step
2026-02-22 11:05:09 +01:00
Benjamin Hackl
000e7792bd
fix: MathTex double-brace splitting no longer fires on natural LaTeX }} (#4602)
* fix: replace double-brace splitting regex with state-machine parser

The previous re.split(r'{{|}}', ...) call split on any occurrence of
{{ or }} in the input string, which broke strings whose only }} came
from closing two nested LaTeX brace groups (e.g. ^{\frac{Mq}{M+m}}).

The new _split_double_braces() static method uses a character-level
state machine with three guards:

* Escape priority: \\ is consumed before \{ / \}, so \\}} is
  correctly read as an escaped backslash followed by a real }}, not
  misinterpreted as \ + \} + lone }.

* Whitespace-gated opener: {{ is only treated as a Manim group opener
  at the start of the string or after whitespace. Naturally-occurring
  {{ in LaTeX is usually preceded by non-whitespace (e.g. \frac{{{n}}}
  or a^{{2}}), so this eliminates the most common false positives.

* Depth-tracking closer: inside a Manim group, }} only closes the
  group when the inner brace depth is zero, so {{ a^{b^{c}} }} is
  handled correctly and nested LaTeX }} cannot trigger an early close.

Fixes #4601.

* docs: document double-brace whitespace requirement

Add a Notes section to the MathTex docstring explaining:
- how {{ }} splits a string into submobjects
- that {{ must be at start-of-string or preceded by whitespace
- that this leaves natural LaTeX like \frac{{{n}}}{k} untouched
- the { { ... } } escape hatch when a split is not wanted

Apply the same explanation to the double-brace paragraph in
docs/source/guides/using_text.rst.

* fix: use r-string for _split_double_braces docstring, halve backslash escaping
2026-02-22 10:48:51 +01:00
Benjamin Hackl
704830ff5f fix: fix permission problem in python-publish workflow 2026-02-21 00:16:28 +01:00
Benjamin Hackl
d1eea48aa6
Prepare new release, v0.20.0 (#4599)
* fix: resolve parameter shadowing bug in release script changelog command

* chore: bump version to v0.20.0, regenerate lockfile, update citation

* generate v0.20.0 changelog, first round

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* a bit of copyediting, second pass

* include newly merged PR, apply suggestions from review

* Update docs/source/changelog/0.20.0-changelog.md

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-02-20 23:50:31 +01:00
F. Muenkel
9504757918
Replace scipy.special.comb with math.comb (#4598)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-02-20 15:15:43 -03:00
Daniel Bates
7eab4c5450
Fix coords_to_point treating single list/array as batch of x-values (#4596)
When a single flat list or 1D numpy array was passed to
`Axes.coords_to_point()` (e.g. `ax.c2p([1, 2])` or
`ax.c2p(np.array([1, 2, 1]))`), the values were incorrectly
interpreted as multiple x-coordinates instead of a single (x, y) or
(x, y, z) point.

This happened because `np.asarray(([1, 2],))` produces a 2D array
with shape (1, N), which fell through to the code path that treats
`coords[0]` as a list of x-values. The fix detects this case
(ndim == 2, shape[0] == 1) and extracts the inner array so it is
handled identically to `c2p(1, 2)`.

Closes ManimCommunity#4073

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 17:31:19 +01:00
GoThrones
fda336978b
docs: improve TransformFromCopy docstring (#4597) 2026-02-20 17:20:08 +01:00
F. Muenkel
ab7cfc54d8
Add type annotations to point_cloud_mobject.py (#4586)
* Add type annotations to point_cloud_mobject.py

* Make reset_points return Self instead of None

* Fix return type of get_array_attrs()

* Change return type of reset_points() to Self in image_mobject.py
2026-02-18 12:59:15 +00:00
Aarush Deshpande
601a007192
Implement Mobject.always (#4594) 2026-02-17 19:47:58 -05:00
F. Muenkel
ab17eb58a3
Add type annotations to ``opengl_image_mobject.py`` (#4536)
* Add type annotations to opengl_image_mobject.py

* Remove mypy entry

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-02-16 23:27:05 +00:00
Francisco Manríquez Novoa
a5d4ab134c
Fix YELLOW_C and add PURE_CYAN, PURE_MAGENTA and PURE_YELLOW (#4562)
* Fix YELLOW_C and add PURE_CYAN, PURE_MAGENTA and PURE_YELLOW

* update default colors YELLOW -> PURE_YELLOW throughout the library

* chore: format + check

* Modify RandomColorGenerator.next() doctest whose output changed by adding colors

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-16 20:07:09 -03:00
Francisco Manríquez Novoa
f9b12e5d12
Fix ImageMobject 3D rotation/flipping and remove resampling algorithms lanczos (antialias), box and hamming (#4266)
* Fix 3D ImageMobject rotation

* Remove lanczos, box and hamming resampling algorithms

* Consider case where matrix A is singular (points are aligned)

* homographic_matrix -> homography_matrix

* Fix ImageInterpolationEx scene and increase height in ImageInterpolation test

* Regenerate unit test again

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ManimFloat should probably not be used as dtype

* Import ImageMobject inside TYPE_CHECKING

* Add Camera.points_to_subpixel_coords() and do not render perpendicular images

* Modify algorithm to use height from longest side

* Prevent possible zero division

* Regenerate ImageMobject.npz

* Edit Image.transform() commentary

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-16 19:46:01 -03:00
Francisco Manríquez Novoa
ae501baf19
Fix assertion in ImageMobjectFromCamera.interpolate_color() (#4593) 2026-02-16 23:18:47 +01:00
Henrik Skov Midtiby
761bc46cc8
Add type annotations to image_mobject.py (#4458)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-02-16 15:28:24 +00:00
Henrik Skov Midtiby
357bb3fbba
Rewrite MathTex to make it more robust regarding splitting (#4515)
* Extracted the method get_mob_from_shape_element

* Moved more functionality to get_mob_from_shape_element

* More cleanup

* Parse the svg file while maintaining the group structure.

* Make the svg groups available

* Handle PERF401 issue

* [pre-commit.ci] pre-commit autoupdate (#4506)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.7 → v0.14.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.7...v0.14.8)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Added an example of the issue

* Experimenting with coloring elements from the latex equation

* ...

* Regular expression can now match more than one object

* Process the string by applying the substrings in the order they match

* Code refactoring and added type annotations

* ...

* Added a lot of test cases

* More examples

* More examples

* Use matched_strings_and_ids to simplify existing methods

* Remove unused code

* Update get_part_by_tex to use matched_strings_and_ids

* This is required for test_MathTable to pass

* Ensure that self.texstring is set.

* Added more examples from exising issues in the github repo

* Ensure that latex groups are maintained by adding an additional pair of curly braces around the extracted part

* ExampleScene -> Scene

* Added comment

* _break_up_by_substrings

* Refactor code

* Added comment to example

* Handle integer inputs well.

* Expose the original tex_string

* Do not treat the content of substrings_to_isolate as regular expressions.

* Updated examples

* Update examples

* Fix SVMobject caching issue.

* Remove traces from brace_notation_split_occurred

* Simplify MathTex::_break_up_by_substrings

* Fix small issue in tex that in some cases moved elements a tiny bit around

* No use of regular expressions for locate substrings.

* Updated notes to the set of test cases

* Handle issues with the center environment.

* Add example

* Fix issue with rectangles (e.g. from sqrt)

* ConvertToOpenGL

* Reduce the number of nesting levels.

* Use the specified arg_seperator

* Deal with the double curly brace markup

* Code cleanup

* Code cleanup

* Rollback a few changes

* Code cleanup

* Adjust paths the generated artefacts in tests that rely on MathTex

* Added a remark to the using text guide on enclosing snippets in curly braces for substrings_to_isolate to work

* Added space around the numerator argument to frac to avoid having double curly braces in the example.

This would otherwise trigger MathTex to split the string at that location.

* Log errors properly and display some information about the errors and their context.

* Code refactoring as suggested by Benjamin

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-16 14:22:56 +01:00
F. Muenkel
6e9ec60b6f
Add type annotations to opengl_compatibility.py (#4585)
* Add type annotations to opengl_compatibility.py

* Tighten type hinting on namespace variables
2026-02-12 22:54:29 +00:00
Sacha
c8db165825
Resolve more race conditions potentially happening during directory creation (#4589)
* fixed division by 0

* fixed division by 0

* fixed division by 0

* updated lock file

* Revert "fixed division by 0"

This reverts commit b916a0c9c9.

* Add tests for turn_animation_into_updater with zero/negative run_time

* updated lock file

* tests

* tests

---------

Co-authored-by: Benjamin Hackl <mail@behackl.dev>
2026-02-12 08:18:26 +01:00
dependabot[bot]
b4049bd6c7
Bump pillow from 12.1.0 to 12.1.1 (#4588)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.0 to 12.1.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/12.1.0...12.1.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 12.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-11 16:09:06 -03:00
Oll-iver
8a5267a9ee
Enable strict=True for zip() where safe (#4547)
* sub_alphas is derived directly from to_update so they're guaranteed to be of the same length.

* self.shapes is initialised as a direct copy of the mobject, guaranteed to be of same length.

* linspace in this case guarantees both arrays are of equal size (self.n_segments).

* Any transformation already requires that each datapoint in the first tuple has a corresponding datapoint in the second (ie same length)

* Replaced arange with linspace, eliminates risk of floating point errors and forces rgbas and offset to be the same size for strict=True

* all_arc_configs is either defined specifically by length of point_pairs or strictly forced to be the same length (n). In any case they'll always be the same length so strict=True works.

* There should always be an equal amount of start and end anchors; radius_list is defined directly from the length of vertex_group; both outer_vertices and inner_vertices posess n vertices.

* boundary_times always contains has an even length so both 'slices' in the zup function are the same length.

* colors_in_gradient is defined to be the same length as p_list_complete; labels and parts are seemingly user inputs with no guarantee of equal length; val_range is defined to be same lenght as self.bar_names; however there's no authentication that self.values has a fixed length after it's been defined ie user can append to the list creating a mismatch between len(self.values) and len(self.bars)

* In most cases here, the tuples are either defined to be of same length or manipulated to be by the align_data function. In the match_points function there is currently no validation to ensure both mobjects are the same length.

* Reverting _add_x_axis_labels() zip() function back
to strict=False due to failing test cases

* Reverted strict zip usage

* color_gradient is defined to be same length as p_list_complete & within _add_x_axis_labels we define val_range to be the same length as self.bar_names

* align_data and lock_matching_data have no validation to ensure tuples in the zip() function are of the same length. Every other time zip() is used here it is generally immediately manipulating or explicitly defining the tuples to be of same length

* All tuples in zip() functions here are either clearly the same size or manipulated to be the same size using the make_even function.

* The tuples in the zip() function will clearly be of equal length, the second tuple is simply a cyclic shift of the first.

* In the ingest_submobjects function arrays is a one to one mapping of attrs so they are guaranteed to have equal lengths.

* Every usage of zip() consists of tuples that are either manipulated to be equal size or defined to be equal size.

* the zip() function in bezier_remap will always consist of equal length tuples as current_number_of_curves is read directly from the shape of bezier_tuples and is used to dictate the size of split_factors.

* The zip() function color_gradient() will always consist of equal length tuples as floors is defined directly from alphas (which also defines alphas_mod1)

* The tuples in the zip() function in adjacent_n_tuples will always be the same length so strict=True.

* The find_intersection() contains a zip() function that has been set to strict=True. While it is technically possible to pass tuples to this function that are *not* the same length, this would result in generally unexpected behaviour anyway.

* Changed zip() function to have strict=True in __init__() as custom_labels is dependent on tick_range so guaranteed to have the same length.

* Several instances of zip() set to strict=True. In add_coordinates we have axis manipulated to be the same length as tick_range. In get_riemann_rectangles() we have colors dependent on of x_range_Array forcing them to be the same length. Finally in plot_line_graph()  it is clearly intended that all inputs used in the zip() function are of the same length (except possibly z which may not exist and will be made equal length to x); while it is not guaranteed they will be the same length this would cause unintended behaviour.

* zip() function bool changed to strict=True in all these test cases. Most test cases either a) hardcode two things to be the same length, b) verify things are the same length before the function or c) explicitly exist to check whether two things are the same length.
2026-02-11 10:39:25 +01:00
Tim Hutt
6adc6e4cf6
Add py.typed to declare manim as having type hints (#4553)
* Add py.typed to declare manim as having type hints

This tells tools like Pyright that this package has its own type hints and it should try to look for them in typeshed.

Fixes #4552

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-02-11 10:35:12 +01:00
Henrik Skov Midtiby
21e7e0d9c1
Cleaned up mypy.ini (#4584)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-11 10:04:31 +01:00
Sacha
7efa45492f
Fix TOCTOU Race Conditions when creating directories (#4587)
* fixed division by 0

* fixed division by 0

* fixed division by 0

* updated lock file

* Revert "fixed division by 0"

This reverts commit b916a0c9c9.

* Add tests for turn_animation_into_updater with zero/negative run_time

* updated lock file

* tests

---------

Co-authored-by: Benjamin Hackl <mail@behackl.dev>
2026-02-11 10:00:40 +01:00
dependabot[bot]
c261c61dfd
Bump nbconvert from 7.16.6 to 7.17.0 (#4582)
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.16.6 to 7.17.0.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.16.6...v7.17.0)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-version: 7.17.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 22:42:58 -03:00
Aarush Deshpande
9d98f00ee9
Remove __future__.annotations from required imports (#4571)
* Remove __future__.annotations from required imports
2026-02-05 21:57:20 -03:00
Benjamin Hackl
587e8d6546
Rework and consolidate release changelog script, add previously skipped changelog entries (#4568)
* rewrite dev_changelog script from scratch, turn into release util cli

* cleanup dependencies

* regenerate skipped changelog entries

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove changelog section from PR template

* fix pre-commit checks

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2026-02-04 10:10:39 +01:00
Sacha
d49115316e
Fixed division by 0 in "turn_animation_into_updater" (#4567)
* fixed division by 0

* fixed division by 0

* fixed division by 0

* updated lock file

* Revert "fixed division by 0"

This reverts commit b916a0c9c9.

* Add tests for turn_animation_into_updater with zero/negative run_time

* updated lock file

---------

Co-authored-by: Benjamin Hackl <mail@behackl.dev>
2026-02-03 22:40:09 +00:00
Rin
2f38426ceb
fix: initialize a_tex to prevent UnboundLocalError in PolarPlane (#4557) 2026-02-02 01:09:50 -03:00
Arnaud
bbdcda1ff5
add type annotations and docstrings for opengl_renderer.py (#4537)
* type annotations and docs for opengl_renderer.py

* add missing self

* Fix RTD build: move Window import to TYPE_CHECKING block

The Window import was moved to module-level in a recent type annotation
commit, but this causes opengl_renderer_window.py to be imported at
load time, triggering pyglet which fails on headless systems (RTD) when
it tries to create a shadow window. Moving the import into TYPE_CHECKING
preserves type hints for mypy while avoiding runtime display dependency.

* Fix mypy errors in opengl_renderer.py

- Cast np.linalg.inv() result to correct type
- Convert quaternion list to ndarray before passing to rotation_matrix_transpose_from_quaternion
- Cast get_center return value
- Fix return type for pixel_coords_to_space_coords (ensure float dtype)
- Add type: ignore for moderngl.create_context backend arg (incorrect stubs)
- Add type: ignore for blend_func assignment (incorrect stubs)

* Fix mypy errors and runtime import issues in opengl_renderer.py

- Import MatrixMN and Point3D at runtime (needed for typing.cast)
- Cast np.linalg.inv() result to correct MatrixMN type
- Convert quaternion list to ndarray before passing to rotation_matrix_transpose_from_quaternion
- Cast get_center and pixel_coords_to_space_coords return values to Point3D
- Ensure float dtype in np.array literals for type consistency

* Add runtime import of Window in init_scene

The Window class is imported inside TYPE_CHECKING for type hints, but
needs to be imported at runtime when actually creating a window. This
import is deferred to avoid triggering pyglet display initialization
on headless systems (RTD build).

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-01-25 21:24:16 +01:00
BHearron38
2c0b49be9f
fix: infinite recursion caused by accessing color of a highlighted Ta… (#4435)
* fix: infinite recursion caused by accessing color of a highlighted Table cell.

fix: removed type: ignore[attr-defined] mypy was not a fan of

* fix: added back needed mypy type ignore

* Add regression tests for Table/BackgroundRectangle color access

Tests for infinite recursion issue fixed in PR #4435 (issue #4419).

Refs: #4419

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Refactor BackgroundRectangle color test to geometry tests

Move test_background_rectangle_color from test_table.py to
test_unit_geometry.py since BackgroundRectangle lives in
geometry/shape_matchers.py, not in tables.

Regression test for ManimCommunity/manim#4419 (infinite recursion
when accessing BackgroundRectangle.color)

* Fix: Added missing manim GREEN import needed for test_BackgroundRectangle_color_access()

---------

Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
Co-authored-by: Benjamin Hackl <mail@behackl.dev>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: bhearr <None>
2026-01-25 16:47:58 +01:00
Benjamin Hackl
eb8194a640
Fix broken aquabeam OpenGL link using Wayback Machine (#4545)
Refs: #4468, #4509

Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
2026-01-25 12:33:39 +00:00
Aditi Juneja
eca7f17853
using color instead of fill_color with MathTeX for node labels (#4501)
* fill_color --> color for MathTeX

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-01-25 11:53:05 +01:00
Arnaud
2317b0ee8b
feat: add a 'seed' option for reproducible outputs (#4532)
* feat: 'seed' option for reproducible outputs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* enh: let Scene automatically pick global random seed, use arg as override

* chore: move import slightly

* chore: add test for color generator being reproducible with global config seed

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-01-20 22:24:32 +01:00
F. Muenkel
d938533742
Add type annotations to ``rotation.py`` (#4535)
* Add type annotations to rotation.py

* Remove mypy entry

* Make typing of axis, about_point and about_edge consistent

* More typing in transform.py
2026-01-19 17:32:29 -03:00
Francisco Manríquez Novoa
0b3f28a5af
Revert "Set the default Python version to 3.13 in the uv installation guide (…" (#4534)
This reverts commit 83bcafb0e7.
2026-01-18 08:49:10 +01:00
Arnaud
6a56cc5ce6
fix: show doc of RandomColorGenerator (#4533) 2026-01-17 15:53:31 -03:00
Benjamin Hackl
cd7cd1b219
fix release pipeline: install dependencies (#4531) 2026-01-17 11:55:01 +01:00
Benjamin Hackl
9a6550d356
Prepare new release v0.19.2 (#4528)
* chore: bump version numbers etc

* chore: update lockfile

* chore: update date before release
2026-01-17 09:26:40 +01:00
Henrik Skov Midtiby
06f2fe231a
Checking version requirements for dependencies (#4529)
* Update pydub minimum version to 0.22

* numpy>=2.1

* av>=15.0

* isosurfaces>=0.1.1

* Updated lower bounds on dependencies.
2026-01-16 01:31:56 +01:00
Benjamin Hackl
d64af99f89
Add .github/release.yml for improved classifications in automatically generated changelogs (#4526)
* add release.yml file for automated changelog classification

* chore: cleanup leftover comments, add link to doc reference
2026-01-13 22:37:39 +01:00
dependabot[bot]
2e0aa8f529
Bump virtualenv from 20.35.4 to 20.36.1 (#4525)
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.35.4 to 20.36.1.
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.35.4...20.36.1)

---
updated-dependencies:
- dependency-name: virtualenv
  dependency-version: 20.36.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 22:05:07 +01:00
dependabot[bot]
88718ce43f
Bump filelock from 3.20.0 to 3.20.3 (#4527)
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.20.0 to 3.20.3.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.20.0...3.20.3)

---
updated-dependencies:
- dependency-name: filelock
  dependency-version: 3.20.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 22:04:42 +01:00
Swarnlata
73eeacb880
fix: correct Circle.point_at_angle calculation (#4236) (#4438)
* fix: correct Circle.point_at_angle calculation for accurate arc mapping

* chore: remove unused variable 'start_angle' to fix pre-commit CI

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* test: add test for Circle.point_at_angle()

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Benjamin Hackl <mail@behackl.dev>
2026-01-13 18:45:02 +01:00
Jude Nimo
739c2c3f14
Fix type error: pass scene instead of self to get_hash_from_play_call (#4524)
Co-authored-by: Jude Nimo <judenimo@users.noreply.github.com>
2026-01-13 18:19:20 +01:00
dependabot[bot]
d75f84a985
Bump actions/upload-artifact from 5 to 6 (#4522)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 17:54:32 +01:00
dependabot[bot]
b59f311331
Bump actions/cache from 4 to 5 (#4523)
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 17:54:08 +01:00
Christian Clauss
dc4a8bb741
Replace legacy numpy usage ruff rule NPY002 (#4516) 2026-01-13 17:23:34 +01:00
Benjamin Hackl
4bc77b3a00
Bump Python target versions of both mypy and ruff
Merging #4520 - all CI checks passing and approved by JasonGrace2282
2026-01-13 01:13:21 +01:00
Benjamin Hackl
c424f83cb4
Bump minimum Python to 3.11 and av to 14.0.1 (#4385)
* chore: bump minimum supported python to 3.11

* fix: breaking changes from av upgrade

* chore: slightly bump minimum required version of av to 14.0.1

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* chore: update lockfile

* chore: update lockfile again with --upgrade

* Update pyproject.toml

* chore: CI pipeline os/version changes

* fix: indentation in ci.yml

* fix: use result.output instead of result.stdout for test_manim_cfg_subcommand

In Click 8.3.1 (pulled in by av>=14.0.1), help text output
behavior changed for no_args_is_help=True. Using result.output
instead of result.stdout makes the test robust across Click versions,
matching the pattern used in other tests like
test_manim_plugins_subcommand.

* fix: add UP to imports in get_winding_number doctest

* fix: add match_interpolate to imports in doctest

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-01-12 14:27:48 +01:00
Christian Clauss
0d2533231b
Test on Apple Silicon ARM64 (#4496)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-01-12 01:22:16 +01:00
Henrik Skov Midtiby
b24b61776b
Add type annotations to three_dimensions.py (#4497)
* Initial type work

* More kwargs Any

* More typing

* _get_u_values_and_v_values cleaned

* self.checkerboard_colors

* Simplify code

* colorscale

* new_colors

* Ugly hacks to make the opengl objects behave

* checkerboard_colors

* Ignored a single type error

* Ignored the last type error

* Remove entry from mypy.ini

* set_fill_by_checkerboard

* resolution

* u_range and v_range

* ThreeDAxes

* Is tuple a color?

* resolution

* Point3D and Vector3D

* More with Point3D

* resolution

* colorscale

* checkerboard_colors Iterable

* Breaking change: checkerboard_colors can now be set to None

* Revert "Breaking change: checkerboard_colors can now be set to None"

This reverts commit d5c54cf5fa.

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-01-11 23:47:38 +01:00
pre-commit-ci[bot]
d308ae3372
[pre-commit.ci] pre-commit autoupdate (#4518)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.9 → v0.14.10](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.9...v0.14.10)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-01-11 23:41:24 +01:00
Benjamin Hackl
ff86ee6333 Merge remote-tracking branch 'codeberg/main' 2026-01-11 00:01:43 +01:00
TahaShams
ef0cf2a34d Docs: Fix TangentialArc example and add quadrant visualization (codeberg-mirror/#1)
## Overview: What does this pull request change?
This PR fixes the documentation for `TangentialArc`.
1. It replaces the static code block in the `TangentialArc` example with the `.. manim::` directive, allowing the example image/video to actually render in the documentation.
2. It adds a new second example scene, `TangentialArcCorners`, which visually demonstrates how the `corner` parameter (e.g., `(1,1)`, `(-1,1)`) affects the arc's orientation.

## Motivation and Explanation: Why and how do your changes improve the library?
Previously, the `TangentialArc` example was hidden inside a standard code block, so users could not see what the output looked like.
Additionally, the `corner` parameter is complex to visualize mentally. The new `TangentialArcCorners` scene provides a clear visual reference for all four possible quadrant configurations, making the class much easier to learn.

## Links to added or changed documentation pages
N/A

## Further Information and Comments
I have tested these changes locally and verified that the images generate correctly.
I am submitting this to the Codeberg mirror as per the current guidance regarding the GitHub incident.

**Visual Proof of the new example:**
I have attached the image

## Reviewer Checklist
- [ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
- [ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
- [ ] If applicable: newly added functions and classes are tested

Reviewed-on: https://codeberg.org/ManimCommunity/manim/pulls/1
Reviewed-by: Benjamin Hackl <behackl@noreply.codeberg.org>
Co-authored-by: TahaShams <01-134222-153@student.bahria.edu.pk>
Co-committed-by: TahaShams <01-134222-153@student.bahria.edu.pk>
2026-01-10 23:58:06 +01:00
Benjamin Hackl
75285d1f01 chore: update README 2026-01-09 23:30:49 +01:00
pre-commit-ci[bot]
d60154d024
[pre-commit.ci] pre-commit autoupdate (#4514)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.8 → v0.14.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.8...v0.14.9)
- [github.com/pre-commit/mirrors-mypy: v1.19.0 → v1.19.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.19.0...v1.19.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-12-16 14:08:38 +01:00
Henrik Skov Midtiby
976d634656
Remove deprecation warning from pytest np.trapz -> np.trapezoid (#4513) 2025-12-15 17:42:23 +01:00
pre-commit-ci[bot]
765f02f3ed
[pre-commit.ci] pre-commit autoupdate (#4506)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.7 → v0.14.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.7...v0.14.8)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-12-15 12:10:32 +01:00
dependabot[bot]
a50d8363e7
Bump actions/checkout from 5 to 6 (#4498)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 01:18:38 +01:00
Christian Clauss
de090c1bd0
Add ruff rules PERF for performance (#4492)
* Add ruff rules PERF for performance

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-12-01 10:42:46 +00:00
Benjamin Hackl
e85bfca015
Prepare new release v0.19.1 and remove support for Python 3.9 (#4490)
Co-authored-by: Francisco Manríquez <francisco.manriquezn@usm.cl>
2025-11-30 23:20:20 -03:00
Benjamin Hackl
0541f9e6f1 Merge branch 'dependabot/github_actions/actions/upload-artifact-5' 2025-11-30 15:36:11 +01:00
Benjamin Hackl
c78de89e64 Merge branch 'dependabot/github_actions/github/codeql-action-4' into dependabot/github_actions/actions/upload-artifact-5 2025-11-30 15:35:10 +01:00
Benjamin Hackl
ab045f0ae1 Merge branch 'dependabot/github_actions/astral-sh/setup-uv-7' into dependabot/github_actions/actions/upload-artifact-5 2025-11-30 15:34:55 +01:00
pre-commit-ci[bot]
52820c6b65
[pre-commit.ci] pre-commit autoupdate (#4467)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.2 → v0.14.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.2...v0.14.6)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-11-30 15:18:39 +01:00
Jake Kinchen
51aa01acea
Fix duplicated arrow tips in DashedVMobject (issue #3220) (#4484)
* Fix duplicated arrow tips in DashedVMobject and add tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-11-27 09:55:53 +00:00
dependabot[bot]
fcb9f6fee3
Bump astral-sh/setup-uv from 6 to 7
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6 to 7.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v6...v7)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 22:20:43 +00:00
dependabot[bot]
adb0915605
Bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 22:20:22 +00:00
dependabot[bot]
b6a464ed64
Bump github/codeql-action from 3 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 22:20:21 +00:00
Francisco Manríquez Novoa
3bf384ab1e
Bump macOS image from deprecated macos-13 to macos-15-intel (#4481) 2025-11-26 22:19:19 +00:00
godalming123
a1bca6c3b9
Fix type errors and add typings for Mobject.apply_function(), its derivatives, and other utility functions (#4228)
* Fixes

Fix type errors, add types for the transformation functions, and fix one case where the about_point and about_edge options were not correctly passed in apply_complex_function in mobject.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* More fixes

- Import a couple types that should have been imported
- Remove the redefinition of self.background_stroke_width in manim/mobject/types/vectorized_mobject.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-11-26 15:11:09 -03:00
Guilherme Tomiasi
51377b530c
Pass ndarrays to mapbox_earcut.triangulate_float32() to fix TypeError in mapbox_earcut==2.0.0 (#4479)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-11-20 02:03:23 +00:00
nubDotDev
3c6ea0e2d6
Allow passing a buff to LabeledDot (#4403)
* Give LabeledDot a buffer and improve radius calculation

* fix norm calculation

* documentation

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-11-19 20:11:11 +00:00
Benjamin Hackl
00d0b297b4
make sure that if updating is suspended for a parent mobject, children are still updated (#4402)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-11-19 19:47:21 +00:00
Henrik Skov Midtiby
83bcafb0e7
Set the default Python version to 3.13 in the uv installation guide (#4480)
* Set the default python version to 3.13 in the uv installation guide.

* Capitalize Python

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-11-19 19:12:11 +00:00
Morkunas
7e950b38fa
Prevent mutation of about_point in apply_points_function_about_point - Fixes #4445 (#4478)
* Add regression tests for about_point view mutation issue

This adds regression tests for issue #4445 where using get_vertices()[0]
as about_point in transformation methods would cause incorrect results
due to numpy array view mutation.

Tests added:
- test_rotate_about_vertex_view
- test_scale_about_vertex_view
- test_stretch_about_vertex_view
- test_apply_matrix_about_vertex_view
- test_opengl_rotate_about_vertex_view (OpenGL was not affected by the bug)

Related to #4445

* Fix about_point view mutation in apply_points_function_about_point

When about_point parameter receives a numpy array view (e.g., from
get_vertices()[0]), the in-place operation `mob.points -= about_point`
would mutate the view, corrupting the transformation calculation.

This fix copies about_point before using it to prevent view mutation.

The OpenGL renderer was not affected by this bug because it uses
`arr - about_point` (creates temporary) instead of `arr -= about_point`
(mutates in-place).

Fixes #4445

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-16 21:17:08 +01:00
NightyStudios
9528337ad4
Allow selection of all scenes to render using '*' (#4470)
* added option to render all scenes by typing '*' when prompted

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-08 20:22:57 +01:00
Brainsucker92
afa4692f7b
Add implementation for tangential arc (#4469)
* Add implementation for tangential arc

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add example

* Improve doc slightly

* Remove corner type

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add test for TangentialArc

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Import Line only if type checking

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add missing type hint

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add test for tangential arc

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-06 23:05:24 +01:00
pre-commit-ci[bot]
038d16b531
[pre-commit.ci] pre-commit autoupdate (#4460)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.1 → v0.14.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.1...v0.14.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-31 21:35:10 +01:00
Sir James Clark Maxwell
3e8f41c9be
Better parsing of color styles in CodeMobject (#4454)
* fixed problem: default value of color in styles in CodeMobject

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added accidently removed test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update code_mobject.py

Code suggested by maejam

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
Co-authored-by: Henrik Skov Midtiby <henrikmidtiby@gmail.com>
2025-10-26 08:47:47 +01:00
F. Muenkel
4dd2937f1e
Add type annotations to cairo_renderer.py (#4393)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
2025-10-24 20:59:11 +00:00
SASHAKT1290
a810f5535c
Update default resolution in CLI to match Manim’s 1920x1080 default settings (#4452)
* swapped height and width values

* updated default resolution settings
2025-10-24 21:56:35 +02:00
Henrik Skov Midtiby
dd04fce52a
Solution to issue 3562. (#4373)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-10-24 21:56:08 +02:00
Sir James Clark Maxwell
e7d69834b3
Ensure that start and end points are stored as float values in Line3D (#4080)
* fixed problem with type conversions in Line3D

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed broken test and Arrow3D

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/mobject/three_d/three_dimensions.py

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Update manim/mobject/three_d/three_dimensions.py

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Delete unnecessary file

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed typo in variable nam

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2025-10-24 21:14:55 +02:00
Nikhil Arora
7ffdf04dcb
Fix: correct tuple order to (height, width) and map height→pixel_height, width→pixel_width (#4440)
Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
2025-10-24 13:18:04 +00:00
pre-commit-ci[bot]
e489ebf220
[pre-commit.ci] pre-commit autoupdate (#4409)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.9 → v0.14.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.9...v0.14.1)
- [github.com/pre-commit/mirrors-mypy: v1.17.1 → v1.18.2](https://github.com/pre-commit/mirrors-mypy/compare/v1.17.1...v1.18.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
2025-10-24 14:41:40 +02:00
dependabot[bot]
ce2c3c43e4
Bump actions/checkout from 4 to 5 (#4418)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-23 10:22:40 +02:00
dependabot[bot]
5ccc5bac19
Bump actions/setup-python from 5 to 6 (#4433)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Henrik Skov Midtiby <hemi@mmmi.sdu.dk>
2025-10-23 10:21:56 +02:00
Christian Clauss
e6777d6334
Fix failing pre-commit tests (#4434) 2025-10-23 08:39:17 +02:00
Riccardo Bergamaschi
855ea863b6
Add type annotations to opengl_mobject.py (#4398)
* feat(manim.mobject.opengl): added type annotations for `opengl_compatibility.py`

* feat(manim.mobject.opengl): typed almost all attribute definitions in `OpenGLMobject.__init__`

* feat(manim.mobject.opengl): typed more methods for `OpenGLMobject`

* fix(manim.mobject.opengl): import `override` from `typing_extensions`

* fix(manim.mobject.opengl): import `Never` from `typing_extensions`

* feat(manim.utils.config_ops): made `_Data` descriptor generic, to allow correctly typing `OpenGLMobject`

* fix(mypy.ini): don't ignore `manim.mobject.opengl.opengl_mobject`

* fix(manim.utils.config_ops): import `TypeVar` from `typing_extensions`, because the `typing` one does not have the `default` argument.

* feat(manim.mobject.opengl.opengl_mobject): Type checked more methods in `OpenGLMobject`.

* fix(manim.mobject.opengl.opengl_mobject): Fix a typo in `OpenGLMobject.restore`.

* feat(manim.mobject.opengl.opengl_mobject): Typed more methods in `OpenGLMobject`.

* feat(manim.mobject.opengl.opengl_mobject): Moved `overload`s inside an `if TYPE_CHECKING` statement.

* feat(manim.mobject.opengl.opengl_mobject): Added type annotations for `**kwargs` in a set of related methods.

* Revert "feat(manim.mobject.opengl): added type annotations for `opengl_compatibility.py`"

This reverts commit 1cd1550dd2.

* fix(OpenGLMobject): defined `get_array_attrs` method (and typed `_original__init__` at class scope).

I followed the advice of an existing `# TODO` comment and the implementation in `Mobject`. This also resolves a mypy error in this class (missing attribute).
It's interesting because the `get_array_attrs` method is (was) only defined in three classes:
- `Mobject`
- `PMobject`
- `OpenGLPMobject`

* feat(manim.mobject.opengl.opengl_mobject): Added type annotations for the `override_animate()`.

* feat(manim.mobject.opengl.opengl_mobject): Added type annotations to `_AnimationBuilder` and some methods in `OpenGLPoint`.

* fix(manim.mobject.opengl.opengl_mobject): fix failing tests

* fix(OpenGLMobject): default implementation of `pointwise_become_partial(…)` had to return `self`!

* feat(OpenGLMobject): added `type: ignore[no-untyped-call]` for calls to `ShaderWrapper` methods (not yet annotated).

* feat(OpenGLMobject): annotated shader-related `ClassVar`s

* feat(OpenGLMobject): typed several `**kwargs` and added `type: ignore[no-any-return]`s for cases where mypy cannot understand operations on numpy arrays.

* feat(OpenGLMobject): typed more `**kwargs` and fixed `set_color` arguments

* feat(OpenGLMobject): Added more type annotations.

* feat(OpenGLMobject): Typed `OpenGLMobject.uniforms` and `OpenGLMobject.fixed_orientation_center`

* fix(OpenGLMobject): fix tests

* fix(OpenGLGroup): annotate `**kwargs`

* fix(OpenGLPoint): annotate `**kwargs`

* fix(OpenGLPoint): corrected `**kwargs` and removed two `type: ignore`s

* fix(OpenGLPoint): removed `# type: ignore[no-untyped-call]`s

* fix(ci): import `Self` from `typing_extensions` rather than `typing`.

* fix(ci): import `TypeAlias` from `typing_extensions` rather than `typing`.

* feat(OpenGLMobject): make use of PEP 728.

* fix(ci): update `typing-extensions` requirement to the first version that supports PEP 728.

* fix(OpenGLMobject): avoid variable redefinitions in the `arrange_in_grid` method.

* fix(mypy.ini): remove unused changes to `mypy` configuration.

* fix(OpenGLMobject): use different symbols for the two `updater` variables.

* Revert "fix(ci): update `typing-extensions` requirement to the first version that supports PEP 728."

This reverts commit 69b96c6420.

* fix(OpenGLMobject): remove `TypedDict`s and switch to the less precise `**kwargs: Any`.

* Handle three no-any-return issues.

* Removed the slash divider in function parameters

* Removed the slash divider in function parameters

* Keep a single slash divider - to make return types match

---------

Co-authored-by: Henrik Skov Midtiby <henrikmidtiby@gmail.com>
2025-08-21 20:59:47 +00:00
NIKIL PAUL
8535d0675b
Added license information to documentation landing page (#3986)
* edit: added the descriptions to /docs/source/index.rst

* apply suggestions from review

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-08-18 23:16:45 +02:00
pre-commit-ci[bot]
3ea23e9cd0
[pre-commit.ci] pre-commit autoupdate (#4405)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.8 → v0.12.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.8...v0.12.9)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-18 21:09:36 +02:00
Benjamin Hackl
7e2ea86e98
Fix some config options specified via --config_file not being respected properly (#4401) 2025-08-17 09:40:38 -04:00
Henrik Skov Midtiby
6b668784f2
Add type annotations to moving_camera.py (#4397) 2025-08-13 18:33:51 -04:00
Henrik Skov Midtiby
dd91a8a2ee
Simplify the function remove_invisible_chars in text_mobject.py (#4394)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-08-13 15:01:20 +00:00
Henrik Skov Midtiby
ec306075a9
Add type annotations to opengl_geometry.py (#4396) 2025-08-13 10:29:45 -04:00
Benjamin Hackl
2d3aa0d2f4
Ensure leading whitespace does not change line height for lines in CodeMobject (#4392)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-08-12 21:38:42 -04:00
Francisco Manríquez Novoa
a56c06cd51
Rename types like RGBA_Array_Float to FloatRGBA and add types like FloatRGBA_Array (#4386)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-08-12 10:37:59 -04:00
Henrik Skov Midtiby
03a94141d2
Add type annotations to text_mobject.py (#4381)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-08-11 21:16:39 +00:00
Henrik Skov Midtiby
5a2b3384f1
Rewrite color_gradient to always return a list of ManimColors (#4380)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-08-11 15:15:38 -04:00
nubDotDev
c4dc0ea86d
Allow passing a tuple to buff in SurroundingRectangle to specify buffer in x and y direction independently (#4390)
* Give SurroundingRectangle 2D buffer

* add test for SurroundingRectangle buff parameter

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-08-11 20:20:57 +02:00
pre-commit-ci[bot]
e822de0315
[pre-commit.ci] pre-commit autoupdate (#4391)
updates:
- [github.com/pre-commit/pre-commit-hooks: v5.0.0 → v6.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0)
- [github.com/astral-sh/ruff-pre-commit: v0.12.7 → v0.12.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.7...v0.12.8)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-11 20:18:58 +02:00
F. Muenkel
f69f2545d9
Rename SceneFileWriter.save_final_image() to save_image() (#4378)
* Rename save_final_image() to save_image()

* Rename SceneFileWriter.save_final_image() to save_image() and fix
  docstring

* fix some type annotations

* make docstrings consistent

* Update manim/scene/scene_file_writer.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-08-11 18:59:48 +02:00
F. Muenkel
48d5a36aad
Typing opengl_renderer_window.py (#4363)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: Francisco Manríquez <francisco.manriquezn@usm.cl>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-08-09 17:11:41 -04:00
Francisco Manríquez Novoa
05cc414014
Refactor imports from collections.abc, typing and typing_extensions for Python 3.9 (#4353)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-09 17:51:30 +00:00
Francisco Manríquez Novoa
b3df1cf79e
Properly define init_points methods (#4360) 2025-08-09 19:28:20 +02:00
nubDotDev
cb8af6f2d0
Bevel cube corners (#4361)
* Fixed surface animations in OpenGL

* bevel cube joints
2025-08-09 19:24:37 +02:00
Benjamin Hackl
d8a7e55ee1
Exclude check for cyclic imports by CodeQL (#4384)
* exclude check for cyclic imports by CodeQL

* also exclude py/unsafe-cyclic-import
2025-08-09 19:22:07 +02:00
pre-commit-ci[bot]
2d8d81c209
[pre-commit.ci] pre-commit autoupdate (#4204)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.11.0 → v0.12.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.0...v0.12.7)
- [github.com/pre-commit/mirrors-mypy: v1.15.0 → v1.17.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.15.0...v1.17.1)

* Fix errors

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
2025-08-09 17:23:28 +02:00
Kabilan
fc68c10433
Add info-level logging for config files read and enhance output (#4375)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-08-07 20:24:59 +00:00
Henrik Skov Midtiby
d0521fa06d
Add type annotations to movement.py (#4371)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-08-06 17:52:16 -04:00
Henrik Skov Midtiby
e339a68e54
Add type annotations to growing.py (#4368)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-08-06 21:21:57 +00:00
Henrik Skov Midtiby
c887b51d63
Add type annotations to composition.py (#4366)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-08-06 20:38:59 +00:00
Henrik Skov Midtiby
ded54e41ae
Add type annotations to indication.py (#4367)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-08-06 13:54:36 +00:00
Benjamin Hackl
04503adb70
Fix Sphinx exceptions when trying to build documentation via latex / as pdf (#4370)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-06 08:43:50 -04:00
Henrik Skov Midtiby
9c9ebf428e
Add type annotations to dot_cloud.py, vectorized_mobject_rendering.py and opengl_three_dimensions.py (#4359)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-01 11:07:09 -04:00
Francisco Manríquez Novoa
d18dc8f89b
Add VectorNDLike type aliases (#4068)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-01 04:31:30 +00:00
Henrik Skov Midtiby
7eb88562c2
Add type annotations for most of camera and mobject.graphing (#4125)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-01 00:59:29 +00:00
F. Muenkel
aa0cd4fe82
Add type hints to scene_file_writer.py, section.py, and zoomed_scene.py (#4133)
* Add type hints to scene/scene_file_write.py

* Add type hints to scene/scene_file_write.py

* Add type hints to scene/section.py

* Add type hints to scene/zoomed_scene.py

* Add type hints to scene/moving_camera_scene.py

* Fix typing of variable scene_name

* Fix typing

* Fix one more type hint
2025-07-30 08:52:22 -04:00
Henrik Skov Midtiby
a9b65eed5f
Revert change of default value (#4358) 2025-07-29 10:09:21 -04:00
Henrik Skov Midtiby
dba6fa8f99
Add type annotations to three_d_camera.py (#4356)
* Adding type annotations to three_d_camera.py

* Suggestions from Chopan50

* Removed a comment.

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-07-29 13:09:55 +00:00
Henrik Skov Midtiby
df36f4f196
Add type annotations to tex_mobject.py (#4355)
* Starting to work on type annotations for tex_mobject.py

* More work

* Finished.

* Code cleanup.

* ...

* Removed the ignore errors line in mypy for tex_mobject

* Fix typing of colors

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-07-29 12:32:23 +00:00
Francisco Manríquez Novoa
7ea765a759
Optimize Mobject.become() (#4357) 2025-07-29 07:57:02 -04:00
Henrik Skov Midtiby
21fe73b5c2
Add type annotations to manim/renderer/shader.py (#4350)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-07-27 23:14:41 +00:00
F. Muenkel
088affd876
Fix typo in import of OpenGLCamera (#4352) 2025-07-26 18:08:15 +00:00
F. Muenkel
c7ff795c0a
Add support for arithmetic operators //, %, *, ** and / on `ValueTracker` (#4351)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-07-26 17:45:05 +00:00
Irvanal Haq
dea245ad9a
Fix duplicate references in Scene.mobjects after ReplacementTransform with existing target mobject (#4242)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-26 01:30:54 +00:00
F. Muenkel
a8c16fbfb1
Add type hints to mobject/value_tracker.py (#4129)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-25 21:25:01 +00:00
gui martins
83d4301184
Add docstrings for ChangingDecimal and ChangeDecimalToValue (#4346)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-25 16:43:19 +00:00
nubDotDev
b65b0f2470
Fixed surface animations in OpenGL (#4286) 2025-07-25 15:40:52 +00:00
Abhilasha Tandon
4ddf77739d
Include Text.gradient in hash to properly regenerate Text when its gradient changes (#4099)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-07-25 15:13:09 +00:00
Francisco Manríquez Novoa
e73b6590dd
Add classes MethodWithArgs, SceneInteractContinue and SceneInteractRerun inside new module manim.data_structures (#4315)
* Add classes MethodWithArgs, SceneInteractRerun and SceneInteractExit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add missing manim.data_structures file

* Rename SceneInteractExit to SceneInteractContinue and use dataclasses

* Revert using @dataclass(slots=True), because Python 3.9 does not support it

* Change order of dataclasses

* Add references to Scene.queue in docstrings

* Include data_structures in utilities_misc.rst

* Use qualified names and mark strings as code in data_structures.py

* Add module docstring to data_structures.py

* Move Scene.interact() objects from data_structures.py into scene.py

* Use qualified name in SceneInteractAction docstring

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-25 00:37:14 +02:00
Henrik Skov Midtiby
fd8ab62613
Fix BraceLabel.change_label() and document BraceText (#4347)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-07-24 22:09:02 +00:00
Henrik Skov Midtiby
047db453ff
Add type annotations to mobject/svg/brace.py (#4309)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-07-24 21:37:43 +00:00
Luka Rahne
2f02eb9328
Fix Prism rendering with wrong dimensions in OpenGL (#4003)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-07-24 20:44:25 +00:00
dependabot[bot]
c1663f1a1e
Bump astral-sh/setup-uv from 5 to 6 (#4234)
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5 to 6.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v5...v6)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 17:55:33 +02:00
NASAnerd05
2790a70bc5
Improved readability, grammar, as well as added docstrings for consistency (#4267)
* Improve MappingCamera, MovingCamera, Rotation, CliColors, and _init_.py readability and docstrings

* Readibility and docsstrings

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestion from @behackl

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-07-20 14:33:45 +02:00
Henrik Skov Midtiby
fdb5cb9f04
Add typing annotations to svg_mobject.py (#4318)
* Add typing annotations to svg_mobject.py

* Added ignore statements in four locations.

* cleanly resolve non-None stroke_width in svg_mobject

* revert clean solution (???)

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-07-20 14:17:40 +02:00
Francisco Manríquez Novoa
ec501b960c
Remove manim.gui and move configure_pygui into Scene as a method (#4314) 2025-07-20 13:22:24 +02:00
Henrik Skov Midtiby
e54113e263
Handling typing errors in text/numbers.py (#4317) 2025-07-20 12:51:59 +02:00
Henrik Skov Midtiby
b83410aee0
Ensure that the stroke_width property of SVGMobject is not set to None. (#4319)
This change fixes issue 4311.
2025-07-20 12:36:09 +02:00
Henrik Skov Midtiby
f124235a9b
Adding type annotations to polyhedra.py and matrix.py (#4322)
* Fixed all mypy errors in polyhedra.py

* Added type annotations to matrix.py
2025-07-20 12:31:25 +02:00
Mohamed El Shorbagy
9e74ee7edf
Add zero to remove negative zeros (#4332) 2025-07-20 12:28:56 +02:00
OliverStrait
3721fb1612
Use utf-8 encoding to read generated .tex files. (#4334)
Co-authored-by: Oliver Strait <strait.devoliver@gmail.com>
2025-07-20 12:27:25 +02:00
Henrik Skov Midtiby
3d029c1280
Fix for issue 4255 - Arrow3D: get_start() and get_end() methods both return np.array([0,0,0]). (#4320) 2025-07-10 10:24:23 +02:00
S. M. Mohiuddin Khan Shiam
f63ba71f04
Gracefully fall back when version metadata is missing (#4324)
* Update __init__.py

* Update manim/__init__.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-07-10 10:23:12 +02:00
Benjamin Hackl
a234ff31e8
Replace setup-texlive-action in CI workflow (#4326)
* replace setup texlive action

* cleanup in packages to install

* one more
2025-07-03 08:29:01 -04:00
Henrik Skov Midtiby
9c43ad0d21
Store the original alpha channel from the image when creating the ImageMObject and then use it in the set_opacity method (#4313)
Change from PR 2923 by NicoWeio
2025-06-26 10:56:49 +02:00
Henrik Skov Midtiby
ea16d22735
Add type annotations to scene.py and vector_space_scene.py (#4260)
* Stop ignoring errors from manim/scene.py

Count: 307 errors

Type annotations on scene/vector_space_scene.py

Add type annotations to scene/vector_space_scene.py

Mypy count: 210

Reverting two changes that triggers an error in the automatic testing.

Further work on type hinting.

Avoid forwarding positional arguments from Arrow to Line in the constructor.

Revert "Avoid forwarding positional arguments from Arrow to Line in the constructor."

This reverts commit 80ae8576c1.

Removed several type ignore statements and addressed comments from JasonGrace2282

Revert "Activate mypy check of mobject.geometry.*"

This reverts commit d477c9a994.

Revert "Removed several type ignore statements and addressed comments from JasonGrace2282"

This reverts commit 07bbe3f220.

Added type annotations to zoomed_scene.py

Error count: 308 -> 303

Adding type annotations to all methods in vector_space_scene.py

Error count: 303 -> 272

Get rid of no-untyped-call errors from my in the vector_space_scene.py file

Error count: 272 -> 343

Handle type issues related to ManimColor in vector_space_scene.py

Handle var-annotated issues in vector_space_scene.py

Error count: 332 -> 330

Handling has-type type errors in vector_space_scene.py

Error count: 330 -> 285

Handled name-defined type issues in vector_space_scene.py

Error count: 285 -> 282

Address type issue with calling an untyped method.

Error count: 282 -> 281

Fix some typing issues in transform_mathcing_parts.py

Change stroke_width to float in vector_space_scene.py

Handled a few type errors.

Error count: 267

Handled several typing issues in three_d_scene.py

Error count: 267 -> 248

Dealing with type errors in scene_file_writer.py

Error count: 248 -> 216

Ensured that all methods in scene.py have type declarations.

Error count: 216 -> 225

Handle type issues related to interactivity by asserting that the camera is the OpenGLCamera

Error count: 225 -> 182

Handle type issues in scene.py

Error count: 182 -> 167

Asserting that the renderer or camera is of the proper type to use certain methods.

This is mainly related to interactive elements and the 3D camera used in the ThreeDScene

Error count: 167 -> 143

Avoid cyclic import of dependencies

Error count: 143 -> 143

Handling no-untyped-call type errors in manim/scene/scene.py

Error count: 143 -> 131

Handling assignment type errors in manim/scene/*.py

Error count: 131 -> 121

Handling arg-type type errors in manim/scene/*.py

Error count: 121 -> 116

Handling arg-type type errors in manim/scene/*.py

Error count: 116 -> 112

Fixing various type errors

Error count: 112 -> 102

Fixing various type errors

Error count: 102 -> 97

Fixing various type errors

Error count: 97 -> 90

Some aggressive changes to silence a significant number of type errors.

Error count: 90 -> 66

Commented out an import (IPython) that makes the CI tests fail.

Fix various type errors.

More type annotations.

Code cleanup.

Remove the property mobject_updater_lists of the Scene class as it is not used anywhere.

Handle import-untyped typing issues.

More work on type annotations in manin/scene/.*

More work on scenes/*.py looking at the dependency opengl_renderer.py

More work on types in scenes/*.py

Ignored an old bunch of type ignore statements.

More work on dependencies for scene.py

More work on dependencies for scene.py

* Stop ignoring errors from manim/scene/scene.py

mypy error count: 307

* Adding type annotations to scene.py (C1)

* Adding type annotations to scene.py (C2.1)

* Adding type annotations to scene.py (C2.2)

* Adding type annotations to scene.py (C2.3)

* Adding type annotations to scene.py (C3)

* Adding type annotations to scene.py (C4)

* Adding type annotations to scene.py (C5)

* Adding type annotations to scene.py (C6)

* Adding type annotations to scene.py (C7)

* ...

* Focus on scene.py

* Adding type annotations to vector_space_scene.py

* Added types to opengl_renderer.py

* Added types to cairo_renderer.py

* Fixed the last mypy errors in scene.py - many was ignored

* Fixed the last mypy errors in vector_space_scene.py - many was ignored

* Got rid of the last mypy errors.

* Activate mypy check of vector_space_scene.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Code cleanup.

* Update manim/gui/gui.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/renderer/opengl_renderer.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/scene/scene.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/scene/scene.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/scene/scene.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/scene/scene.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/scene/scene.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Implementing suggestions from chopan50

* Explicitly mention all files where type errors are ignored in mypy.ini

# Conflicts:
#	mypy.ini

* Fix issue

* Updates based on comments from chopan50

* Updates suggested by Chopan50

* Addressed more comments from chopan50

* Addressing more comments from chopan50

* Added docstring to SceneInteractAction

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Differentiate between _AnimationBuilder from an mobject and an opengl_mobject

* Avoid a nameclash with the mobject module and variable name

* Last touches.

* Rolled back some changes related to _AnimationBuilder

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-06-24 13:50:40 -04:00
Henrik Skov Midtiby
c4b7a80258
Remove dead code from scene.py and vector_space_scene.py (#4310) 2025-06-24 12:23:42 -04:00
Henrik Skov Midtiby
0cec80216b
Explicit mention all files that mypy should ignore in the mypy.ini configuration file (#4306)
* Explicitly mention all files where type errors are ignored in mypy.ini

* Minor adjustments to mypy.ini suggested by chopan50
2025-06-24 07:43:57 -04:00
Louis GERARD
a1bb04947a
Fix Microsoft typo in TexFontTemplateLibrary scene in example_scenes/advanced_tex_fonts.py (#4305)
Co-authored-by: Louis Pierre Jean Gerard <louis_global@fasoo.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-06-23 21:15:39 -04:00
Henrik Skov Midtiby
325fa08a72
Fixing files with few typing (mypy) errors (#4263)
* Fixed mypy errors in several files with a few errors in each file.

* Fixed a few easy mypy errors.

* Fix mypy issues in animation/changing.py

* Handled mypy issues in _config/cli_colors.py

* Handled mypy issues in mobject/logo.py

* Handling mypy errors in fading.py

* Removed a default parameter (scene = None) in the method clean_up_from_scene in the class FadeOut

* Handled mypy errors in graphing/scale.py

* Handled a few mypy errors in updaters/update.py

* Handled mypy errors in three_d_utils.py

* Updated mypy.ini to check more files

* Avoid a circular import loop.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/animation/changing.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/animation/changing.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/animation/changing.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/mobject/logo.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/animation/changing.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/animation/changing.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/animation/changing.py

Cleaner way to indicate the float type

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/animation/changing.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Updated the type annotations of MoveAlongPath and ChangingDecimal

* Suggestions from review by chopan50

* Fix missing import.

* Update mypy.ini

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update mypy.ini

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update mypy.ini

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update mypy.ini

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Updated mypy.ini

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-06-23 08:08:00 -04:00
Steven Hedges
a8458cb329
Fix default config of manim init project to use correct pixel_height and pixel_width (#4213) 2025-06-23 03:27:47 +00:00
Irvanal Haq
64862994ac
Refactor Rotating and add docstrings to Mobject.rotate() and Rotating (#4147)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-06-22 04:15:12 +00:00
Ishu Bansal
c9707f281d
Introduce seed in random_color method to produce colors deterministically (#4265)
* add a random generator to hold the seed for random generation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add DOCSTRING for new class RandomColorGenerator

* fix RandomColorGenerator doctest

* introduce the sample colors param in RandomColorGenerator

* Update docstrings to include sample_colors param for RandomColorGenerator

* fix cyclic import issues

* fix indentations for code blocks

* docstring formatting changes

* removed performance warning
added class method

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-06-21 22:39:19 +02:00
Ishu Bansal
23a2df1e5a
use the same opacity to init the super class obj of DecimalNumber (#4291) 2025-06-21 22:34:11 +02:00
Irvanal Haq
3377f6c1f6
Replace exceptions, remove unused parameters, and fix type hints in Animation, ShowPartial, Create, ShowPassingFlash, and DrawBorderThenFill (#4214)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: Francisco Manríquez <francisco.manriquezn@usm.cl>
2025-06-20 00:38:56 +00:00
Irvanal Haq
e4b1d105a3
Rename misleading function dot_position to update_label in .add_updater() example (#4196)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-06-19 13:12:55 +00:00
Theo Barollet
204e44a106
Fixed artifact in Animation docstring (#4283) 2025-06-12 06:51:40 -04:00
Kaique Barbosa Dultra
d517b50567
Add support for pycodestyle W rule in Ruff (#4276)
* Add suport for `pycodestyle W` rule in Ruff and remove invalid noqa comments for deprecated rules

* Exclude `py/method-first-arg-is-not-self` false positive for metaclass `__init__`

---------

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2025-06-11 14:35:39 +00:00
Giovanne
5301ab874f
Add tests for polylabel utility (#4269)
* Fix polygon inside/outside logic for edge cases

* Stop using hardcoded values and improve variable naming

* Decompose inside/outside logic into smaller functions

Improves readability and maintanance.

* Improve test readability

* Fix polylabel test logic

* Fix polylabel test by adding multiple options of pole

* Improve docstring description of argument

* Stop checking type checking blocks on coverage

* Fix OpenGLMobject methods doctests
2025-06-11 09:54:51 +02:00
Pedro Peixoto
be6a9dfaa7
docs: add explanation about the rate_func in the custom animation (#4278) 2025-06-11 09:50:11 +02:00
Pedro Zanelato
e569fd47ad
test: add matrix tests (#4279) 2025-06-11 09:48:39 +02:00
Irvanal Haq
bf72127152
Enhance and Paraphrase Description of Manim Community Edition in README.md (#4141)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-06-10 06:52:47 -04:00
Benjamin Hackl
ffa6ffa548
Fix formatting of color space documentation (#4274) 2025-06-08 12:53:56 -04:00
Akshat
bcab73a3d2
Fix(graph): Allow any Line subclass as edge_type in Graph/DiGraph (#4251)
* Fix(graph) : fix Line subclass usage for Graph and DiGraph

Fix(graph): LabeledLine can now be used in _add_edge

* Test(test_graph.py): add tests for LabeledLine as edge_type in Graph and DiGraph

Fix(test_graph): Fixed test_graph_accepts_labeledline_as_edge_type() always failing.
2025-05-27 17:30:19 +02:00
F. Muenkel
fdc496c211
Complete typing for logger_utils.py (#4134)
* Complete typing for logger_utils.py

* Stop ignoring  manim._config erros in mypy.ini

* Ignore manim._config errors in mypy.ini

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-05-23 01:17:08 +00:00
Irvanal Haq
f6cdb547d2
Fix add_points_as_corners not connecting single point to existing path (#4219) 2025-05-22 15:40:11 +00:00
SAYAN02-DEV
5a3dcf77fa
fix: update incorrect docstring for ManimConfig.gui_location property (#4254)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-05-22 12:53:46 +00:00
Irvanal Haq
c53ac5544a
Add docstring to :meth:Mobject.family_members_with_points (#4128)
* Add example to family_members_with_points method in Mobject

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add the word 'recursively' to clarify the method description

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Improve the sentence of method description

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Improve the method description

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Adding brackets

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add 'See also' section

* Update manim/mobject/mobject.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* chenge list to list[Mobject]

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-05-22 12:23:40 +00:00
Irvanal Haq
7f6743e97c
Fix :meth:VMobject.pointwise_become_partial failing when vmobject is self (#4193)
* Fix Line failing with buff and path_arc
- make copy of vmobject.points if necessary

* change self to self.copy() in Line, and remove the previous change in pointwise_become_partial()

* Revert to first approach: copy points if self is vmobject

* Add unit test for pointwise_become_partial and Line

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-05-22 07:59:46 -04:00
Irvanal Haq
a2876dc77c
Add docstrings to Line and remove None handling for path_arc parameter (#4223)
* In Line: simplify _account_for_buff and set default path_arc to 0.0

* In Line: add docstring

* change 0.0 to 0

* Use explicit check for path_arc == 0 in _account_for_buff

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-05-22 10:26:08 +00:00
Irvanal Haq
de210bad8b
Improve docstring for interpolate method in Mobject class (#4149)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-05-21 22:40:29 +00:00
Irvanal Haq
ab4855728f
Improve Mobject.align_data docstring (#4152)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2025-05-21 22:09:33 +00:00
Francisco Manríquez Novoa
f304bd93ea
Fix return type of Polygram.get_vertex_groups() and rename variables in .round_corners() (#4063) 2025-04-26 02:16:14 +00:00
xinoehp512
384350cf3b
Replace poetry with uv in the README (#4226) 2025-04-21 19:02:31 -04:00
thehugwizard
593010b87b
Bugfix: HSL color ordering in ManimColor (#4202)
* Bugfix: colorsys uses HLS (hue, luminance, saturation) ordering when converting to/from rgb. Manim says it uses HSL ordering. Fixed order of parameters in call to colorsys for ManimColor.from_hsl and ManimColor.to_hsl.
Added tests ensure correct HSL ordering.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update to fix the correct color tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: SonnyRoomex <sonny.campbell@roomex.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2025-04-21 01:46:59 +00:00
Ryan Gibson
3c6a1ee80b
docs: Fix links to Pango website (#4217) 2025-04-14 14:59:52 -04:00
pre-commit-ci[bot]
44da20d71d
[pre-commit.ci] pre-commit autoupdate (#4181)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.9.7 → v0.11.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.9.7...v0.11.0)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-17 14:34:57 -04:00
Hasan Mesbaul Ali Taher
e1925e46dc
Add missing line break in Code of Conduct conflict of interest policy (#4185) 2025-03-11 13:59:35 -03:00
pre-commit-ci[bot]
2ab99b53d3
[pre-commit.ci] pre-commit autoupdate (#4148)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.9.3 → v0.9.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.9.3...v0.9.7)
- [github.com/pre-commit/mirrors-mypy: v1.14.1 → v1.15.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.14.1...v1.15.0)
- [github.com/codespell-project/codespell: v2.4.0 → v2.4.1](https://github.com/codespell-project/codespell/compare/v2.4.0...v2.4.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-24 16:56:54 -05:00
Benjamin Hackl
2bdd5ac230
Make new Code mobject compatible with OpenGL renderer (#4164)
* fix: enable opengl compatibility for Code

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-11 06:29:23 +01:00
Benjamin Hackl
9479febef2
docs: add explicit instructions for installing pkg-config and cairo as required by pycairo for macos (#4146) 2025-02-10 20:52:36 +01:00
BenKirkels
d85ddb0ca5
refactor: improved consistency of rate_functions (#4144)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2025-02-09 17:19:36 +00:00
F. Muenkel
cd2a3b92f6
Fixed Tex environment doubling braces (#4159)
* Fix environment formating for Tex() mobject

* Add test for handling of Tex() environments
2025-02-09 11:56:59 -05:00
Benjamin Hackl
01fc1ef71f
fix: re-add ffmpeg to docker container (#4150) 2025-02-04 09:10:33 -05:00
pre-commit-ci[bot]
d521bc9104
[pre-commit.ci] pre-commit autoupdate (#4140)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.9.2 → v0.9.3](https://github.com/astral-sh/ruff-pre-commit/compare/v0.9.2...v0.9.3)
- [github.com/codespell-project/codespell: v2.3.0 → v2.4.0](https://github.com/codespell-project/codespell/compare/v2.3.0...v2.4.0)

* fix: typos in two files

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-02-02 17:28:20 +01:00
Benjamin Hackl
95fba7da10
Change project management tool from poetry to uv (#4138)
* rewrite pyproject.toml to support uv; version upgrades of several dev dependencies

* codespellrc: poetry.lock -> uv.lock

* rewrite workflows, first attempt

* change name of pre-commit-hook

* dev-dependencies -> dependency-groups.dev

* lint + format

* Update .github/workflows/ci.yml

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* convert development.rst to myst markdown

* fix (most) docbuild warnings from theme upgrade

* development instructions: switch to uv, plus minor updates

* update entrypoint config in plugin docs + tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-02 17:16:46 +01:00
Irvanal Haq
a6990bd83c
Fix link formatting and clarify the distinction between Manim versions in index.rst (#4131)
* Fix link formatting and clarify the distinction between Manim versions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-22 10:28:18 +01:00
Irvanal Haq
8f919b1726
Add docstring to :meth:.Mobject.get_family (#4127)
* Add example to get_family method in Mobject

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-21 13:29:47 -05:00
pre-commit-ci[bot]
6ca08fd187
[pre-commit.ci] pre-commit autoupdate (#4122)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.9.1 → v0.9.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.9.1...v0.9.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-21 00:52:52 +01:00
Aarush Deshpande
106b849a6d
Bump typing extensions minimum version (#4121) 2025-01-20 16:37:26 +00:00
Aarush Deshpande
c2dfb597ff
Create changelog for 0.19.0 (#4032)
* First draft of Changelog for 0.19.0

* fix typos

* added 3967

* Add #4037

* Update count 97 -> 98

* Add #4039

* Add #3930 and #4044

* Add this PR to changelog

* Add small description to changelog

* Add #3924, #3951, and #4038

* Bump Manim version to 0.19.0

* Update CITATION.cff to be more consistent

* remove github-security[bot]

* Feedback + missing PRs

* add newly merged PRs

* added more details to highlights + breaking changes

* bump date

* sort PRs in breaking changes section and include 3964

* sort highlights section

* fix: add required configuration key in .readthedocs.yml

* Update docs/source/changelog/0.19.0-changelog.rst

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-01-20 14:36:53 +01:00
Francisco Manríquez Novoa
765c090027
Complete typing of manim.utils.color and polish its documentation (#4065)
* Type color and polish docstrings

* Stop ignoring manim.utils.color MyPy errors

* Remove manim.mobject.mobject from mypy.ini (put there on accident)

* Fix MyPy errors in GitHub pre-commit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Modify _construct_from_space parameter type

* Modify _construct_from_space parameter type

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: remove duplicate property definitions

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-01-19 19:46:26 +01:00
Francisco Manríquez Novoa
8bb28aae8e
Draw more accurate circular Arcs for larger angles (#4034)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-01-19 18:32:58 +00:00
czuzu
bad88a11f9
Update README and documentation landing page, improve way how 3b1b is credited (#4077)
* Update readme to properly credit Grant Sanderson and revise dismissive language

* Adjust readme and add landing-page mention about Grant's Manim

* Apply suggestions from code review

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-01-19 18:57:53 +01:00
Benjamin Hackl
1efe869293
Completely rewrite Code mobject + add support for short notation RGB(A) hex code specifications to ManimColor (#4115)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 14:39:13 -03:00
Sophia Wisdom
86a971940f
Add __hash__ to ManimColor (#4051)
* add __hash__ to ManimColor

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update core.py

* add test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: correct typehint

* fix test

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-01-19 18:09:26 +01:00
pre-commit-ci[bot]
97f818eb7f
[pre-commit.ci] pre-commit autoupdate (#4035)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.8.0 → v0.9.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.0...v0.9.1)
- [github.com/pre-commit/mirrors-mypy: v1.13.0 → v1.14.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.13.0...v1.14.1)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* enh: ignore ruff lint rule A005 (module shadowing standard library module)

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-01-19 18:08:36 +01:00
Romit Mohane
c933c74a40
Add Noto fonts install command to Dockerfile (#4069)
* added notosans fonts install command to dockerfile

* enh: move fonts-noto package to other packages

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2025-01-19 17:23:13 +01:00
F. Muenkel
530dd4d782
Fix broken link to Poetry installation guidelines (#4116) 2025-01-19 17:11:08 +01:00
Henrik Skov Midtiby
95b4625ef2
Fix of ImageMobject opacity bug (#4089)
* Fix issue 4072.

* Added a unittest for the interpolate function in utils/bezier.py
2025-01-19 16:56:47 +01:00
Irvanal Haq
def7241db3
Add Homotopy example for waving square (#4100)
* Add missing changes for homotopy example

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 16:38:30 +01:00
Aarush Deshpande
f18a2b46e5
Remove PT004 from Ruff (#4102) 2025-01-19 16:34:16 +01:00
modjfy
9d51c0d44d
Corrected spelling mistake in documentation (#4107) 2025-01-19 16:26:28 +01:00
Irvanal Haq
9e45cf6ff8
Remove duplicate __all__ declarations in vectorized_mobject.py (#4108) 2025-01-19 16:18:48 +01:00
Francisco Manríquez Novoa
7879fe4377
Fix VMobject.add_points_as_corners() to return self and safely handle empty points parameter (#4091)
* Fix VMobject.add_points_as_corners() to return self and safely handle case where no points are passed

* Add test_vmobject_add_points_as_corners()

* assert np.allclose() -> np.testing.assert_allclose()
2025-01-05 10:46:43 -03:00
Henrik Skov Midtiby
17d4a7f635
Add type annotations to manim.utils.* (#3999)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: Francisco Manríquez <francisco.manriquezn@usm.cl>
2025-01-02 07:12:59 +00:00
Francisco Manríquez Novoa
dbad8a86bc
Rename InternalPoint3D to Point3D, Point3D to Point3DLike and other point-related type aliases (#4027) 2024-12-17 19:17:34 +00:00
Aarush Deshpande
112c99ba4a
Fix SyntaxWarnings when building the docs and bump readthedocs to Python 3.13 (#3924)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-12-16 16:04:07 +00:00
Laifsyn
46dbf3d3ed
Call .finish() for every animation in AnimationGroup on finish (#3951)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-12-16 11:50:35 -03:00
Aarush Deshpande
6abcc611b9
Fix typehint of :meth:.Scene.play to allow .animate (#4038) 2024-12-07 16:56:55 +00:00
Aarush Deshpande
953888e68e
Rewrite installation instructions (#3930)
Follow-up to #3501

This commit combines all the installation documentation onto one page, and switches to recommending the usage
of `uv` for installing Manim.
2024-12-06 18:50:18 -05:00
Francisco Manríquez Novoa
d485986122
Add support in documentation for type aliases using Python 3.12 type definition (#4044) 2024-12-06 20:07:31 -03:00
ChungLeeCN
263623e10c
Added a `delay parameter to :func:.turn_animation_into_updater` (#4039) 2024-12-03 14:02:53 +00:00
Benjamin Hackl
73d22454f1
pin av to <14 (#4037) 2024-12-02 16:06:53 -05:00
Aarush Deshpande
e74933049e
Add support for Python 3.13 (#3967)
* Allow python 3.13

* Specify scipy more strictly

* try using 3rd-party audioop package

* debug: wrap context generation in try-block

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove audioop-lts, update dependencies

* add wrapt pre-release (wheels!)

* update lockfile

* CI, windows: try installing all tinytex packages at once

* tmp: verbosity of pytest

* tmp: pass -n 0 for testing

* tmp: disable pytest-xdist

* remove deprecated poetry installer option

* try running tests via uv-provided env

* tmp: run -> run --no-project

* try --full-trace

* try running tests via python -v ...

* tmp: test import of suspicious modules

* test click/cloup

* ci: back to poetry

* ci: disable pytest plugins altogether

* update lockfile

* ci: upgrade pytest

* remove all flags from pytest call

* ci: move conftest, temporarily disable test header

* fix test fixture

* try with more recent version of pytest-xdist

* loadfile -> loadscope

* explicitly test pytest for non-manim module

* some proper tests

* only keep fixtures in new conftest.py

* remove all non-necessary fixtures

* try a literal try/except in fixture file

* simplify tests further

* try and explicitly trigger non-silent errors

* Revert "try and explicitly trigger non-silent errors"

This reverts commit 35b862d483.

* more pytest debug output

* test whether manim can be imported correctly

* test with upgraded numpy

* revert all sorts of debug changes, attempt clean pytest run

* fix whitespace

* pre-commit hooks

* apply config fixture to render tests

* let config fixture ensure renderer is set to cairo

* update doctests for numpy>=2.0

* missed some

* upgrade required numpy version, revert separate treatment of numpy in ci

* upgraded moderngl-window to latest

* more delicate versioning of numpy dependency

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-02 08:50:14 +01:00
Francisco Manríquez Novoa
f81d5713b3
Allow animations with run_time=0 and implement convenience Add animation (#4017)
* Allow animations with run_time=0 and implement convenience Add animation

* Modify examples so that there are less characters per line

* Docstring fixes

* Update manim/animation/animation.py

* Address comments

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-11-27 01:00:54 +00:00
Jay Gupta
862504fa45
Added ConvexHull, ConvexHull3D, Label and LabeledPolygram (#3933)
* initial commit

* Update labeled.py

* general fixes

fixed added utils (i.e., Incomplete ordering and Explicit returns mixed with implicit), added :quality: high to docstrings, made ConvexHullExample determined

* typing

added typing to `qhull.py` and `polylabel.py` for debugging. simplified test cases for `ConvexHull` and `ConvexHull3D` and rewrote control data. added tip to LabeledPolygon documentation.

* response to feedback

added `label_config` and `box_config` and `frame_config` for additional configuration options and cleaner interface. added `InternalPointND` and `PointND ` and `InternalPointND_Array` and `PointND_Array` for typing. updated docstring.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* typing

* Update manim/mobject/geometry/labeled.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* Update manim/mobject/geometry/labeled.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

* typing, docstring, class name

* typing

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-11-26 21:32:14 -03:00
Hugo Chargois
fac0aa5218
Add darker, lighter and contrasting methods to ManimColor (#3992)
* Add darker, lighter and contrasting methods to ManimColor

* Fixes

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-11-25 11:05:08 +01:00
pre-commit-ci[bot]
faecdd3365
[pre-commit.ci] pre-commit autoupdate (#3987)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.7.0 → v0.8.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.7.0...v0.8.0)
- [github.com/pre-commit/mirrors-mypy: v1.12.1 → v1.13.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.12.1...v1.13.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-24 12:59:04 +01:00
dependabot[bot]
8f6eaf372e
Bump tornado from 6.4.1 to 6.4.2 (#4023)
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4.1 to 6.4.2.
- [Changelog](https://github.com/tornadoweb/tornado/blob/v6.4.2/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.4.1...v6.4.2)

---
updated-dependencies:
- dependency-name: tornado
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 17:33:43 -05:00
Benjamin Hackl
c516932f9f
Fix scene skipping for config.upto_animation_number (-n flag in CLI) set to 0 to end after first animation (#4013)
* make checks involving from/upto_animation_number more explicit

* add test for flag -n 0,0 for only rendering first animation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-11-13 21:23:50 -03:00
Francisco Manríquez Novoa
ab577dc2ea
Add typings to manim/__main__.py (#4007)
* Add typings to __main__.py

* Remove `Unused parameter.` from docstrings
2024-11-13 22:16:17 +00:00
Francisco Manríquez Novoa
a21a5e5719
Stop ignoring manim.plugins errors in mypy.ini (#4006) 2024-11-11 00:44:52 +01:00
Aarush Deshpande
97efef4542
Add a time property to Scene (#3997)
* Add a time property to scene

* fix mistaken search/replace

* Add typehint
2024-11-07 21:45:46 +00:00
Francisco Manríquez Novoa
ee0501c2b6
Add type hints to manim.cli module (#3988)
* Add type hints to cli

* Import click.Parameter instead of non existing cloup.Parameter

* Stop ignoring manim.cli errors in mypy.ini

* Fix mypy errors

* Remove unused TypeVar C

* click.Command.command -> cloup.Group.command

* Address Jason's requested changes

* exit() -> sys.exit()
2024-11-04 16:05:07 +00:00
Christopher Hampson
c6edb330a9
Feat: dvipsnames and svgnames color palettes (#3913)
* feat: added dvipsnames color palette

* added svgnames color palette

* fixed docstrings

* Commit changes requested by JasonGrace2282

* Double backticks in xcolor

---------

Co-authored-by: Francisco Manríquez <francisco.manriquezn@usm.cl>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-11-04 14:13:28 +00:00
Nemo2510
9f1f239f10
Allow :class:.SurroundingRectangle to accept multiple Mobjects (#3964)
* Implement SurroundingRectangle.multiple and BackgroundRectangle.multiple

* Integrate SurroundingRectangle constructor for multiple objects into __init__

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* SurroundingRectangle now takes multiple Mobjects as positional args

* Add tests for multiple Mobjects in SurroundingRectangle

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix example that was not using keyword args for SurroundingRectangle

* Remove duplicate code from BackgroundRectangle

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add typing to manim argument of SurroundingRecrabgle constructor

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Remove redundant argument from test_SurroundingRectangle

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Remove type check from SurroundingRectangle

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix missing line issue

* resolve merge conflict

* Fix Group import

* Move Group import into the body of SurroundingRectangle

* Return type checking to SurroundingRectangle

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* small change to error message

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix missing imports

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
2024-10-29 23:30:32 +00:00
Nemo2510
2570a251c9
Add scale_stroke boolean parameter to VMobject.scale() to allow scaling stroke_width along with the VMobject (#3965)
* Add option to scale object outlines with objects

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Move outline scaling into VMobject.scale()

* Add unit tests for stroke width

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix docstring for VMobject.scale

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Remove tautology from VMobject.scale

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-10-28 14:48:46 +00:00
Francisco Manríquez Novoa
f65b7f8085
Refactored run_time validation for Animation and Scene.wait() (#3982)
* Refactored Animation run_time validation

* Rewrite error and warning messages, and add validations to wait(), pause() and wait_until()

* Undo rewriting of imports
2024-10-28 14:24:29 +00:00
Francisco Manríquez Novoa
20f44b456b
Added PointND and PointND_Array typing aliases (#3980)
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-10-28 01:28:31 +00:00
Henrik Skov Midtiby
87732527d3
Type annotation work in manim/mobject/geometry/ (#3961)
Fixes typehints in manim.mobject.geometry, and enables type checking of those modules. Part of #3375
2024-10-27 21:13:58 +00:00
Larry Skuse
a395ffd698
Allow videos to be embedded in Google Colab without explicitly setting config.media_embed = True (#3974)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-10-24 17:34:49 +00:00
Xiuyuan (Jack) Yuan
327db11c54
Added example to documentation for moving_camera_scene module (#3972)
Co-authored-by: Xiuyuan <u7678992@anu.edu.au>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tianxiong Dai <u7581325@anu.edu.au>
2024-10-24 07:35:53 -04:00
Nikhila Gurusinghe
d5b8b41283
Implemented VGroup parsing iterables (#3966) 2024-10-23 08:08:52 -04:00
pre-commit-ci[bot]
39382e6ba8
[pre-commit.ci] pre-commit autoupdate (#3929)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pre-commit/pre-commit-hooks: v4.6.0 → v5.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.6.0...v5.0.0)
- [github.com/astral-sh/ruff-pre-commit: v0.6.2 → v0.7.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.2...v0.7.0)
- [github.com/pre-commit/mirrors-mypy: v1.11.2 → v1.12.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.11.2...v1.12.1)

* Fixes for ruff 0.7.0

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-10-22 14:32:12 +00:00
Aarush Deshpande
96e58aeb05
Fix typehints of ParametricFunction (#3926)
* Fix typehints of ParametricFunction

* add typehint
2024-10-22 14:07:01 +00:00
nitzanbueno
ce1fff645d
Improve line rendering performance by decreasing redundant subdivision count (#3893)
* Reduce line cylinder height resolution to 2

Subdividing a line cylinder by its height adds no extra resolution -
since it's not checkerboarded, all new rectangles would look the same as
one long rectangle. Decreasing the default subdivision resolution to 2
reduces submobject count by 12x while sacrificing no quality.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Allow for 2 resolution values in Line3D

This prevents a breaking change where a tuple of resolution values
passed to Line3D.resolution would no longer work.
Also applies to Arrow3D.

* Assign field before init

* Add checkered line info to docstring

* Regenerate test control frame

* Regenerate missing control frames

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-10-20 01:01:04 +00:00
Aarush Deshpande
fc58a46615
Fixed typehint in types.rst and replaced outdated reference to manim.typing.Image with manim.typing.PixelArray (#3878)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-10-20 00:36:32 +00:00
Aarush Deshpande
225efcad22
Use Github Markdown on README (#3925)
* test out new Github markdown README stuff

* Change warning -> caution
2024-10-20 00:24:14 +02:00
Rehmatpal Singh
0cdfd4b304
Fix: .to_edge()'s example demonstration in docs (#3958)
* ToEdgeExample's circle is added to the scene

* Made it consistent to the surrounding code

---------

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-10-19 21:54:34 +00:00
Francisco Manríquez Novoa
75a7525ed5
Optimized interpolate and bezier in manim.utils.bezier (#3960)
* Optimized bezier and interpolate in bezier.py

* Minor doc changes

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-10-19 21:32:12 +00:00
Achille Fouilleul
5788f8131f
Set AAC codec for audio in mp4 files, add transcoding utility (#3956)
* scene_file_writer: convert frame_rate to fraction

* Set audio codec to AAC when format=mp4

* refactor: change import uv.utils.Fraction -> fractions.Fraction

* use config as single source of truth for container format

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-19 23:12:07 +02:00
Achille Fouilleul
0a96aacb24
os.system -> subprocess (#3955)
Quoting the python library documentation:

> The subprocess module provides more powerful facilities for spawning
> new processes and retrieving their results; using that module is
> preferable to using this function.
2024-10-15 20:43:02 -03:00
Geoo Chi
d6f066c131
Fix np.float_ to np.float64 while using numpy >= 2.0 (#3940)
Co-authored-by: Geoo Chi <szchixy@gmail.com>
2024-10-04 16:28:15 +02:00
dependabot[bot]
1dcb81268a
Bump cryptography from 43.0.0 to 43.0.1 (#3931)
Bumps [cryptography](https://github.com/pyca/cryptography) from 43.0.0 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/43.0.0...43.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 21:56:21 -04:00
Aarush Deshpande
74f79a42b6
Use Ruff pygrep rules (#3923)
* Add config for ruff pygrep

* Fix pygrep linting errors
2024-09-01 17:55:22 +02:00
Christopher Hampson
2536b7fafb
feat: preserve original TeX colors (#3903)
* feat: preserve original Tex colors

* added test for preserving tex color

* fix: fixed breaking change to tex color inheritance

* updated docstring and comment

* Update manim/mobject/text/tex_mobject.py

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-01 15:45:30 +00:00
Aarush Deshpande
1097ed9692
Standardize docstrings with ruff pydocstyle rules (#3881)
Used Ruff rules for `pydocstyle` to standardize docstring formatting.

* Add config for ruff pydocstyle

* Safe fixes from ruff

* Unsafe fixes from ruff
2024-09-01 08:03:38 -04:00
Irvanal Haq
8deac51abc
Changing the 'side_length' attribute to a property (#3901)
* Changing the 'side_length' attribute to a property

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add tests for Square side_length property

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tests/module/mobject/geometry/test_unit_geometry.py

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-08-31 11:40:09 +00:00
Irvanal Haq
76e6a57164
Remove inner radius for :class:.Sector (#3922)
A Sector is a special case of `AnnualarSector` where the inner radius is zero. As such, it does not make sense to also have a parameter for the inner radius.

* Simplify Sector Class by Removing Redundant Parameters

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-30 16:29:41 -04:00
pre-commit-ci[bot]
95966a7f61
[pre-commit.ci] pre-commit autoupdate (#3918)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.6.1 → v0.6.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.1...v0.6.2)
- [github.com/pre-commit/mirrors-mypy: v1.11.1 → v1.11.2](https://github.com/pre-commit/mirrors-mypy/compare/v1.11.1...v1.11.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-26 14:19:46 -04:00
Irvanal Haq
32cc7abee1
fix type hint, change int to float (#3916) 2024-08-26 16:03:19 +00:00
pre-commit-ci[bot]
2462d0d011
[pre-commit.ci] pre-commit autoupdate (#3911)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.7 → v0.6.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.7...v0.6.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-19 16:55:47 -04:00
Benjamin Hackl
d029beb2b7
bugfix: convert non-.wav/.raw files to .wav before passing to pydub (#3832)
pydub will try to use `ffmpeg` for non-`.wav`/`.raw` files, which is no longer a dependency of Manim. To avoid this, we convert non `.wav`/`.raw` files into `.wav` files before passing it to pydub.

---------

Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
2024-08-14 16:42:15 +00:00
pre-commit-ci[bot]
99ce78fd60
[pre-commit.ci] pre-commit autoupdate - Ruff (#3904)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.6 → v0.5.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.6...v0.5.7)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-12 13:59:07 -04:00
fogsong233
aa660c77ec
Fix typehint of :meth:.Scene.restructure_mobjects. (#3902) 2024-08-12 07:05:18 -04:00
Aarush Deshpande
c0b04876db
Run poetry lock (#3895) 2024-08-06 15:31:53 +02:00
pre-commit-ci[bot]
0ac03869f5
[pre-commit.ci] pre-commit autoupdate (#3896)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.5 → v0.5.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.5...v0.5.6)
- [github.com/PyCQA/flake8: 7.1.0 → 7.1.1](https://github.com/PyCQA/flake8/compare/7.1.0...7.1.1)
- [github.com/pre-commit/mirrors-mypy: v1.11.0 → v1.11.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.11.0...v1.11.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-05 14:36:37 -04:00
Saveliy Yusufov
11ea41633c
Significantly reduce rendering time with a separate thread for writing frames to stream (#3888)
* Add separate thread for writing frames to stream

* [pre-commit.ci] pre-commit autoupdate (#3889)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.4 → v0.5.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.4...v0.5.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Replace the TypeError message code in the _typecheck_input method in … (#3890)

* Replace the TypeError message code in the _typecheck_input method in the DrawBorderThenFill class.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Remove print statements used for debugging

* Remove writing process termination

- This is probably leftover from back when manim used subprocess to
  write frames to FFmpeg via stdin

* Add type hints to modified methods & instance vars

* Fix inline code in docstring & type hint for queue

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Irvanal Haq <125118413+irvanalhaq9@users.noreply.github.com>
2024-08-04 17:15:58 -04:00
Irvanal Haq
17e5a77b09
Replace the TypeError message code in the _typecheck_input method in … (#3890)
* Replace the TypeError message code in the _typecheck_input method in the DrawBorderThenFill class.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-30 06:31:12 -04:00
pre-commit-ci[bot]
85d9ac8f47
[pre-commit.ci] pre-commit autoupdate (#3889)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.4 → v0.5.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.4...v0.5.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-29 14:19:17 -04:00
Aarush Deshpande
5bda1075e6
Fix typo from HSV PR (#3887) 2024-07-28 08:31:38 +02:00
Tristan Schulz
c47b2d5f44
Experimenting with an HSV class (#3518)
* Experimenting with an HSL class

* Add some more functionality

* Adding a lot of tests and implementing fully functional conversion between color spaces over proxy rgba

* Fixing tests

* Fixing typing

* return str to normal

* Additional documentation

* Update manim/utils/color/core.py

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Update manim/utils/color/core.py

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Update manim/utils/color/core.py

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Update manim/utils/color/core.py

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Fix documentation and typing and revamp operators to respect color spaces

* Fix color operator typing and add operator tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix typeguard

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Import ManimFloat

* Update manim/utils/color/core.py

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Update manim/utils/color/core.py

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Add docstring to _internal_space

* naming of functions according to pep8

* Fix naming

* Update manim/utils/color/core.py

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Update manim/utils/color/core.py

Co-authored-by: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-25 22:44:22 +02:00
Aarush Deshpande
2075f82bed
Fix :meth:.OpenGLMobject.invert not reassembling family (#3885)
* fix OpenGLMobject.invert

* return self to match typehint
2024-07-25 18:58:58 +00:00
alembcke
20d0194074
Added colorscale to axes.plot() (#3148)
* add colorscale to plot

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* updated typing and moved one line

* added test

* fix input_to_graph_point error

* Performance improvement by using cairo color drawing

* Add OpenGL support

* Add OpenGL tests and split test for x and y axis for more behavior coverage

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated gradient_line tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: MrDiver <mrdiverlp@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
Co-authored-by: chopan <francisco.manriquezn@usm.cl>
2024-07-25 18:46:15 +00:00
Aarush Deshpande
3a4ab4cd25
Rename parameters and variables conflicting with builtin functions (#3884)
* Config for flake8-builtins

* Manual changes for flake8-builtins
2024-07-25 20:06:18 +02:00
Aarush Deshpande
d6dac76fa3
Change flake8-comprehensions and flake8-bugbear to ruff (#3882)
* Add config for bugbear/comprehensions

note: flake8-comprehensions has 0 changes to the files

* Safe fixes from pre-commit

* Manual changes to make pre-commit pass

* Remove deps from pyproject
2024-07-25 10:40:13 -04:00
pre-commit-ci[bot]
3aad3553d8
[pre-commit.ci] pre-commit autoupdate (#3880)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.2 → v0.5.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.2...v0.5.4)
- [github.com/pre-commit/mirrors-mypy: v1.10.1 → v1.11.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.10.1...v1.11.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-22 17:35:46 +00:00
adeshpande
f463423abe
Use ruff instead of flake8-simplify (#3873)
* pyproject

* Autofixes from pre-commit

* use get over get(x, None)

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>

---------

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
2024-07-22 16:22:11 +00:00
Christopher Hampson
0843632932
feat: set_default for Animation class (#3876)
* feat: Animation.set_default

Adds set_default class method to Animation class based on existing implementation for Mobject class.

Addresses issue #3142

* test: added missing test

* fix: docstring formatting

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-07-22 13:37:16 +02:00
adeshpande
c8fe4d9e4f
Use ruff for pytest style (#3872)
* Add ruff config for pytest

* Fixes for pre-commit

* Changes to make pre-commit happy (Unrelated to PR)

---------

Co-authored-by: Tristan Schulz <tristanschulz1200@gmail.com>
2024-07-21 14:37:57 +00:00
adeshpande
fa65b488b0
Fix pre-commit linting (#3877) 2024-07-21 15:03:31 +02:00
pre-commit-ci[bot]
a03e73c822
[pre-commit.ci] pre-commit autoupdate (#3865)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.1 → v0.5.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.1...v0.5.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-15 22:54:45 -04:00
Abulafia
f1ce512225
Fixed behavior of config.background_opacity < 1 and duplicated log messages (#3680)
* Fixes #3614

Setting background_transparency=0.0 should have the same effect than
setting transparent=True. The output format must be compatible
with transparency (.mov, .webm). Otherwise ffpmeg fails.

This patch ensures that background_transparency=0.0 triggers the
change of the output format. Also a WARNING is raised about
the change in the output format.

I want to thank @SirJamesClarkMaxwell for inspiring me to tackle
this issue.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* test config.background_opacity < 1

* fix config behavior for config.background_opacity < 1

* fix logger messages being emitted twice

* actually cleanup usage of loggers, remove logger-imports; black

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* dry_run fixture

* remove debug print

* applied suggestion from review

* remove custom fixture from test_deprecation, use manim_caplog

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-15 00:50:44 +02:00
adeshpande
205f746bbd
Update docker to use ENV x=y instead of ENV x y (#3858) 2024-07-14 21:13:26 +02:00
CJ Lee
b064af9abb
Update macos.rst (#3857)
* Update macos.rst

As of July/2024, brew installs Manim and its dependencies.
Guideline for installing dependencies with brew, and attempt to install using pip3 will no longer work either venv or not.
Now homebrew team manages python resources as "System-wide" only with Brew installed resources. 
Hence, to give first time installer just leave a single line install command would be the simplest option we have.

* Update docs/source/installation/macos.rst

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-07-14 12:00:08 +00:00
Francisco Manríquez Novoa
374eeeba0d
Optimize VMobject.pointwise_become_partial() (#3760)
* Optimize VMobject.pointwise_become_partial()

* selftransformation -> self

* Small factorization of nppc
2024-07-13 19:57:08 +02:00
Francisco Manríquez Novoa
3a71411527
Log execution time of scene rendering in the Manim Checkhealth command (#3855)
* Log execution time of scene rendering in the Manim Checkhealth command

* Use timeit.timeit instead of time.time for more reliable profiling
2024-07-13 17:13:14 +00:00
Francisco Manríquez Novoa
1df1709e49
Rewrite manim.utils.bezier.get_quadratic_approximation_of_cubic() to produce curves which can be animated smoothly (#3829)
* Rewrite get_quadratic_approximation_of_cubic() and add test

* Move test_get... to end of file

* Complete docstring for get_quadratic...()
2024-07-13 18:27:45 +02:00
adeshpande
628a54535b
Fix :attr:.ManimConfig.format not updating movie file extension (#3839)
* Fix config.format not updating config.movie_file_extension

* Add test
2024-07-13 11:37:17 +02:00
adeshpande
75625964b6
Change from tempconfig to a config fixture in tests (#3853)
* Implement changes to fixtures

* Change tests to use the config fixture
2024-07-12 22:41:51 +02:00
Francisco Manríquez Novoa
67f95db213
Rename typing.Image type aliases to PixelArray to avoid conflict with PIL.Image (#3851) 2024-07-12 14:07:44 +00:00
dependabot[bot]
bf2feee19e
Bump zipp from 3.18.2 to 3.19.1 (#3847)
Bumps [zipp](https://github.com/jaraco/zipp) from 3.18.2 to 3.19.1.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.18.2...v3.19.1)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-11 13:18:45 -04:00
adeshpande
246e44b3d0
Fix incorrect version number in plugin section in docs (#3849) 2024-07-11 11:24:19 -04:00
dependabot[bot]
bb98eca37a
Bump certifi from 2024.2.2 to 2024.7.4 (#3841)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.2.2 to 2024.7.4.
- [Commits](https://github.com/certifi/python-certifi/compare/2024.02.02...2024.07.04)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-07-08 18:53:08 +00:00
pre-commit-ci[bot]
8614b9832e
[pre-commit.ci] pre-commit autoupdate (#3844)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.0 → v0.5.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.0...v0.5.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-08 14:34:16 -04:00
dependabot[bot]
73200d6644
Bump docker/build-push-action from 5 to 6 (#3835)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 21:17:46 +00:00
pre-commit-ci[bot]
1260346f4e
[pre-commit.ci] pre-commit autoupdate (#3834)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.10 → v0.5.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.10...v0.5.0)
- [github.com/pre-commit/mirrors-mypy: v1.10.0 → v1.10.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.10.0...v1.10.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-01 15:14:32 -04:00
Chin Zhe Ning
d117c9f4b5
Doc: add docstrings to Brace (#3715)
* Add docstrings to `Brace` methods

* Add full NumPy format docstring for the `Brace` methods

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* feedback

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-06-30 10:35:26 +00:00
adeshpande
8d70b0e886
Fix docker profile (#3827) 2024-06-27 23:53:24 +02:00
Francisco Manríquez Novoa
64ab9ade2b
Optimized manim.utils.bezier.get_smooth_cubic_bezier_handle_points() (#3767)
* Optimized manim.utils.get_smooth_cubic_bezier_handle_points()

* Fixed typo in docstring regarding vector u

* Add tests for get_smooth_cubic_bezier_handle_points

* Fix backreference in test docstrings

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

---------

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-06-26 16:33:39 +00:00
Sir James Clark Maxwell
0d21a7e6ed
Fixed Arrow3D.put_start_and_end_on() to use the actual end of the arrow (#3706)
* my test is not passing, i need to add a little bit of docs. except that everything is fine. Issue is solved!

* fixed the issue #3655

* removed comments

* fix: 3706 original issue, without adding unnecessary dot
added: i added self.height parameter in Cone class
my tests passes

* Changes that way how end point of Arrow3D is calculated.

* I've improved the methods get_start and get_end for the Cone class, and get_end for the Arrow3D class to ensure they return accurate geometrical points after transformations. Additionally, I've included unit tests to verify the correctness of these methods for the Cone class.

* Finished! Replaced VMobject by VectorizedPoint as Ben suggested while ago

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-06-26 15:33:33 +00:00
adeshpande
93a20cd9e7
feat(autoaliasattr): Implement documentation of TypeVar's (#3818)
* feat(autoaliasattr): Implement Documentation of TypeVar's

* Feedback

---------

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-06-26 14:55:03 +00:00
pre-commit-ci[bot]
a70aeee723
[pre-commit.ci] pre-commit autoupdate (#3823)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.9 → v0.4.10](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.9...v0.4.10)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-24 13:35:32 -04:00
Nikhil Iyer
d5cdd79709
Fix DiGraph edges not fading correctly on FadeIn and FadeOut (#3786)
* Make `Line::set_points_by_ends` behavior consistent with constructor

* Use `Line::set_points_by_ends` in edge updaters

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Undo unnecessary change to Graph

* Update manim/mobject/geometry/line.py

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-06-22 20:35:21 +00:00
adeshpande
fdb4e37f75
docs(contributing): add manim.typing guide (#3669)
* docs: add manim.typing guide

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add colors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add another example for when to typehint as Vector

* Add docs for images+functions

* write Beziers

* Improve based on feedback

* type -> Type

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-06-22 20:14:36 +00:00
Cameron Burdgick
89d5ed4398
Fixed infinite loop in OpenGL BackgroundRectangle.get_color() (#3732)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-06-21 16:56:34 +00:00
adeshpande
82ff488f9c
Update macos packages (#3812) 2024-06-19 13:47:12 -04:00
dependabot[bot]
56354af1e5
Bump urllib3 from 2.2.1 to 2.2.2 (#3810)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.2.1...2.2.2)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 11:47:10 -04:00
pre-commit-ci[bot]
7802e73b88
[pre-commit.ci] pre-commit autoupdate (#3809)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.8 → v0.4.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.8...v0.4.9)
- [github.com/PyCQA/flake8: 7.0.0 → 7.1.0](https://github.com/PyCQA/flake8/compare/7.0.0...7.1.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-17 13:34:33 -04:00
Eddie Ruiz
3ed86a820b
fix: importing manim should not trigger pygments.styles.get_all_styles (#3797)
* fix: importing manim should not trigger pygments.styles.get_all_styles

Removed the Code.styles_list attribute.

Rewrote the documentation to say that a list of all styles can be generated by calling list(pygments.styles.get_all_styles()).

The example in the docstring of Code was rewritten to use an explicit code style name.

* fix: small change to documentation

* Added potential class method to get available code styles.

* Adding typehints to newly-added attributes.

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Removing unnecessary lines.

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

---------

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-06-17 08:31:44 -04:00
Francisco Manríquez Novoa
4641c0a808
Add typings to OpenGLMobject (#3803)
* Add typings to OpenGLMobject

* Import typing_extensions

* Add explicit returns to inner functions in .arrange_in_grid()

* Add quotes to parameters in ValueError

* Add some more typings

* Address requested changes

* Type apply_over_attr_arrays with TypeVar

* Fix use of TypeVar

* Add Vector3D typing in set_x, set_y and set_z
2024-06-13 18:07:43 -04:00
pre-commit-ci[bot]
ece1235d49
[pre-commit.ci] pre-commit autoupdate (#3801)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.7 → v0.4.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.7...v0.4.8)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-10 14:18:56 -04:00
yang-tsao
c2fa4f926b
Update opengl_vectorized_mobject.py (#3790)
The "insert_n_curves_to_point_list" function requires the "points" argument to be a numpy array, since it calls the "get_bezier_tuples_from_points" function, which requires "points" to be a numpy array because it has the "return points.reshape((-1, nppc, 3))" statement. Ordinary lists do not have a "reshape" method.

So we need to convert "sp1" and "sp2" to numpy arrays before calling the "insert_n_curves_to_point_list" function.

Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-06-10 08:07:20 -04:00
dependabot[bot]
e30ed6ed82
Bump tornado from 6.4 to 6.4.1 (#3796)
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4 to 6.4.1.
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.4.0...v6.4.1)

---
updated-dependencies:
- dependency-name: tornado
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-09 23:18:12 -04:00
adeshpande
e74f37ed68
Replace Pyupgrade with Ruff rule (#3795)
* Add config for pyupgrade

* Fix pyupgrade errors

* Unsafe-fixes

* Nicer way of formatting

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Revert "Nicer way of formatting"

This reverts commit 48013f4a30.

---------

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-05 08:08:21 -04:00
adeshpande
252aac30da
Add Ruff Lint (#3780)
Adds Ruff Linting to CI, and replaces isort in the pre-commit config with Ruff's isort rules.

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
2024-06-03 23:39:08 -04:00
pre-commit-ci[bot]
aec3d86122
[pre-commit.ci] pre-commit autoupdate (#3794)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.5 → v0.4.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.5...v0.4.7)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-03 23:16:13 -04:00
pre-commit-ci[bot]
31df6d0a23
[pre-commit.ci] pre-commit autoupdate (#3784)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.4 → v0.4.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.4...v0.4.5)
- [github.com/codespell-project/codespell: v2.2.6 → v2.3.0](https://github.com/codespell-project/codespell/compare/v2.2.6...v2.3.0)

* Fix typo

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
2024-05-27 20:19:22 +00:00
adeshpande
90ae6ad804
Add @ shorthand for CoordinateSystem methods coords_to_point (c2p) and point_to_coords (p2c) (#3754)
* Add shorthand for axes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add spacing

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>

* Convert CoordinateSystem example, and add to NumberLine

* Add doctest for NumberLine

* Add test

* Fix typehint for c2p

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-05-27 17:34:08 +00:00
Francisco Manríquez Novoa
938b8fc344
Optimize VMobject methods which append to points (#3765) 2024-05-23 10:30:25 -04:00
jkjkil4
0a2fbbeffb
Fixed there_and_back_with_pause() rate function behaviour with different pause_ratio values (#3778)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-05-22 18:22:35 +00:00
Victorien
c9776be7da
Ignore Ruff format in git blame (#3781) 2024-05-22 13:32:50 -04:00
adeshpande
24025b60d5
pre-commit change to ruff (#3779)
* pre-commit change to ruff

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixes

* astral-sh ruff bump

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-22 12:03:23 -04:00
adeshpande
21eb0b7769
Add pyproject for ruff formatting (#3777)
* Add pyproject for ruff

* add black config back

* Make only formatting

* rearrange isort to undo diff

* poetry lock

* Feedback

* style

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>

---------

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
2024-05-22 10:56:40 +00:00
Francisco Manríquez Novoa
0d67dcdc6e
Fix assertions and improve error messages when adding submobjects (#3756)
* Optimized AnimationGroup computation of start-end times with lag ratio

* Added extra comment for init_run_time

* Added full path to imports in composition.py

* Optimized AnimationGroup.interpolate

* Fixed final bugs

* Removed accidental print

* Final fix to AnimationGroup.interpolate

* Fixed animations being skipped unintentionally

* Fix and improve Mobject assertions when adding submobjects

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update examples in Mobject.add() and OpenGLMobject.add() docstrings

* overriden -> overridden

* Joined string in OpenGLMobject error message

* Address requested changes

* OpenGLVMObjects -> OpenGLVMobjects

* Use tuplify in VGroup.__setitem__()

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-21 15:30:46 -04:00
dependabot[bot]
739958514f
Bump requests to 2.32.0 (#3776)
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 09:00:12 -04:00
Francisco Manríquez Novoa
7b841c27cc
Created and optimized Bézier splitting functions such as partial_bezier_points() in manim.utils.bezier (#3766)
* Optimized manim.utils.partial_bezier_points()

* Added split_bezier, subdivide_bezier and bezier_remap, and tests

* Use bezier_remap() in VMobject and OpenGLVMobject()

* Note that partial_bezier_points is similar to calling split_bezier twice
2024-05-21 05:26:59 +00:00
Francisco Manríquez Novoa
b4156045a3
Optimized manim.utils.bezier.is_closed() (#3768)
* Optimized manim.utils.bezier.is_closed()

* oops, that shouldn't have been there

* Slightly optimized is_closed() even more

* Added doctest for is_closed()
2024-05-20 03:49:52 +00:00
adeshpande
203a5366c2
Use --py39-plus in pre-commit (#3761)
* Use --py39-plus in pre-commit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix indication.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-15 17:24:16 -04:00
Benjamin Hackl
1f249e45b9
Let SceneFileWriter access ffmpeg via av instead of via external process (#3501)
* added av as a dependency

* make partial movie files use av instead of piping to external ffmpeg

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* opengl rendering: use av for movie files

* no need to check for ffmpeg executable

* refactor: *_movie_pipe -> *_partial_movie_stream

* improve (oneline) documentation

* pass more options to partial movie file rendering

* move ffmpeg verbosity settings to config; renamed option dict

* replaced call to ffmpeg in combine_files by using av

Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* there was one examples saved as a gif?

* chore(deps): re-order av

* chore(lib): simplify `write_frame` method

Reduces the overall code complexity

* chore(lib): add audio

* fix(lib): same issue for conversion

* fix(lib): webm export

* fix(lib): transparent export

Though the output video is weird

* try(lib): fix gif + TODOs

* chore(deps): lower dep crit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* feat(lib): add support for GIF

* fix(ci): rewrite tests

* fix

* chore(ci): prevent calling concat on empty list

* add missing dot

* fix(ci): update frame comparison ?

* fix(log): add handler to libav logger

* chore: add TODO

* fix(lib): concat issue

* Revert "fix(ci): update frame comparison ?"

This reverts commit 904cfb46ae.

* fix(ci): make it pass tests

* chore(lib/docs/ci): remove FFMPEG entirely

This removes any reference to FFMPEG, except in translation files

* added av as a dependency

* make partial movie files use av instead of piping to external ffmpeg

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* opengl rendering: use av for movie files

* no need to check for ffmpeg executable

* refactor: *_movie_pipe -> *_partial_movie_stream

* improve (oneline) documentation

* pass more options to partial movie file rendering

* move ffmpeg verbosity settings to config; renamed option dict

* replaced call to ffmpeg in combine_files by using av

Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* there was one examples saved as a gif?

* chore(deps): re-order av

* chore(lib): simplify `write_frame` method

Reduces the overall code complexity

* chore(lib): add audio

* fix(lib): same issue for conversion

* fix(lib): webm export

* fix(lib): transparent export

Though the output video is weird

* try(lib): fix gif + TODOs

* chore(deps): lower dep crit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* feat(lib): add support for GIF

* fix(ci): rewrite tests

* fix

* chore(ci): prevent calling concat on empty list

* add missing dot

* fix(ci): update frame comparison ?

* fix(log): add handler to libav logger

* chore: add TODO

* fix(lib): concat issue

* Revert "fix(ci): update frame comparison ?"

This reverts commit 904cfb46ae.

* fix(ci): make it pass tests

* chore(lib/docs/ci): remove FFMPEG entirely

This removes any reference to FFMPEG, except in translation files

* chore(deps): update lockfile

* chore(lib): rewrite ffprobe

* fix typo

* slightly more aggressive removal of ffmpeg in docs; minor language changes

* fix gif output stream dimensions

* minor style change

* fix encoding of (transparent) mov files

* fixed metadata / comment

* set frame rate for --format=gif in output_stream

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* more video tests for different render settings, also test pix_fmt

* improve default bitrate setting via crf

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* parametrized format/transparency rendering test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* context managers for (some) av.open

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/utils/commands.py

Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>

* fixed segfault

* update test data involving implicit functions (output improved!)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* explicity set pix_fmt for transparent webms

* special-special case extracting frame from vp9-encoded file with transparency

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix transparent gifs, more special casing in parametrized video format test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* run tests on macos-latest again

* removed old control data

* Revert "run tests on macos-latest again"

This reverts commit f50efa4b88.

* added sound to codec test; fixed issue with sound track in gif (disabled) and webm (now via opus)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* manual wav -> ogg transcoding

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed f-string

* refactored codec test, split out gif

* check for non-zero audio samples

* more cleanup

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove ffmpeg from readthedocs apt_packages

* round up run_time if positive and shorter than current frame rate

* added more run_time tests

* black

* improve implementation of test

* removed some unused imports

* improve wording of logged warning

Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>

* move run_time checks from Animation.begin to Scene.get_run_time

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove unused import

* flake: PT012

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
2024-05-15 13:23:09 +00:00
adeshpande
4bd2f860b4
Add typehints to manim.utils.iterables (#3751)
* typehint iterables

* organize typing hints

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove any

* Add overloads for tuplify

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove example

* feedback

* Make TypeVars accessible at runtime

* Add hints for zip

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>

* typing -> collections.abc

Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>

* try to make mypy happy

* zip[tuple[T, ...]] instead of zip[T]

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
2024-05-11 21:33:03 -04:00
dependabot[bot]
94cd27c234
Bump jinja2 from 3.1.3 to 3.1.4 (#3750)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 19:41:58 -04:00
dependabot[bot]
e4ee9a06a1
Bump tqdm from 4.66.1 to 4.66.3 (#3746)
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.1 to 4.66.3.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.1...v4.66.3)

---
updated-dependencies:
- dependency-name: tqdm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-04 15:08:19 -04:00
anagorko
93c601f013
Fixes #3744 (#3745)
Co-authored-by: Andrzej Nagórko <>
2024-05-03 20:46:20 +02:00
pre-commit-ci[bot]
31f189519b
[pre-commit.ci] pre-commit autoupdate (#3739)
updates:
- [github.com/psf/black: 24.4.0 → 24.4.2](https://github.com/psf/black/compare/24.4.0...24.4.2)
- [github.com/pre-commit/mirrors-mypy: v1.9.0 → v1.10.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.9.0...v1.10.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-29 14:17:54 -04:00
adeshpande
a56c0c9fee
Fix release documentation building (#3737) 2024-04-29 00:37:27 +02:00
VPC
4a0c7057db
feat: Add three animations that together simulate a typing animation (#3612)
* feat: Add animations that together simulate typing

AddTextLetterByLetterWithCursor

RemoveTextLetterByLetterWithCursor

Blink

* Revert "feat: Add animations that together simulate typing"

This reverts commit 5fe256880d.

* Revert "Revert "feat: Add animations that together simulate typing""

This reverts commit 6a8244a157.

* Add new animations to __all__

* Temporarily remove docs example

* Modify "Blink" and add docstring examples back in

To avoid 0-second animations, which fail docstring test

* Address requested changes

Fix imports
Remove redundant constructor arguments
Improve names

* Shorten names
2024-04-28 16:19:24 +00:00
Benjamin Hackl
33e560473d
Prepare new release: v0.18.1 (#3719)
* add note about changelog in changelog.rst

* bump version

* Update CITATION.cff
2024-04-28 09:02:22 +00:00
Benjamin Hackl
6cb89a06ba
fixed [""] being set as loaded plugins (#3734) 2024-04-28 00:35:29 +02:00
Jinchu Li
c4e7502968
Fixed ``get_anchors()`` Return Type Inconsistency (#3214)
* changed return type of get_anchors()

* Ensured consistency with OpenGLVMobject

* Fixed CodeQl, updated docstring

* Update manim/mobject/types/vectorized_mobject.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/opengl/opengl_vectorized_mobject.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* fixed typo, t -> e

* fixed doctest

---------

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2024-04-27 23:54:24 +02:00
Francisco Manríquez Novoa
1ce3edd97a
AnimationGroup: optimized interpolate() and fixed alpha bug on finish() (#3542)
* Optimized AnimationGroup computation of start-end times with lag ratio

* Added extra comment for init_run_time

* Added full path to imports in composition.py

* Optimized AnimationGroup.interpolate

* Fixed final bugs

* Removed accidental print

* Final fix to AnimationGroup.interpolate

* Fixed animations being skipped unintentionally

* Addressed requested changes

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-04-27 23:34:17 +02:00
adeshpande
98641a2f82
Add `--preview_command` cli flag (#3615)
* Add preview_command cli flag

* Edit help for --preview_command

* Change back from subprocess.run

* Remove old comment

* Bug with timg stopped happening with sp.run

* Fix docstring

* Revert "Fix docstring"

This reverts commit d2c00fc24dc46586f994237f1d2758528b78d6a3.

* Actually fix docstring

* Change help for option

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-04-27 23:18:48 +02:00
adeshpande
a3d584b7f4
build(ci): change from macos-latest to macos-13 (#3729) 2024-04-27 00:57:17 +02:00
Amirreza A
791a892be3
Update coordinate_systems.py (#3730)
small change
2024-04-27 00:55:03 +02:00
Benjamin Hackl
0f268e6f9c
Follow-up to graph layout cleanup: improvements for tests and typing (#3728)
* suggestions from review on #3434

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-25 00:38:16 +02:00
Nikhil Iyer
a3adcaaab3
Clean Graph layouts and increase flexibility (#3434)
* allow user-defined layout functions for Graph
+ fixup type annotations

* only pass relevant args

* write tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* change_layout forward root_vertex and partitions
- deduplicated layout code in __init__ and change_layout
- fixed change_layout backwards compatibility

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add test for change_layout

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix copy/paste error

* fix

* fixup types for CodeQL

* static type the Layout Names

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix dynamic union type for Python 3.9

* add example scenes to LayoutFunction protocol documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Replace references to np.ndarray with standard Manim types

* Label NxGraph as a TypeAlias

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-04-24 23:33:44 +02:00
Greg Rupp
aa3e2cf54e
Fix issue where SpiralIn doesn't show elements. (#3589)
* Set SpiralIn to use fill_opacity 1 if not set

* Create SpiralIn control data

* Create test for SpiralIn

* Fix spiralin to separate fill and stroke opacity

* resolve opacity issue

* fix test data

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-04-24 22:02:13 +02:00
adeshpande
c32f0fd83a
build(deps): read-the-docs sphinx (#3720) 2024-04-24 16:52:15 +02:00
adeshpande
a4e5233273
fix(autoaliasattr): search for type aliases under if TYPE_CHECKING (#3671) 2024-04-24 08:02:43 -04:00
pre-commit-ci[bot]
1aee37bfb5
[pre-commit.ci] pre-commit autoupdate (#3332)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pre-commit/pre-commit-hooks: v4.4.0 → v4.6.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.4.0...v4.6.0)
- [github.com/pycqa/isort: 5.12.0 → 5.13.2](https://github.com/pycqa/isort/compare/5.12.0...5.13.2)
- [github.com/asottile/pyupgrade: v3.10.1 → v3.15.2](https://github.com/asottile/pyupgrade/compare/v3.10.1...v3.15.2)
- [github.com/psf/black: 23.7.0 → 24.4.0](https://github.com/psf/black/compare/23.7.0...24.4.0)
- [github.com/asottile/blacken-docs: 1.15.0 → 1.16.0](https://github.com/asottile/blacken-docs/compare/1.15.0...1.16.0)
- [github.com/PyCQA/flake8: 6.1.0 → 7.0.0](https://github.com/PyCQA/flake8/compare/6.1.0...7.0.0)
- [github.com/pre-commit/mirrors-mypy: v1.5.1 → v1.9.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.5.1...v1.9.0)
- [github.com/codespell-project/codespell: v2.2.5 → v2.2.6](https://github.com/codespell-project/codespell/compare/v2.2.5...v2.2.6)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* make smoothererstep readable again, avoid overlong line

* zoom_value more readable

* fix blacken-docs touching .github

* fix codespell setup, remove unnecessary file, fix some typos

* flake8: ignore E704, triggered by overload

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docs/source/tutorials/quickstart.rst

* more flake fixes

* try to make blacken-docs happy

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-04-24 13:11:03 +02:00
MontroyJosh
0fd16b8918
Fixed Mobject.put_start_and_end_on with same start and end point (#3718)
* fix put_start_and_end_on() at the same point

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-24 12:37:44 +02:00
Stefano Ottolenghi
563810a772
Fix typo (#3721) 2024-04-24 12:21:37 +02:00
dependabot[bot]
dff83be61f
Bump pillow from 10.2.0 to 10.3.0 (#3672)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-21 11:23:20 +02:00
dependabot[bot]
83957b9c2f
Bump idna from 3.6 to 3.7 (#3693)
Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.6...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-21 11:22:37 +02:00
adeshpande
f8e3408f9e
Fix some typehints in mobject.py (#3668)
* refactor(mobject): fix some typehints

* Move typing_extensions import under `if TYPE_CHECKING`
* Change from using `def animate(self: T ,...) -> T` to `def
  animate(self, ...) -> Self` as stated in PEP 673
* Fix incorrect usage of `T` in a method

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* move updaters type alias into TYPE_CHECKING

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-20 16:16:29 +02:00
adeshpande
679b89a43f
fix(copyright): automate copyright updating for docs (#3708) 2024-04-19 23:42:17 +02:00
Daniel Zhu
f9dc9c7a5b
Update documentation and typings for ParametricFunction (#3703)
* Update documentation and typings for ParametricFunction

* Use manim tyings

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* fix typings

* a few doc fixes

* Update manim/mobject/graphing/functions.py

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update typings

* remove extraneous line

* update example code

* add line back for comptibility

* import TYPE_CHECKING

---------

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-19 07:11:13 -04:00
adeshpande
5139765ff4
docs: update typing guidelines (#3704)
* Update typing guidelines

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix formatting

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
2024-04-16 21:40:15 -04:00
dependabot[bot]
04bfa22107
Bump ssciwr/setup-mesa-dist-win from 1 to 2 (#3609)
Bumps [ssciwr/setup-mesa-dist-win](https://github.com/ssciwr/setup-mesa-dist-win) from 1 to 2.
- [Release notes](https://github.com/ssciwr/setup-mesa-dist-win/releases)
- [Commits](https://github.com/ssciwr/setup-mesa-dist-win/compare/v1...v2)

---
updated-dependencies:
- dependency-name: ssciwr/setup-mesa-dist-win
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-14 22:18:04 +00:00
dependabot[bot]
dc0db41245
Bump FedericoCarboni/setup-ffmpeg from 2 to 3 (#3608)
Bumps [FedericoCarboni/setup-ffmpeg](https://github.com/federicocarboni/setup-ffmpeg) from 2 to 3.
- [Release notes](https://github.com/federicocarboni/setup-ffmpeg/releases)
- [Commits](https://github.com/federicocarboni/setup-ffmpeg/compare/v2...v3)

---
updated-dependencies:
- dependency-name: FedericoCarboni/setup-ffmpeg
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-14 21:50:46 +00:00
dependabot[bot]
a45c0d4b67
Bump actions/cache from 3 to 4 (#3607)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-04-14 21:20:24 +00:00
Sir James Clark Maxwell
27766127e2
Fix successive calls of :meth:.LinearTransformationScene.apply_matrix (#3675)
* docs: improve installation FAQ's

* I have potentially resolved the issue when in LinearTransformationScene between two animations of transforming space we invoke the self.wait()

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added another solutions in comments, added tests and removed wrong files from git

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* yeah , i forgot to save the file xd

* fixed the test, removed the comments my in changed file

* fix test and speed up test time for test_apply_matrix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed the test, removed the comments my in changed file

* fixed the test

* Revert "docs: improve installation FAQ's"

This reverts commit e53a1c8d6f.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-04-14 13:22:36 +00:00
Pavel Zwerschke
2a4c2da1d7
Mention pixi in installation guide (#3678)
* Mention pixi in installation guide

* Update docs/source/installation/conda.rst

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Add note

---------

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-04-14 11:56:25 +00:00
adeshpande
902c3f4215
only do actions if try succeeded (#3694) 2024-04-14 10:31:40 +02:00
HairlessVillager
aef8184379
Docs: fix out-dated CLI option in Manim's Output Settings (#3674)
* Docs: fix out-dated CLI option in Manim's Output Settings

* Docs: more fluent English

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Docs: break lines

* Docs: more fluent English

* Docs: remove a space

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

---------

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-04-13 09:02:34 -04:00
Chin Zhe Ning
b750152700
Fix typo (#3696) 2024-04-12 06:42:28 -04:00
adeshpande
93cf85cd42
Attempted fix for windows cp1252 encoding failure (#3687)
* Attempt to fix windows test

* Revert "Attempt to fix windows test"

This reverts commit e31c2077cd.

* try a different fix

* maybe both fixes together?

* try adding in CI

* Update ci.yml

* Update logger_utils.py

* maybe needs a dash?

* try utf8 again

* Remove legacy_windows

* try changing test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Try decoding after capturing bytes output

* Nicer fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
2024-04-11 23:56:59 +02:00
adeshpande
294313d683
Remove deprecated parameters and animations (#3688)
* Remove deprecated parameters/animations

* Remove test

* Remove test data
2024-04-11 19:49:02 +02:00
adeshpande
a6da37b88c
fix(LICENSE): update year (#3689) 2024-04-11 17:57:55 +02:00
Chin Zhe Ning
d62a04f059
Fix minor grammatical errors found in the index page of the documentation (#3690)
* Fix some minor grammatical errors in the index page of the docs

* Fix grammar

* Undo uneccessary change in phrasing
2024-04-11 17:57:40 +02:00
Chin Zhe Ning
7936c7d08a
Fix broken link to Poetry's installation guide in the first time contributors page (#3692) 2024-04-11 17:55:40 +02:00
Christian Clauss
1aad0c7b1a
Flake8 rule C901 is about McCabe code complexity (#3673)
* Flake8 rule C901 is about McCabe code complexity

It is not about flake8-comprehensions.

* max-complexity = 29
2024-04-09 08:22:30 +02:00
Abulafia
c025be6516
Fix bug in :class:.VMobjectFromSVGPath (#3677)
* Fixes #3676

* Update manim/mobject/svg/svg_mobject.py

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>

* Fixed problem and added test

---------

Co-authored-by: adeshpande <110117391+JasonGrace2282@users.noreply.github.com>
2024-04-08 18:46:43 +02:00
adeshpande
ef675b64f0
Fix typehint of Vector direction parameter (#3640)
* Fix typehint of Vector

* Change from Vector to Point in typehint

In `TipableVMobject._pointify` it converts a 3D
list of the form [x, y, z] to a Vector3D. Therefore
the direction parameter can take lists, not just numpy arrays.
2024-04-02 18:44:41 +00:00
adeshpande
afe1d18de5
Added some examples for Mobject/VMobject methods (#3641)
* Add examples to mobject+vmobject methods

* Add missing import

* Separate whitespace to point_from_proportion

* Fixes!

* Changed example of Mobject.get_color

* Remove unneccessary import

* Add in import
2024-04-01 13:50:10 +00:00
Tristan Schulz
909ffded28
Fixing the behavior of .become to not modify target mobject via side effects fix color linking (#3508)
* Copied ndarray for rgbas when interpolating

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changing .become to copy the target mobject

* change tests and test data to reflect .become new behavior

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tests/test_graphical_units/test_mobjects.py

* removed unused copy_submobject kwarg

* added doctests and improved documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-04-01 03:41:57 +00:00
adeshpande
7a794e341f
Code Cleanup: removing unused imports and global variables (#3620)
* Remove unused import

* More security fixes

* Remove unused global variable

* More fixes

* Revert change (actual fix would require some rewrite)

* Add exception for edge case to satisfy warning

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Stuff

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-01 03:21:14 +00:00
dependabot[bot]
d1cf1c5750
Bump cryptography from 42.0.0 to 42.0.4 (#3629)
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.0 to 42.0.4.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.0...42.0.4)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 02:55:22 +00:00
dependabot[bot]
f65ebf2194
Bump black from 23.12.1 to 24.3.0 (#3649)
Bumps [black](https://github.com/psf/black) from 23.12.1 to 24.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.12.1...24.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 04:26:37 +02:00
adeshpande
9f3d486095
Fix Vector3 -> Vector3D in contributing docs (#3639) 2024-03-17 15:13:08 -04:00
Abulafia
77d42d2a46
Update jupyter.rst (#3630)
Pinpoint IPython==8.21.0 for Google Colab, because more recent versions are incompatible with their runtime.
2024-02-24 00:08:47 +01:00
Jason Grace
c7e7ca2e46
Run poetry lock --no-update (#3621) 2024-02-15 17:17:29 -05:00
Victorien
206f8740b9
Remove support for dynamic plugin imports (#3524)
* Remove call to deprecated `pkg_resources`

* Remove support for dynamic plugin imports, update plugin utilities

* fix affected tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* more fixes

* Last fix

* Fix import

* Update docs

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
2024-02-15 08:17:13 -08:00
Said Taghadouini
fcd81b21a4
Improve handling of specified font name (#3429)
Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>

The proposed fix does two things :

* If the specified font is 'sans-serif' : change it to 'sans' as this is the name used in the list of fonts
* if the font name is not in the list of fonts, automatically check if the capitalized version of the font exists in the list of fonts. If not, print a warning to the user.
2024-02-13 15:26:54 -05:00
Francisco Manríquez Novoa
011c36a634
Revert vector type aliases to NumPy ndarrays (#3595) 2024-02-13 00:27:39 +01:00
yuan
ed1b203993
fix type hint of indication.py (#3613) 2024-02-03 19:14:16 -05:00
Benjamin Hackl
1520481812
Update ci.yml (#3611) 2024-02-01 19:22:24 -05:00
Jason Grace
65d352d0ab
Fix typehint (#3592) 2024-02-02 00:31:53 +01:00
Jason Grace
f70980aa40
Add ref_class (#3598) 2024-02-01 23:27:49 +01:00
Sparsh Goenka
e2cec98f9a
fix get_arc_center() returning reference of point (#3599) 2024-02-01 23:27:17 +01:00
yuan
d0fe0c3894
fix typo in value_tracker.py (#3594) 2024-01-25 08:27:18 +01:00
NotWearingPants
f8b5066899
Update docker.rst to use bash from the PATH (#3582) 2024-01-25 00:41:38 +01:00
yuan
175cb89400
fix write_subcaption_file error when using opengl renderer (#3546)
* fix write_subcaption_file error when using opengl renderer

* Update manim/scene/scene_file_writer.py

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2024-01-25 00:40:30 +01:00
Greg Rupp
7006d6b79e
Removed -s / --save_last_frame flag from CLI arguments (#3528)
* Remove -s flag

* Make help text more verbose
2024-01-24 21:12:24 +01:00
Benjamin Hackl
8264595e3b
updated several packages (pillow, jupyterlab, notebook, jupyterlab-lsp, jinja2, gitpython) (#3593) 2024-01-24 21:07:17 +01:00
dependabot[bot]
9289a5c68d
Bump actions/setup-python from 4 to 5 (#3565)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 20:22:51 +01:00
dependabot[bot]
9d880c2f80
Bump actions/upload-artifact from 3 to 4 (#3566)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 20:21:47 +01:00
dependabot[bot]
775482bc20
Bump github/codeql-action from 2 to 3 (#3567)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 20:21:21 +01:00
Viicos
68bd79093e
Refactor TexTemplate (#3520)
* Refactor `TexTemplate`

* Add tests, refactor some things

* Fixed Some tests

* Move typing imports

* Fix remaining tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-15 18:39:03 +00:00
Francisco Manríquez Novoa
a57fb69f68
Add 'to be used in the future' TODOs to ManimFrame (#3553) 2024-01-15 18:07:50 +00:00
Dan Davison
9a84ec6a45
Fix typing of Animation (#3568) 2024-01-13 18:39:40 +01:00
Hydromel Victor Doledji
4e3cfd207a
exception add if new_rings is none (#3574)
* exception add if new_rings is none

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-11 08:23:49 -05:00
Václav Volhejn
3b496ea2e6
Add helpful hints to VGroup.add() error message (#3561)
* Improve VGroup creation error message

* Use .__name__ for the type

Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>

---------

Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>
2024-01-03 00:30:53 +01:00
Francisco Manríquez Novoa
286f366a35
Improve documentation section about contributing to docs (#3555)
* Improve section in docs about contributing to docs

* Add note about doc build command depending on the OS

* Improve section in docs about contributing to docs

* Add note about doc build command depending on the OS

* Fix wrong toctree path in docs/source/contributing/docs.rst
2023-12-30 00:22:24 +01:00
Francisco Manríquez Novoa
02391d71ac
Added support for Manim type aliases in Sphinx docs + Added new TypeAliases (#3484)
* Updated manim.typing and included TypeAliases in docs.source.conf

* Added Vector2 and reorganized manim_type_aliases

* Fixed __all__ exports for __all__ of manim

* Update manim/cli/render/global_options.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Draft of new typing docs and new autotyping directive

* Changed vertical bars to Unions

* Updated poetry.lock

* Created custom file parser for manim.typing

* Got reST parser going

* Updated autotyping and parsing

* Update parsing

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added code_block toggle

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added typings to directives

* Renamed Tuple to tuple in manim.typings

* Added missing docs for type aliases

* Fixed exponent typo in ManimInt

* Hyperlinks to types work - removed Module Attributes section

* Removed Unused Import

Remove ``import re``

* Added freeglut-devel to workflows for Linux

Hopefully (?) fix the GLU import error

* Fix package name

* Add support for Type Aliases section in every module - Renaming of Vector types

* Add/fix docs for directive, parser and others

* Fixed alias typo in module_parsing

* Fix decode/import bugs, fix minor details in docs

* Added missing docs for utils.docbuild and utils.testing

* Sort alphabetically entries in utilities_misc.rst

* Address review comments, add notes about Vector and hyperlinks inside definition blocks

---------

Co-authored-by: MrDiver <mrdiverlp@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
2023-12-29 19:04:31 +01:00
Jason Grace
4a963c45ab
add note in docstring of ManimColor about class constructors (#3554) 2023-12-28 18:57:21 +01:00
Jason Grace
472eaae6fe
Fix use of Mobject's deprecated get_*() and set_*() methods in Cairo tests (#3549)
* Fix Deprecation warnings in cairo tests

* Fix animation/specialized.py
2023-12-26 22:36:26 +01:00
Jason Grace
9b18a861f3
Finish TODO's in `contributing/typings.rst` (#3545)
* Updated typing docs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added link for protocols

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added object vs Any

* Fix Typo

* Rephrase TypeVar

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

* Compare between tuple vs list

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

* typing -> collections.abc

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

* typing -> collections.abc

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

* change method to attr

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

* clarify object typehint

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

* Fix code typo

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

* Added if TYPE_CHECKING section

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix reST for inline code

* Elaborate on if TYPE_CHECKING

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

* functions -> collections

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>
2023-12-24 12:33:45 -05:00
yuan
34e7d68644
Fix typo of get_y_axis_label docstring (#3547) 2023-12-23 15:58:07 +01:00
Jason Grace
3037f0e713
Remove wag method from Mobject (#3539)
Co-authored-by: Francisco Manríquez Novoa <49853152+chopan050@users.noreply.github.com>
2023-12-22 16:01:59 -05:00
Jason Grace
dd327a37ca
Fixed Animate Type-hint (#3543) 2023-12-21 01:37:24 +00:00
Jason Grace
8ea8f25576
Fix formatting of `MoveAlongPath` docs (#3541)
* Remove wag method from Mobject

* Fixed MoveAlongPath

* Revert remove wag

Created a new branch with the wrong base, sorry ;)
2023-12-21 00:33:56 +00:00
Jérome Eertmans
196fa1fa2f
chore(docs): add some words about Cairo 1.18 (#3530)
* chore(docs): add some words about Cairo 1.18

Closes #3521

* fix(docs): typo

* Update testing.rst

* Update testing.rst
2023-12-17 17:37:01 +01:00
Benjamin Hackl
cac608bf2a follow-up to #3491, made errors more consistent. fixes #3527 2023-12-17 17:32:38 +01:00
Tristan Schulz
b69e1d72cf
Adding the ability to pass lists and generators to .play() (#3365)
* adding the ability to pass lists and generators to .play()

* fix for _AnimationBuilder

* Changed handling of generators to accept lists of generators and normal arguments at the same time

* Animation group handles generators

* Refactored into own function for reusability

* Fix typing

* Fix typing

---------

Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>
2023-12-13 11:24:05 +00:00
TheMathematicFanatic
fc4271061c
Add Documentation to .to_edge and to_corner (#3408)
* Added docstrings and example renders to Mobject.to_corner() and Mobject.to_edge

* Added docstrings and example renders to Mobject.to_corner() and Mobject.to_edge

* Update manim/mobject/mobject.py

* Update manim/mobject/mobject.py

* Update manim/mobject/mobject.py

* Update manim/mobject/mobject.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/mobject/mobject.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-12-13 12:06:22 +01:00
Yash Mundada
98a7f42ed2
fixed the stroke width issue with single color in streamlines (#3436)
* fixed the stroke width issue with single color in streamlines

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added test for streamlines

* Added test for streamlines

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: MrDiver <mrdiverlp@gmail.com>
2023-12-12 19:44:49 +00:00
Tristan Schulz
17043747ef
Fix animations with zero runtime length to give a useful error instead of a broken pipe (#3491)
* Fix animation group not erroring when instantiated with an empty list

* Move error messages into Animation.begin()

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/animation/animation.py

* Update manim/animation/composition.py

* Update manim/animation/animation.py

Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>
2023-12-12 20:19:16 +01:00
Paul Uhlenbruck
d39097825a
Fix rectangle grid properties (#3082) (#3513)
* Import  for both vertical and horizontal gridlines in

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-12-12 19:44:07 +01:00
Robin Dimasin
9938bf59a3
Added grid_lines attribute to Rectangle to add individual styling to the grid lines (#3428)
* Added 'grid_line_stroke_width' parameter in Rectangle

* Added 'grid_lines' (VGroup) attribute to 'Rectangle' class

---------

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2023-12-12 18:09:51 +00:00
Jérome Eertmans
0a24cad22a
Account for dtype in the pixel array so the maximum value stays correct in the invert function (#3493)
* fix(lib): fix

This fixes an issue where the `invert` argument would only work for `uint8` dtypes. Now the `max` value is updated according to the pixel array dtype.

Maybe we should add unit tests for that, but haven't found an obvious place to put unit tests.

* chore(ci): add basic test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix(ci): wrong attr name

* Update tests/module/mobject/test_image.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-12-12 13:31:28 +01:00
dependabot[bot]
912ae76f8f
Bump jupyter-server from 2.9.1 to 2.11.2 (#3497)
Bumps [jupyter-server](https://github.com/jupyter-server/jupyter_server) from 2.9.1 to 2.11.2.
- [Release notes](https://github.com/jupyter-server/jupyter_server/releases)
- [Changelog](https://github.com/jupyter-server/jupyter_server/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter-server/jupyter_server/compare/v2.9.1...v2.11.2)

---
updated-dependencies:
- dependency-name: jupyter-server
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 12:53:52 +01:00
Tristan Schulz
18a7294164
Fix formatting building blocks (#3515)
* Fix formatting building blocks

* Fix formatting building blocks

---------

Co-authored-by: Jason Grace <110117391+JasonGrace2282@users.noreply.github.com>
2023-12-12 10:45:39 +01:00
Jason Grace
9a35756048
Explain `.Transform vs .ReplacementTransform` in quickstart examples (#3500)
* Explained ReplacementTransform vs Transform

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added section explaining Transform vs ReplacementTransform

* Added a->b->c example

* Clarified explanation

* Fixed Typo

* Fixed missing colon

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2023-12-10 23:56:55 +00:00
Doaa Muhammad
64a0e9db43
Reformatting the --save_sections output to have the format <Scene>_<SecNum>_<SecName><extension> (#3499)
* Worked on issue 3471, fixing rendered file names to inherit section name

* Modified file name to include section number and name

* Modified tests for file names to include number and name, in order to pass

---------

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2023-12-10 23:17:38 +00:00
Jérome Eertmans
018e4a3c1a
feat(cli): optionally hide version splash (#3329)
* feat(cli): optionally hide version splash

As discussed in #3326, this PR proposes a new optional flag to hide the version splash when manim command in launched. Additionally, the splash print is now inly executed when the CLI is executed, not on module import.

After looking at the current documentation, it does not seem to change anything. I only saw that you documented a version splash for when the CLI is used, but not when the module is imported. So removing it should not break the api docs.

In the future, users can still have version information with `import manim; print(manim.__version__)`.

Closes #3326

* chore(tests): make tests pass

---------

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2023-12-10 22:47:11 +00:00
Benjamín Ubilla
03f9d4b90b
Added cap_style feature to VMobject (#3516)
* Added cap_style feature to VMobject

* Added an example to `set_cap_style` method

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Unsplitted line 2501

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added graphical test for cap_style

* Added vmobject_cap_styles.npz for testing cap_styles

* Removed # noqa comments from vectorized_mobject.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-12-10 23:10:34 +01:00
Francisco Manríquez Novoa
3f118e4921
Removed deprecated new command (#3512)
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2023-12-10 19:05:32 +00:00
Tristan Schulz
370d883374
Implement caching of fonts list to improve runtime performance (#3316)
* Implement caching of fonts list to improve runtime performance

* Fix small use_svg_cache kwargs error

* replaced font list with LRU cache
2023-12-11 00:21:41 +05:30
yuan
0cba710a38
fix typo in docstring for DtUpdater example: line -> square (#3509) 2023-12-09 20:26:18 +00:00
szchixy
27d53606d4
fix line_join to joint_type in example_scenes/basic.py (#3510) 2023-12-09 20:57:32 +01:00
Melody Griesen
40766cb648
Update Docker base image to python3.12-slim (#3458) (#3459)
* Update Docker base image to python3.12-slim (#3458)

* Update docker/Dockerfile

---------

Co-authored-by: Melody Griesen <jvgriese@ncsu.edu>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-12-07 00:30:17 +01:00
szchixy
7590086753
fix 360° to 180° in quickstart tutorial (#3498) 2023-12-06 18:06:35 +01:00
Viicos
61a2d05b69
Update dependency constraints, fix deprecation warnings (#3376)
* WIP: Update metadata

* Finish removing upper bounds

Drop requests dependency, use urllib instead
order depencencies

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix issues on 3.12

* Order dev dependencies

* Update most dev deps, update lint config

* Add missing import

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* trigger CI

* More deprecation fixes

* Missing argument

* Deprecation fixes, again

* Use older xdist to fix test flakyness

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-12-06 14:44:13 +01:00
Francisco Manríquez Novoa
6949c66922
Optimized get_unit_normal() and replaced np.cross() with custom cross() in manim.utils.space_ops (#3494)
* Added cross and optimized get_unit_normal in manim.utils.space_ops

* Added missing border case to new get_unit_normal where one vector is nonzero

* Updated test_threed.py::test_Sphere test data
2023-12-06 14:40:10 +01:00
JosephD
7cead84d21
Update indication.py (#3477)
reading docs, im sure oppising isnt a word
2023-11-30 13:10:39 +01:00
Lawrence Qupty
28bf4dd2a6
Fix Idicate docs typo (#3461) 2023-11-20 19:32:11 +01:00
Viicos
212bca09ca
Add type hints to _config (#3440)
* Add type hints to `_config`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix call issues

* Fix wrong value being used

* Fix test

* Fix wrong value being set

* lint

* Few type fixes

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-20 19:31:18 +01:00
Jason Grace
94711f742d
Allow accessing ghost vectors in :class:.LinearTransformationScene (#3435)
* Fix CSV reader adding empty files

Fixes issue #3311

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added LinearTransformationScene.ghost_vectors

* Added test and prevented empty VGroups as ghost vectors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed typo in example

* Added ability to join together multiple renders

* Revert "Added ability to join together multiple renders" (wrong branch)

This reverts commit dee29c390f.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-19 09:20:59 +01:00
Benjamin Hackl
4315549c31
Fixed wrong path in action building downloadable docs (#3450)
* fixed wrong path in action building downloadable docs

* fix second occurrence of wrong path
2023-11-12 10:42:37 +01:00
Benjamin Hackl
e66c5807fb
Prepare v0.18.0 (#3439)
* generated changelog and bumped version

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changed some PR descriptions in the changelog

* fix some docbuild warnings

* fixed a reference that became ambiguous

* copyedit pass of changelog

* some more changelog polishing

* bump release date

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* updated release date

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-11 18:21:45 +01:00
Naveen M K
adfef5e7a5
Add option to run examples directly with binder (#3427)
* Add option to run examples directly with binder

The minified JS is from
https://github.com/naveen521kk/manim-binder

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* slight style changes

* update the js file to fix on chrome

Signed-off-by: Naveen M K <naveen521kk@gmail.com>

* show the run button as an cursor

* make the video to be 100% of the width

* Update manim/utils/docbuild/manim_directive.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Add a "Make interactive" button instead of "Run" button

Clicking on the "Make interactive" button show the code-editor and "run" button

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update margin for run interactive button

---------

Signed-off-by: Naveen M K <naveen521kk@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-11-10 21:52:43 +01:00
Uwe Zimmermann
20028cef46
feat: DecimalNumber() - added spacing between values and unit (#3366)
* feat: DecimalNumber() - added spacing between values and unit

* Update manim/mobject/text/numbers.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/text/numbers.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/text/numbers.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/text/numbers.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/text/numbers.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/text/numbers.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/text/numbers.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

---------

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-11-04 15:07:24 +01:00
Jason Grace
3962a12cd8
Added ability to remove non-svg LaTeX files (#3322)
* Added ability to remove latex junk (default True)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed tests (hopefully), and whitelisted .tex

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* reverted weird changes from merge

* See previous commit message

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed logs-too-long test

* Fixed log output

* Fixed typo ;)

* deleted unused variable

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* moved latex deletion to tex_file_writing.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* removed changes in scene files

* Added caching based on LaTeX expression .svg

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Deleted unused function in delete_old_tex

* make if condition more readable

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* cleaned up svg file check

* changed blacklist -> whitelist for file endings

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Reverted docstring change

* Updated delete_non_svg files docstring

* Changed list to a set

* Update manim/_config/utils.py

* Update manim/cli/render/global_options.py

* added one test for the no_latex_cleanup config option

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2023-11-04 15:05:17 +01:00
Jérome Eertmans
8fe1665915
chore(deps): add Python 3.12 support (#3395)
* chore(deps): add Python 3.11 and 3.12 support


chore(deps): update lock file


chore(deps): remove colour


fix(deps): force NumPy version


fix(deps): relax constraints


chore(deps): update lock file

* fix(deps): make poetry happy

* fix(ci): skia pathops on 3.12

* fix(test): doctest skip

* disable python 3.8 pipeline

* removed get_parameters, replaced by direct call to inspect

* black

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-11-04 14:36:51 +01:00
Václav Blažej
652f1b3d6a
fix: issue with ImageMobject bounding box (#3340)
* fix: fix an issue with ImageMobject bounding box

A missing point resulted in smaller bounding box causing issues it to be
smaller when the object is rotated. Added the missing fourth point to
ImageMobject points and altered call from camera. Filled in docstring
that used to propagate from superclass, saying that ImageMobject has no
points.

* add a test to check that rotating an image to and from doesn't change it

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Václav Blažej <vaclav.blazej@warwick.ac.uk>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-04 14:36:22 +01:00
Tristan Schulz
d77a47a233
Fix Typing (#3086)
* first draft of color class + starting library conversion

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changed everything to Manim color todo: figure out circular dependency in utils

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* first working draft of new color version

* resolving conflicts

* resolving conflicts

* resolving conflicts

* resolving conflicts

* resolving conflicts

* changed default internal value of ManimColor to np.ndarray[float]

* starting to fix tests

* fixed more tests and changed precision of manim color

* removed premature color conversion

* fixed some more tests

* final test changes

* fix doctests

* fix for 3.8

* fixing ManimColor string representation

* removing some unneccesary conversions

* moved community constants to manim_colors.py and added more color standards

* Added typing.py and typed bezier.py, core.py, constants.py  fully

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed codeql complaints

* add type ignore for np.allclose

* fixed import in three_dimensions

* added ignore for F401 back again in flake

* added typings to coordinate_systems.py

* Few improvements to `graphing/coordinate_systems.py`

* added some typings to mobject/geometry/line.py

* updated typings for mobject/geometry/line.py

* Add missing imports to `line.py`

* added typings to three_dimensions.py

* Use `FunctionOverride` for animation overrides

Fix type signature of `set_color_by_gradient`

* Remove `TYPE_CHECKING` check

Doc is failing

* Revert "Remove `TYPE_CHECKING` check"

Fails due to circular import

* Use `Self` in `coordinate_systems.py`

* Typehinted mobject.py and updated manim.typing.py

* Typed VMobject

* Type-hinted manim.mobject.geometry

* math.cos->np.cos, etc & fixed incorrect typehints

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix missing annotations import

* TypeAlias fix in typing.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add ignore errors again to mypy because commits are not possible like this

* Fix last typing issues

* Update docs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Only type check manim

* Try fixing pre-commit

* fix merge

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix compat

* Fix compat again

* Fix imports compat

* Use union syntax

* Use union syntax

* Fix reduce_across_dimension

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Various test and merge fixes

* Doc fixes

* Last doc fix

* Revert usage of np over math

* Bump numpy version

* Remove obsolete duplicate example

* Fixed Incorrect Typehint in manim.constants

* Fix docstring typo

* More fixes

Use mypy.ini instead of .mypy.ini
Fix more docstrings
Improve types in utils and constants

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* docs fixes

* Add internal aliases

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix compat

* line lengths in .rst file, formatting, typos

* add docstring for space_ops:cross2d

* add some more arrow tip typings (in a non-circular import causing way)

* yes, this can be deleted

* fix formatting of example

* added docstring to bezier::inverse_interpolation

* added docstring + test for bezier::match_interpolate

* some improvements in coordinate_systems

* Vector -> Vector3

* replaced np.ndarray with more appropriate type hints

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply feedback

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* revert to previous (new) version

* fix doctest

* fix ReST errors

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alex Lembcke <alex.lembcke@gmail.com>
Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-11-04 00:49:11 +01:00
Harald Schilly
25bb381528
bump dependencies -- see #3241 (#3433) 2023-11-03 19:39:18 +01:00
dependabot[bot]
1b880996a9
Bump teatimeguest/setup-texlive-action from 2 to 3 (#3431)
Bumps [teatimeguest/setup-texlive-action](https://github.com/teatimeguest/setup-texlive-action) from 2 to 3.
- [Release notes](https://github.com/teatimeguest/setup-texlive-action/releases)
- [Commits](https://github.com/teatimeguest/setup-texlive-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: teatimeguest/setup-texlive-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 19:10:26 +01:00
Nikhil Iyer
190ae5db53
Fix None check order in _tree_layout (#3421)
* Fix None check order in _tree_layout

* add tests to test_graph.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-02 19:00:10 +01:00
Jason Grace
5d73525836
Fix CSV reader adding empty lists in rendering summary (#3430)
* Fix CSV reader adding empty files

Fixes issue #3311

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-02 16:23:30 +01:00
Naveen M K
b7a8a2d4d8
CI: fix caching of cairo (#3419)
I forgot to change the path after moving around the file.
2023-10-27 09:29:12 +02:00
Benjamin Hackl
b7eefca98f
Fix incorrect submobject count of multi-part Tex/MathTex mobjects by stopping them from adding empty submobjects (#3423)
* do not add a VectorizedPoint as a submobject if SingleStringMathTex renders to empty SVG

* test new behavior

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tests/module/mobject/text/test_texmobject.py

* Update tests/module/mobject/text/test_texmobject.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-27 09:28:23 +02:00
Benjamin Hackl
5193e1cfd1
Introduce new workflow creating a downloadable version of the documentation (#3417)
* Revert "rtd: enable htmlzip build (#3355)"

This reverts commit 571f79be2c.

* use python3.11 to build docs

* upgrade python version used in release publish workflow

* new workflow for building downloadable docs

* change event trigger for testing

* sudo apt

* rename release job; build html in poetry env

* set GITHUB_PATH instead of PATH

* introduce additional step

* use correct binary path

* forgot microtype

* fonts-roboto + actually compress files correctly

* fix asset path

* Update .github/workflows/release-publish-documentation.yml

Co-authored-by: Naveen M K <naveen521kk@gmail.com>

* pull_request -> workflow_dispatch

* Update .github/workflows/release-publish-documentation.yml

---------

Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2023-10-26 12:29:21 +00:00
Immanuel-Alvaro-Bhirawa
76b4061aa6
Fix: Fixed a bug in regards to empty inputs in AddTextLetterByLetter class. (#3404)
* Misc: Just a class to test out some functions

* Fix: Fixed a bug in AddTextLetterByLetter class

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix: Adjusted changes according to Ben's comments

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix: Removed imports

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Feat: Adjusted changes to AddTextLetterByLetter

* Feat: Added test_creation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-10-26 12:38:57 +02:00
Naveen M K
b04869579b
Fix tests to run on Cairo 1.18.0 (#3416)
* Add a script to build and install cairo

* Update gui tests for cairo 1.18.0

* update script to set env vars

* Make the script run with plain python

* Prefer the recently built one in pkg-config

* Skip the built if it's windows

* CI: build and install latest cairo

* CI: only run when cache is missed

* Disable compiling tests while building cairo

* update poetry lock file

* Display the cairo version when running pytest

* fixup

* tests: skip graphical test when cairo is old

* fix the path to find the pkgconfig files on linux

* set the LD_LIBRARY_PATH too

only then it'll work on linux

* fixup

* small fixup

* Move the script inside `.github/scripts` folder

* Make the minimum cairo version a constant

* Seperate setting env vars to a sperate step

this seem to have broken when cache is hit
2023-10-25 21:54:45 +02:00
Jason Grace
8320cdde80
Added docs for functions in mobject_update_utils (#3325)
* Added docs for functions in mobject_update_utils

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated docstring of always_shift

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Added period to sentence.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Updated parameter description in always_redraw

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update always_rotate description

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Finished parameters in always_redraw

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Changed comment in always_shift

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* update always_shift description

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* used normalize from manim.utils.space_ops

* fixed indentation in always_redraw

* added type-hints

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-10-23 10:49:30 +02:00
Naveen M K
7ad7e99c96
pyproject.toml: update manimpango version (#3405)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-10-22 20:29:20 +02:00
Benjamin Hackl
94df2c44d8
Updated several dependencies (#3399)
* updated lockfile

* ran poetry update again
2023-10-22 20:05:38 +02:00
Narahari Rao
7fab9cdbf9
Bug fix: Use np.isclose for float equality in number line elongated ticks (#3392)
* use np.isclose for float equality in number line elongated ticks

* use offsets relative to x_min to tell if we need to elongate a tick

* forgot to subtract to create list of offsets

* add test for elongated ticks float equality

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove unused import

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-12 08:28:43 +02:00
Anousheh Moonen
684014a861
fix(docs): Remove extra curly bracket in LaTeX math expression to fix issue #3330 (#3389) 2023-10-10 12:29:03 +02:00
Naveen M K
571f79be2c
rtd: enable htmlzip build (#3355)
also, bump python to 3.11
fixes https://github.com/ManimCommunity/manim/issues/3342
2023-10-09 20:41:37 +02:00
Benjamin Hackl
73e30cea89
Several GitHub actions updates (#3397)
* Bump docker/login-action from 2 to 3

Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump docker/setup-buildx-action from 2 to 3

Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump docker/build-push-action from 4 to 5

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump docker/setup-qemu-action from 2 to 3

Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump actions/checkout from 3 to 4

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 20:38:20 +02:00
Holly and Prosper
c6450b21c7
fix a typo in deep_dive.rst (#3377) 2023-09-23 23:49:27 +02:00
Uwe Zimmermann
bff2ea4442
feat: adding three new rate_functions based on the SmoothStep function. These have the added benefits of zero derivatives at the endpoints. (#3361) 2023-09-09 14:27:33 +02:00
Benjamin Hackl
50d663eb8b
Added docstring to Mobject.center (#3353) 2023-09-02 21:53:58 +05:30
Uwe Zimmermann
3b4fca2c75
fix: return value of TexTemplate.add_to... (#3343)
Unlike similar methods on other objects .add_to_preamble and
.add_to_document do not return the TexTemplate object itself.
This does not allow for stacking these methods.

Just added the `return self` for both methods

Co-authored-by: Uwe Zimmermann <C:\Users\uwezi\AppData\Roaming\The Bat! Pwd>
2023-09-01 16:55:11 +02:00
Benjamin Hackl
eac99e89a8
added missing dependency typing-extensions (#3350) 2023-09-01 15:06:16 +02:00
pre-commit-ci[bot]
88836df8ab
[pre-commit.ci] pre-commit autoupdate (#3308)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/asottile/pyupgrade: v3.9.0 → v3.10.1](https://github.com/asottile/pyupgrade/compare/v3.9.0...v3.10.1)
- [github.com/PyCQA/flake8: 6.0.0 → 6.1.0](https://github.com/PyCQA/flake8/compare/6.0.0...6.1.0)

* fixed flake8 E721

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-08-09 19:44:17 +02:00
Tristan Schulz
82e55b5da2
Adding :class: ManimColor to manim and converting all types (#3020)
* first draft of color class + starting library conversion

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changed everything to Manim color todo: figure out circular dependency in utils

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* first working draft of new color version

* resolving conflicts

* resolving conflicts

* resolving conflicts

* resolving conflicts

* resolving conflicts

* changed default internal value of ManimColor to np.ndarray[float]

* starting to fix tests

* fixed more tests and changed precision of manim color

* removed premature color conversion

* fixed some more tests

* final test changes

* fix doctests

* fix for 3.8

* fixing ManimColor string representation

* removing some unneccesary conversions

* moved community constants to manim_colors.py and added more color standards

* broke some too long lines

* added fallback: check whether passed object has get_hex method

* actually fix _internal_from_string

* added hsv support

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove dependency on colour

* fixed DARK_EARTH being assigned twice

* fixed double assignment

* remove more duplicated colour names

* raise NotImplementedError for ManimColor.gradient

* removed unused import

* remove superfluous ManimColor import

* fix circular import, remove dependency of space_ops on config

* one more Color -> ParseableManimColor

* removed one *-import

* somewhat unrelated fixed type hint

* -1 *-import

* fixed change of logic in CoordinateSystem.get_graph_label

* removed debug print; fixed type hint in mobject.py

* some fixes and improvements to text_mobject.py

* update three_dimensions

* fixes for rendered documentation of utils.color.*

* substantial improvements to documentation, including new Sphinx directive

Co-authored-by: MrDiver <mrdiverlp@gmail.com>

* Rewrite of the sphinx directive to use docutils nodes and 2 column design

* I just had to do it

* Improve the color table

* minor cleanup

* fixed ColorOverview example

* documentation improvements

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/mobject/mobject.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix flake8 errors

* Removed test in test_text_mobject

* Improved Documentation of core.py and added private members in sphinx so that internal methods can be documented

* Change color types of labeled.py

* removed some unused imports

* turned docstring into comment

* _colors  -> _all_manim_colors; move to manim_color module

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed typing

* rewrite import

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2023-08-08 14:47:00 +02:00
Jason Grace
59ff3271a5
Added Docstring/Example for :meth:always_redraw (#3312)
* Added docstring & example for always_redraw

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* made more descriptive names for vars in example

* Change runtime 10s->3s

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>

* change Create -> add

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Added typehint for always_redraw

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Changed description of :meth:`always_redraw`

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Added return type to :meth:`always_redraw`

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-08-07 00:11:39 +02:00
Tristan Schulz
9561896d9e
Fix random complaint about list (#3315) 2023-08-06 11:36:18 +02:00
Benjamin Hackl
efd6474b76
Added new `manim checkhealth` CLI subcommand (#3299)
* added new checkhealth subcommand

* basic checkhealth tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* check -> healthcheck

* more helpful test output on checkhealth fail

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* callable -> Callable

* fix executable check for windows

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed type

* shutil already returns .exe in case it is there

* debug commit ...

* do proper debug commit for windows ...

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix failing test if executable is batch file

* added more helpful (?) recommendations on failed tests

* allow rendering ManimBanner from prerendered SVG path

* improved test scene, actually test text / latex

* added debug info on python executable

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove debug test again

* move SCALE_FACTOR_PER_FONT_POINT to constants

* access constants via module in logo.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* replaced other occurrence of 48 / 960

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-08-05 11:03:09 +02:00
Jason Villanueva
2c74f62fea
Fixed IPython terminal history and embedded shell instatiation for interactive_embed scenes (#3306)
* Fixed IPython sqlite errors/history for interactive_embed scenes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add config to instance method

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2023-08-05 01:42:55 +02:00
Andres Berejnoi
8ba210ff61
Two New Classes in geometry module: :class:.LabeledLine and :class:.LabeledArrow (#3264)
* feat: added two new classes LabeledLine and LabeledArrow

* test: added tests for new LabeledLine and LabeledArrow for the geometry module testing suite

* feat: added new class names to '__all__' module attribute

* fix: added missing import line for new classes

* fix: removed import lines causing cyclic import error

* new file containing two new classes

* modified files to correctly load new classes when manim is imported

* commented out new classes in line.py

* created control frames for LabeledLine and LabeledArrow

* removed commented out classes

* removed unused import of 'Colors'

* Update manim/mobject/geometry/labeled_shapes.py

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>

* Update manim/mobject/geometry/labeled_shapes.py

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>

* Update manim/mobject/geometry/labeled_shapes.py

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>

* Update manim/mobject/geometry/labeled_shapes.py

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update __init__.py

will change name of labeled_shapes.py to labeled.py

* Rename labeled_shapes.py to labeled.py

* Update __init__.py

Changed name of file from labeled_shapes.py to labeled.py and updated __init__.py to import from the correct location.

* Update manim/mobject/geometry/labeled.py

Removed color import line because of redundancy.

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>

* Update labeled.py

default label_color parameter is now set to `None` instead of `WHITE`.

* Update manim/mobject/geometry/labeled.py

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>

* Update tests/test_graphical_units/test_geometry.py

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>

* Revert changes related to WHITE and it's import

SurroundingRectangle uses label_color as well and using a default of None removes the rectangle.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-07-31 14:16:28 -07:00
Zachary Winkeler
56bc8add61
fix: changed minor typo in OpenGLVMobject (#3302)
A conditional in interpolate() was previously checking the same triangulation twice.
2023-07-24 12:46:07 +02:00
pre-commit-ci[bot]
1c75a919fd
[pre-commit.ci] pre-commit autoupdate (#3296)
updates:
- [github.com/psf/black: 23.3.0 → 23.7.0](https://github.com/psf/black/compare/23.3.0...23.7.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-07-19 21:03:33 -07:00
John Lynch
658f1b4b3a
Improve Arrow Tip Showcase example in docstring of class ArrowTip (#3297) 2023-07-19 21:02:31 -07:00
Benjamin Hackl
1cd0f43982
Fixed expand animation for :class:.ManimBanner (#3298)
* fixed "a" appearing before shapes

* added animation test for ManimBanner

* added xelatex to linux pipeline

* xelatex -> xetex
2023-07-18 14:36:20 -07:00
Francisco Manríquez Novoa
e00c780b58
Optimized :meth:.Axes.coords_to_point (#3286)
* Optimized Axes.coords_to_point

* Changed variable name to are_coordinates_transposed and added more commentaries

* Added some commas to the tuple in the last comment in Axes.coords_to_pointC
2023-07-16 19:04:03 +02:00
pre-commit-ci[bot]
7c9f98c090
[pre-commit.ci] pre-commit autoupdate (#3280)
updates:
- [github.com/asottile/pyupgrade: v3.8.0 → v3.9.0](https://github.com/asottile/pyupgrade/compare/v3.8.0...v3.9.0)
- [github.com/asottile/blacken-docs: 1.14.0 → 1.15.0](https://github.com/asottile/blacken-docs/compare/1.14.0...1.15.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-07-16 10:22:57 +02:00
Uwe Zimmermann
8c344477ba
fixed the use of the LinearTransformationSceneExample in Jupyter notebooks (#3284)
* fix: prevent vector position array from being modified (#3273)

changed from np.asarray(point) to nd.array(point) in order
to make sure that a copy of the array is created even if func
is the identity function lambda pos: pos

* fix: using the example for LinearTransformationScene in Jupyter notebooks

The Manim magic in Jupyter notebooks adds a "renderer=" parameter to the
__init__ call of the scene, but in its current form the example scene
LinearTransformationSceneExample does not accept any **kwargs and thus creates
an exception.

Added the handling of **kwargs in the example scene.

---------

Co-authored-by: Uwe Zimmermann <C:\Users\uwezi\AppData\Roaming\The Bat! Pwd>
2023-07-16 10:22:31 +02:00
dependabot[bot]
e6632776ff
Bump cryptography from 41.0.1 to 41.0.2 (#3287)
Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.1 to 41.0.2.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/41.0.1...41.0.2)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-16 10:21:00 +02:00
Adhyyan Sekhsaria
e84547f36d
Update dependencies for apple silicon in macos.rst (#3290)
According to https://pypi.org/project/ManimPango/
manim pango also needs pkg-config
2023-07-16 10:18:01 +02:00
Uwe Zimmermann
124ed9d1a4
fix: prevent vector position array from being modified (#3273) (#3282)
changed from np.asarray(point) to nd.array(point) in order
to make sure that a copy of the array is created even if func
is the identity function lambda pos: pos

Co-authored-by: Uwe Zimmermann <C:\Users\uwezi\AppData\Roaming\The Bat! Pwd>
2023-07-13 01:38:23 +02:00
Benjamin Hackl
a3b1d9f2ff
replace mentions of Python 3.7 as the minimally required version with 3.8 (#3274) 2023-07-05 00:02:11 +09:00
Alex Kempen
0d3464cff2
Bugfix: Fix arc start angle type (#3205)
* Fixed animation misspelling in Mobject's add_animation_override

* Corrected angle types of Arc
2023-07-04 12:13:15 +09:00
pre-commit-ci[bot]
f56723a025
[pre-commit.ci] pre-commit autoupdate (#3227)
updates:
- [github.com/asottile/pyupgrade: v3.3.1 → v3.7.0](https://github.com/asottile/pyupgrade/compare/v3.3.1...v3.7.0)
- [github.com/asottile/blacken-docs: 1.13.0 → 1.14.0](https://github.com/asottile/blacken-docs/compare/1.13.0...1.14.0)
- [github.com/pre-commit/mirrors-mypy: v1.2.0 → v1.3.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.2.0...v1.3.0)
- [github.com/codespell-project/codespell: v2.2.4 → v2.2.5](https://github.com/codespell-project/codespell/compare/v2.2.4...v2.2.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-07-04 02:17:09 +00:00
dependabot[bot]
44ab4397a4
Bump docker/build-push-action from 3 to 4 (#3272)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-04 10:56:48 +09:00
Sujal Singh
96eba4ca2c
add latex installation instructions for fedora (#3251)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-06-20 09:18:14 +02:00
Abulafia
7dd9bb6eb9
Minor fix, return self (#3236)
* Small fix in the code of ArcBrace

Avoiding the creation of an Arc object at import time

* Replace last `os.path` occurrencies by `pathlib` (#3224)

This resolves [last
comment](https://github.com/ManimCommunity/manim/issues/485#issuecomment-1523016291)
of #485.

Removes one line of dead code.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Made docbuild errors easier to debug + fixed error from changed exception class (#3229)

* Make errors during docbuild somewhat easier to debug

* fix an issue with docbuild under py3.10+

* Make set_resampling_algorithm() return self

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Adrien ANTON LUDWIG <42720099+Adrien-ANTON-LUDWIG@users.noreply.github.com>
2023-06-20 09:17:47 +02:00
dependabot[bot]
bc6ff341d7
Bump tornado from 6.3.1 to 6.3.2 (#3253)
Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.3.1 to 6.3.2.
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.3.1...v6.3.2)

---
updated-dependencies:
- dependency-name: tornado
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-06-20 09:17:24 +02:00
Naveen M K
96a83e5445
CI: fix a config error from poetry (#3257)
also, pin the version of poetry
2023-06-20 09:04:19 +02:00
Benjamin Hackl
cbf6726f89
Made docbuild errors easier to debug + fixed error from changed exception class (#3229)
* Make errors during docbuild somewhat easier to debug

* fix an issue with docbuild under py3.10+
2023-05-05 10:59:20 +02:00
Abulafia
b9367a2fb7
Small fix in the code of ArcBrace (#3226)
Avoiding the creation of an Arc object at import time

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-05-05 10:58:56 +02:00
Adrien ANTON LUDWIG
05594eca5e
Replace last os.path occurrencies by pathlib (#3224)
This resolves [last
comment](https://github.com/ManimCommunity/manim/issues/485#issuecomment-1523016291)
of #485.

Removes one line of dead code.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-05-05 10:57:15 +02:00
Benjamin Hackl
33669643b5
Upgrade ReadTheDocs build environment to use newer image (#3232)
* documentation: require urllib3<2.0 for now

* moved version requirement to main library in pyproject.toml

* constraint needed in both?

* try upgrading to docbuild with python 3.10, remove restriction on urllib3

* change image -> os

* fixed rtd config

* explicitly added graphviz

---------

Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2023-05-05 05:38:29 +00:00
Benjamin Hackl
820bfc7bf0
Fixed errors reported by `flake8` (#3231)
* rewrite some list comprehensions as generator expressions

* fixed flake's docstring warnings

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* one more generator expression in tests/

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-05-04 22:14:27 -07:00
JinchuLi2002
0902eef61f
Enables Use of input_to_graph_point() by CurvesAsSubmobjects Instances (#3190)
* CurvesAsSubmobjects preserve points.

* Override point_from_proportion() instead

* fixed typo

* added test

* added underscore for helper method

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-04-25 12:22:27 +00:00
Naveen M K
524b27a298
DecimalNumber: Don't set stroke_width attribute directly (#3210)
Instead set it through super object init method.
For some reason, on OpenGL renderer `stroke_width` is needed
as a different type, rather than an integer as in Cairo renderer.
To avoid problems, set `stroke_width` while calling super's
init method.
2023-04-25 13:43:38 +02:00
JinchuLi2002
4059bc1102
added condition for OpenGLVMobject (#3211) 2023-04-25 13:42:47 +02:00
pre-commit-ci[bot]
78d88599ea
[pre-commit.ci] pre-commit autoupdate (#3212)
updates:
- [github.com/pre-commit/mirrors-mypy: v1.1.1 → v1.2.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.1.1...v1.2.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-04-25 13:27:35 +02:00
Naveen M K
a7a972bf66
docs: enable social cards (#3219)
This is new feature of `sphinxext-opengraph` which will automatically
generate social cards for the documentation. This is a new feature and
it is not enabled is there is a custom `ogp_image` defined, which we
do. Remove it and also make sure it adds our logo to the social cards.
2023-04-25 13:26:35 +02:00
Matt Turner
06f60f6021
Small grammar change to deep_dive doc (#3218)
In manim/docs/source/guides/deep_dive.rst line 388, changed "there is an playground" to "there is a playground".
2023-04-20 08:35:02 +02:00
Benjamin Hackl
b4bab0e336
Prepare new release: v0.17.3 (#3198)
* generated changelog for v0.17.3, first pass

* bump version number

* fixed python version in classifier list

* regenerated changelog, second pass

* changelog generation, final pass

* fixed docbuild warning

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-04-06 18:59:43 +02:00
Benjamin Hackl
828497b0a2
Fixed docstring formatting of :meth:.Scene.replace and improved its error handling (#3204)
* fix and improve formatting of replace docstring

* replace assert statements by ValueError

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed ValueError message

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-04-06 15:22:35 +02:00
Frédéric Crozatier
c98f3c786c
Added :class:.DiGraph, a mobject representing directed graphs (#2974)
* Directed graphs

* use type instead of isinstance

* respect object boundary

* refactor graph with GenericGraph

* update tests

* fix doc string

* custom tips override default, and more documentation

* improve docstring situation, move examples to concrete classes

* further improve docstrings

* refactor: remove graph_type, simplify handling of tip_config

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* removed superfluous import

* fixed two tests

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-04-06 13:40:23 +02:00
Benjamin Hackl
a6651bee94
New tip shape :class:.StealthTip, allow specifying tip shape of :class:.NumberLine (#3201)
* added new tip class: StealthTip

* let NumberLine propagate tip_shape properly

* documentation, tests

* black

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed type hint, added some more documentation.

* black

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove unused import

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-04-05 20:05:48 +02:00
pre-commit-ci[bot]
f247408d99
[pre-commit.ci] pre-commit autoupdate (#3203)
updates:
- [github.com/psf/black: 23.1.0 → 23.3.0](https://github.com/psf/black/compare/23.1.0...23.3.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-04-03 22:21:36 +02:00
Elyanah Aco
659f6affa6
Made :class:.ArrowTriangleTip, :class:.ArrowTriangleFilledTip available to module namespace (#3166)
* Make triangle arrow tips accessible

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-04-03 11:37:04 +02:00
vahndi
c78bd8a22b
fix bug in setting self.label_constructor in NumberLine.add_labels (#3015)
* fix bug in setting self.label_constructor in NumberLine.add_labels

* fix label_constructor in NumberLine.add_labels()

* fix label_constructor in NumberLine.add_labels()

* improved docstring + type hints

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2023-03-31 22:41:54 +00:00
Tristan Schulz
84e07eaf77
fixed moderngl import issue (#3200)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-31 22:19:15 +00:00
ItIsJoeyG
04e41a2e16
Changed winget install MiKTeX command (#3199)
In the docs the winget command to install MiKTeX was changed from `winget install ChristianSchenk.MiKTeX` to `winget install MiKTeX.MiKTeX`. I have changed the docs to reflect this change. Here is the link to the manifest on the winget repo. I have also attached an image that shows the original command not working and an image of the new command working.

Winget Repo Link: https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/MiKTeX/MiKTeX
New command working: https://imgur.com/D7qp6kU
Image of old command not working: https://imgur.com/k7Pvpp0
2023-03-31 22:55:48 +02:00
Kevin Lubick
c62c5a3aba
Improve creation time for large Text Mobjects (#3181)
* Improve creation time for large Text Mobjects

* space

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Check before last point

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* markup text also

* handle quads for open GL

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update comments

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-31 21:37:15 +02:00
Kevin Lubick
1b4049a01a
Add warning if font is not found for Text, Code, and MarkupText (#3046)
* Add assertion if font is not found for Text, Code, and MarkupText

This adds tests for this behavior and makes sure that if a font is registered via register_font, the assertions work correctly.

If a font is not specified, we do not assert, as this will cause Manim to use a default font.

Some tests needed to be updated to use cross-platform font names. Monospace and Sans are found on both my Windows and Linux environment, so that seems like a reasonable thing to try.

* Reformat

* Testing register_font fails for unknown reasons on CI - remove it

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Make assertion a warning

* Fix missing warn

* Don't warn on default font

* let Code use test_mobject logic for missing font warning

* Update manim/mobject/text/code_mobject.py

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-30 13:47:53 +02:00
Matthew Lee
117563e1f0
Added :meth:.set_opacity_by_tex method for setting the opacity of parts of Tex mobjects (#3159)
* Added MathTex.set_opacity_by_tex and MathTex.fade_all_but_tex

* Completed unittests for set_opacity_by_tex and fade_all_but_tex

* Added control_data for `fade_all_but_tex` and `set_opacity_by_tex`

* Removed ade_all_but_tex and integrated functionality into set_opacity_by_tex. Included a second parameter 'remaining_opacity' to define the opacity value of the remaining tex

* Added type hints for `set_opacity_by_tex`. Removed type information in docstring. Improved logic of `set_opacity_by_tex` to reduce redundant calls for tex parts

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-29 08:33:13 +02:00
icedcoffeeee
b9784a0900
store color data (#3134)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-28 23:51:01 +02:00
coreyp1
80795d8361
Added support for individualized radius values in :meth:.Polygram.round_corners (#3155)
* feat(Polygram.round_corners): add support for individualized radius values

* Update manim/mobject/geometry/polygram.py

Remove type hints from the docstring of round_corners()

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update rounded_corners() so that integer values are accepted

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-28 22:13:12 +02:00
Kevin Lubick
1edcd99250
Speed up width/height/depth by reducing copying (#3180)
* Speed up width/height/depth by reducing copying

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix test

* fix example and improve tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* imports

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* typo

* np.max/min is 2x slower than max/min

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-03-28 21:03:03 +02:00
Kevin Lubick
1e8b349e00
Reduce memory allocations when building SVGMobject (#3182)
* Reduce memory allocations when building SVGMobject

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* split two quads

* fix shape

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* assign

* Fix lines

* Add some tests and fix extra lineto

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Appease assertion CQ check

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-03-28 20:48:29 +02:00
Phoenix2157
f2f428f876
Corrected the hinted return type for :func:angle_between_vectors (#3189)
* Update space_ops.py

* Apply suggestions from code review

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-28 20:45:45 +02:00
karpfediem
ca8a77d091
fix(3183): render in named threads, limit condition (#3191)
Limit condition to interactive OpenGL mode

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-28 20:40:52 +02:00
JinchuLi2002
479e7b62e6
scales x&y before calling ImplicitFunction() (#3195) 2023-03-28 20:19:03 +02:00
Naveen M K
f6a379ccfd
CI: update PATH for recent changed in TinyTex (#3196)
`win32` -> `windows` due to 64-bit binaries
2023-03-28 17:45:34 +02:00
pre-commit-ci[bot]
2aae32fd7e
[pre-commit.ci] pre-commit autoupdate (#3184)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pre-commit/mirrors-mypy: v1.0.1 → v1.1.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.0.1...v1.1.1)
- [github.com/codespell-project/codespell: v2.2.2 → v2.2.4](https://github.com/codespell-project/codespell/compare/v2.2.2...v2.2.4)

* ignore poetry.lock when running codespell

* explicitly only spellcheck py/md/rst files

* try again, different syntax

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-03-28 01:27:20 +02:00
ciobaca
27011d648f
Fixed extlinks in docs to work with latest version of Sphinx. (#3186) 2023-03-14 23:21:39 +01:00
Fredrik Lundström
92b01ebbc6
Fix deprecation warning from numpy (#3179) 2023-03-07 20:58:46 -08:00
KingAndCross
d8e3802838
fix: BraceLabel not passing **kwargs to Brace (#3163)
* fix: BraceLabel not passing **kwargs to Brace

* create an empty dict if brace_config is None

* added typehints and included comments made

* added missing type hints in BraceLabel.__init__

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed docstring indentation

* remove superfluous import

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-03-07 10:24:32 -08:00
pre-commit-ci[bot]
d5b65b844b
[pre-commit.ci] pre-commit autoupdate (#3158)
updates:
- [github.com/pre-commit/mirrors-mypy: v0.991 → v1.0.1](https://github.com/pre-commit/mirrors-mypy/compare/v0.991...v1.0.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-02-24 12:42:33 +01:00
DegrangeM
c2492cea12
Allow to use call_updater=True with a function without dt (#3149)
* Allow to use call_updater=True with a function without dt

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-24 12:41:33 +01:00
davidot
e884b8b1bb
Fix docstring of ThreeDCamera get_value_trackers (#3124)
Without this unpacking values returned from get_value_trackers could have one too many.
2023-02-24 12:38:25 +01:00
Max Coplan
7b5c593bc5
typo(docs): Fix grammar (#3160)
* typo(docs): Fix grammar

* fix typo in source code
2023-02-24 12:35:09 +01:00
dependabot[bot]
87da1d5b9a
Bump ipython from 8.7.0 to 8.10.0 (#3154)
Bumps [ipython](https://github.com/ipython/ipython) from 8.7.0 to 8.10.0.
- [Release notes](https://github.com/ipython/ipython/releases)
- [Commits](https://github.com/ipython/ipython/compare/8.7.0...8.10.0)

---
updated-dependencies:
- dependency-name: ipython
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 12:02:04 +01:00
dependabot[bot]
671d202b11
Bump markdown-it-py from 2.1.0 to 2.2.0 (#3164)
Bumps [markdown-it-py](https://github.com/executablebooks/markdown-it-py) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/executablebooks/markdown-it-py/releases)
- [Changelog](https://github.com/executablebooks/markdown-it-py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/markdown-it-py/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: markdown-it-py
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 11:59:09 +01:00
Elyanah Aco
e20e446df6
Remove alignment_vect arg in align_to (#3165) 2023-02-24 11:52:08 +01:00
Benjamin Hackl
409ffc6cb8
Fixed behavior of Wait with specified stop_condition (#3152)
* fixed behavior of stop_condition in Wait

* updated documentation to reflect actual behavior of wait_until etc

* added test for Wait with stop_condition and Scene.wait_until

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-24 11:48:16 +01:00
Naveen M K
1a439057ad
Remove actions using self-hosted runners (#3156)
see https://github.com/ManimCommunity/manim/discussions/3130
2023-02-24 11:47:34 +01:00
pre-commit-ci[bot]
b3e51e391e
[pre-commit.ci] pre-commit autoupdate (#3141)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pycqa/isort: 5.11.4 → 5.12.0](https://github.com/pycqa/isort/compare/5.11.4...5.12.0)
- [github.com/psf/black: 22.12.0 → 23.1.0](https://github.com/psf/black/compare/22.12.0...23.1.0)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-07 01:52:17 +01:00
Ikko Eltociear Ashimine
c6ca9ff5ad
Fix typo in stripUntranslatable.awk (#3144)
Wether -> Whether
2023-02-07 01:51:55 +01:00
Kevin Lubick
b54743e81d
Add scene.replace() and use in ReplacementTransform (#3042)
* Add scene.replace() and use in ReplacementTransform

This replace method allows one mobject to take the place (that is,
the draw order) of another mobject.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Address Feedback

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update visual Replacement test and fix extract_frames.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* allow flake8 to be unhappy

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-01-27 12:23:33 +01:00
pre-commit-ci[bot]
c22303ddbf
[pre-commit.ci] pre-commit autoupdate (#3125)
updates:
- [github.com/pre-commit/pygrep-hooks: v1.9.0 → v1.10.0](https://github.com/pre-commit/pygrep-hooks/compare/v1.9.0...v1.10.0)
- [github.com/asottile/blacken-docs: v1.12.1 → 1.13.0](https://github.com/asottile/blacken-docs/compare/v1.12.1...1.13.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-01-27 11:58:15 +01:00
Papierkorb2292
262300c696
Added the fix (#3106)
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2023-01-27 11:49:59 +01:00
NotWearingPants
8610c98714
Convert docstring param type to type-hint in three_dimensions.py (#3105)
* Convert docstring param type to type-hint in three_dimensions.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-01-27 11:48:58 +01:00
M. A. Ali
87e6a0aa95
Fixed example using reverse with Write (#3137) 2023-01-27 11:43:59 +01:00
Elyanah Aco
1425c9add7
Change links redirecting to dead troubleshooting page (#3126)
* docs: change links redirecting to dead troubleshooting page

* Fix typo in FAQ link

Co-authored-by: elyanah <elyanah.aco02@gmail.com>
2023-01-20 12:13:13 +01:00
Alex Lembcke
3713ed6b1e
Clean-up, type-hints and documentation for three_dimensions.py (#3109)
* Clean-up, type-hints and documentation for three_dimensions.py

* Added length definition for Line3D.

* Update three_dimensions.py

* Add TYPE_CHECKING and replacing Colors with Color

replacing the Colors Enum with Color because both will soon be deprecated but Color can be tracked down easier

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed return for perpendicular line in Line3D.

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-01-02 15:37:31 +01:00
Oscar Rangel
0ea586bcae
Clarified documentation for --resolution flag (#3108) 2023-01-02 02:43:06 +01:00
Alex Lembcke
87dbd03622
Remove deprecated function set_filly_by_value from opengl_surface (#3103) 2023-01-01 01:20:18 +01:00
Alex Lembcke
bd04ba4c6a
Fixed `get_axis_labels for :class:.Axes and :class:.ThreeDAxes` (#3095)
* Fix ~.get_axis_labels() for ThreeDAxes

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-12-27 15:17:05 +01:00
Tristan Schulz
3a09c07b7e
Minor performance improvement in bezier.py with preallocating array. (#3083)
* added some njit

* clear points refactored

* removing numba again because no speedup present

* adding constraint back again for size in interpolate in opengl_mobject

* removed numba import

* removed logger import in bezier

* maybe let's undo that for a second
2022-12-27 11:17:36 +01:00
Francisco Manríquez Novoa
e87a73cca9
perf: improve Mobject.add by checking for redundancy only once (#3092) 2022-12-27 11:13:24 +01:00
pre-commit-ci[bot]
96e46ee582
[pre-commit.ci] pre-commit autoupdate (#3093)
updates:
- [github.com/pycqa/isort: v5.11.3 → 5.11.4](https://github.com/pycqa/isort/compare/v5.11.3...5.11.4)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-27 11:11:12 +01:00
Tristan Schulz
c4b40ed138
Prepared new Hotfix Release: v0.17.2 (#3090)
* bump version number

* generated changelog for v0.17.2

* either "a NumPy array" or "an np array", based on how "n" is pronounced

* minor language improvements

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-26 10:07:58 +01:00
Tristan Schulz
7d7c5055d4
Fixed opengl Surface with reordering initialization process (#3089)
* Fixed opengl Surface with disabling refresh of shader wrapper id in constructor

* Reordered Elements in constructor of opengl_vectorized_mobject to fix initialization dependency issues
2022-12-26 01:47:17 +01:00
lgtm-com[bot]
d3b96dd68c
Add CodeQL workflow for GitHub code scanning (#3024)
Co-authored-by: LGTM Migrator <lgtm-migrator@users.noreply.github.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-12-23 14:11:21 +01:00
Tristan Schulz
48ff15a8d3
Codeql (#3084)
* Add CodeQL workflow for GitHub code scanning

* fix codeql errors

* ignore example scenes and tests

Co-authored-by: LGTM Migrator <lgtm-migrator@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-12-22 21:52:30 -08:00
pre-commit-ci[bot]
c34a8fbd65
[pre-commit.ci] pre-commit autoupdate (#3081)
updates:
- [github.com/pycqa/isort: 5.10.1 → v5.11.3](https://github.com/pycqa/isort/compare/5.10.1...v5.11.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-12-22 16:31:40 +01:00
Tristan Schulz
2afe74d13a
Updating ci syntax for runner version >=2.298.2 (#3079)
* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* fix for runner version >=2.298.2

* testing out texlive action

* installing basic packages add missing

* adding packages

* remove tipa

* remove amssymb

* remove MOAR packages

* add preview package

* add more packages

* add fontspec

* cache pip installs for doctests in rst files

* fix yaml issue

* add cache depency path

* CI: (test-arm) use python 3.8.16 and 3.11.1

* CI: upload coverage only on arm runners

* CI: use cache from actions/setup-python

previously we had our own method of caching, this simplifies...

* Update .github/workflows/ci.yml

* CI: install poetry first before setting up python

Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-12-20 20:51:42 -08:00
CaftBotti
4b576e0f1d
Fix typo: "Whetherer" to "Whether" (#3073)
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-12-18 03:35:06 +01:00
CaftBotti
7aed990074
Fix typo: "turn into into an np array" to "turn into a np array" (#3074)
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-12-18 02:29:25 +01:00
pre-commit-ci[bot]
43cabfbd14
[pre-commit.ci] pre-commit autoupdate (#3075)
updates:
- [github.com/asottile/pyupgrade: v3.3.0 → v3.3.1](https://github.com/asottile/pyupgrade/compare/v3.3.0...v3.3.1)
- [github.com/psf/black: 22.10.0 → 22.12.0](https://github.com/psf/black/compare/22.10.0...22.12.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-18 02:21:34 +01:00
Benjamin Hackl
9efe81daa3
Prepared new release: `v0.17.1` (#3065)
* generated changelog etc

* bump version number

* regenerated changelog, second (and final?) pass
2022-12-08 16:28:47 +01:00
Benjamin Hackl
f4aa88c368
Increased minimal version of `pytest` (#3066)
* upgrade pytest to ^7.2

* rename msg to reason in pytest.mark.skip
2022-12-08 14:08:47 +01:00
Alex Lembcke
c081a57ef0
Added documentation for lagged animations (#2953)
* Add docs for lagged animations.

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Update manim/animation/composition.py

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Sparsh Goenka <43041139+sparshg@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-12-08 14:02:04 +01:00
Benjamin Hackl
0bbebc3040
increase minimal version of svgelements (#3064) 2022-12-08 13:49:22 +01:00
pre-commit-ci[bot]
9e859f163c
[pre-commit.ci] pre-commit autoupdate (#3058)
updates:
- [github.com/asottile/pyupgrade: v3.2.2 → v3.3.0](https://github.com/asottile/pyupgrade/compare/v3.2.2...v3.3.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-12-06 12:35:55 +00:00
Naveen M K
c4eeb2efb8
Always use `/` when calling LaTeX (#3061)
* Add a test to reproduce #3060

* Always use `/` when calling LaTeX

Using `\` isn't supported by LaTeX and simply errors out
saying it can't find the file. In this commit, the path is
converted to POSIX like path (ie. use `/`) before calling
LaTeX.

Fixes https://github.com/ManimCommunity/manim/issues/3060
2022-12-06 13:17:15 +01:00
Onur Solmaz
bd0ba12104
Use unicode encoding in add_subcaption() (#3062)
Add `encoding="utf-8"`
2022-12-06 03:44:03 -08:00
Benjamin Hackl
f4943c0a3e
Prepared new release: v0.17.0 (#3023)
* bumped version number

* generated changelog, first pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* generated changelog, second pass

* changelog generation, third pass

* changelog generation, final pass

* added some changelog descriptions, final polishing

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed some more PR titles (via @naveen521kk)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-02 16:02:12 +01:00
Naveen M K
e8855d98ce
Added support for Python 3.11, dropped support for Python 3.7 (#3030)
* Add support for Python 3.11

as well drop support for Python 3.7

* update lockfile

* Fix an import statement for new version of moderngl

* CI: use pipx to install poetry

should fix macos 3.11 errors

* Update poetry.lock

try a newer version of poetry, forgot to update in a long time

* update lock file

* update poetry.lock

* try downgrading pycairo

* CI: fix poetry picking up wrong python version

* CI: change poetry cache key

older wrong environments will not be used then

* re-introduce caret restriction for pycairo

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-12-02 12:11:08 +01:00
Onur Solmaz
621f829522
Added thematic guide for the `manim-voiceover` plugin (#3049)
* Added page explaining manim voiceover

* Update docs/source/guides/add_voiceovers.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-12-01 23:40:28 +01:00
Benjamin Hackl
ab57a6eb35
Frame comparison pixel threshold (#3053)
* implemented threshold for number of pixel value errors

* fix implementation, throw proper warning

* added test for pixel value error threshold

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove forgotten debug print

* introduce constants for frame_comparison tolerance

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rename constant

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-01 17:38:44 +00:00
Hugues Devimeux
2044ef8abc
Removed unused `GraphicalUnitTester` (#3054)
* Removed graphicalUnitTester

* Removed reference about it in teh docs
2022-11-30 22:10:13 +01:00
Benjamin Hackl
59b78c27b6
linux installation instructions: minor language improvement / specification 2022-11-29 15:51:38 +01:00
Kevin Lubick
5bc4bc072c
Add Debian dependencies required for pycairo and manimpango (#3044)
Without these packages, using `poetry install` fails on pycairo and manimpango because there is no C++ compiler nor headers to compile parts of those packages.
2022-11-29 14:22:08 +01:00
pre-commit-ci[bot]
f8b0495b05
[pre-commit.ci] pre-commit autoupdate (#3037)
updates:
- [github.com/pre-commit/pre-commit-hooks: v4.3.0 → v4.4.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.3.0...v4.4.0)
- [github.com/PyCQA/flake8: 5.0.4 → 6.0.0](https://github.com/PyCQA/flake8/compare/5.0.4...6.0.0)
- [github.com/pre-commit/mirrors-mypy: v0.990 → v0.991](https://github.com/pre-commit/mirrors-mypy/compare/v0.990...v0.991)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-11-29 13:32:01 +01:00
Kevin Lubick
482994b58f
Update python-opengl -> python3-opengl for Ubuntu CI task (#3045)
* Update python-opengl -> python3-opengl

https://packages.ubuntu.com/jammy/python3-opengl

The ubuntu CI flows had been failing because the python2 version does not exist past focal (20.04 LTS)

* Pin to ubuntu 22.04
2022-11-26 18:36:13 +01:00
Ievgen Pyrogov
da7d453c8c
Include ubuntu/latex install instructions (#3035) 2022-11-25 13:35:21 +00:00
dependabot[bot]
ebe36178e7
Bump pillow from 9.2.0 to 9.3.0 (#3033)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.2.0 to 9.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/9.2.0...9.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-21 04:38:23 -08:00
dependabot[bot]
7f5f8c14cb
Bump jupyter-core from 4.11.1 to 4.11.2 (#3032)
Bumps [jupyter-core](https://github.com/jupyter/jupyter_core) from 4.11.1 to 4.11.2.
- [Release notes](https://github.com/jupyter/jupyter_core/releases)
- [Changelog](https://github.com/jupyter/jupyter_core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/jupyter_core/compare/4.11.1...4.11.2)

---
updated-dependencies:
- dependency-name: jupyter-core
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-21 12:46:34 +01:00
Naveen M K
15241e3bfd
CI: update actions version and add dependabot config (#3029)
* CI: update actions version

- Update inlined code to use `$GITHUB_OUTPUT`
see https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

* Add dependabot config to update dependencies automatically
2022-11-19 09:38:13 -07:00
OpenRefactory, Inc
42d595ac4f
Suggested fixes by iCR, OpenRefactory, Inc. (#2938)
* Suggested fixes by iCR, OpenRefactory, Inc.

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-15 05:20:57 +00:00
Isaac Beh
c82c298cc1
Allowed `networkx to return 3D layouts when passing dim=3 in the layout_config of a :class:.Graph` (#2927)
* fix: return 3D points when layout_config has dims=3

When layout_config option dims was set to 3, changing or setting graph layout (via _determine_graph_layout) now returns a dictionary of tuples of length 3 to represent vertices. Previously returned a layout with tuples of length 4 instead. When the layout option dim is not 3 or unset, no change is made.

* Update manim/mobject/graph.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-14 22:12:46 -07:00
Kian-Meng Ang
68968e98d3
Fix missing stub packages for mypy (#2958)
This resolves the error when running mypy hook for pre-commit:

    `error: Library stubs not installed for "backports.cached_property"
    (or incompatible with Python 3.7)  [import]`

We also prettify the pre-commit's yaml config file.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-14 21:56:09 -07:00
vahndi
594274ab97
extend typehint in Axes.coords_to_point to indicate float coordinates are accepted (#3022) 2022-11-14 21:03:21 -07:00
pre-commit-ci[bot]
8ad3940f4b
[pre-commit.ci] pre-commit autoupdate (#3021)
updates:
- [github.com/asottile/pyupgrade: v3.2.0 → v3.2.2](https://github.com/asottile/pyupgrade/compare/v3.2.0...v3.2.2)
- [github.com/pre-commit/mirrors-mypy: v0.982 → v0.990](https://github.com/pre-commit/mirrors-mypy/compare/v0.982...v0.990)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-11-14 20:58:10 -07:00
Alexander Vázquez
388504307a
Implemented :class:.LineJointTypes for both Cairo and OpenGL renderer (#3016)
* LineJoins added

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added joint type enum, refactored proposed implementation

* added test for joint types

* added documentation

* let LineJointType.AUTO be rendered like before

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update added example in basic.py to reflect changed implementation

* fix RTD build

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* moved rendered example in documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-13 16:14:55 -07:00
Benjamin Hackl
93f916587b
Fixed rendering SVG paths with multiple move commands (#3019)
* implement missing VMobject.resize_points

* ensure that VMobject.start_new_path *actually* starts a new path

* add missing imports

* doctest resize_array

* added test with weird dvisvgm generated svg

* black

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-11-13 06:24:45 +00:00
Benjamin Hackl
bd844f46d8
Replaced renderer strings with :class:.RendererType enum entries (#3017)
* remove unused constants

* remove deprecated --use_opengl_renderer flag

* remove unnecessary workaround with class initialization

* add OpenGLMobject.name to get rid of one renderer check

* add VMobject.n_points_per_curve property to get rid of more renderer checks

* replace renderer string checks with enum check

* added mobject.utils module with renderer-dependent class getters

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ensure that capitalization of passed renderer type is irrelevant

* remove unused entries from mobject.utils.__all__

* fixed isort ignore in manim.__init__

* fixed lower-case casting of passed renderer

* fixed doctests

* more documentation + doctests for mobject.utils

* removed incorrect paragraph about ConverToOpenGL metaclass

* added docstring for RendererType enum

* renderer compatibility section in plugin dev documentation

* added mobject.utils to reference manual

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove actual doctest (it ran the compatibility code)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-11-13 06:14:35 +00:00
Alex Lembcke
59b83d8d10
Added documentation to :mod:.three_dimensions (#2915)
* Updated docstrings for three_dimensions.

* Updated docstrings for three_dimensions.

* Moved parameters section before examples.

* removed superfluous colons

* fixed overly long line

* fixed underline lengths

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-11 01:30:01 +01:00
Benjamin Hackl
457da14005
Follow-up to :pr:2988 -- fixes and improvements to some docstrings (#3018)
* Converted types in docstrings to type annotations

* `isort .`

* `black .`

* Additional docstrings type annotation fixes

* line break in animation.py

* moved Camera.__init__ docstring to class docstring

* fixed ReST formatting error in image_mobject.py

* start of description captialization

Co-authored-by: NotWearingPants <26556598+NotWearingPants@users.noreply.github.com>
2022-11-10 08:07:41 +01:00
NotWearingPants
95bca6f24b
Convert all types of parameters in docstrings to proper type annotations (#2988)
* Converted types in docstrings to type annotations

* `isort .`

* `black .`

* Additional docstrings type annotation fixes

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-10 07:17:21 +01:00
vahndi
a97ab066c4
enable code completion on animate method of Mobject class in supporting IDE's e.g. PyCharm (#3014) 2022-11-08 15:55:40 +01:00
pre-commit-ci[bot]
d76fa670ca
[pre-commit.ci] pre-commit autoupdate (#2900)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/asottile/pyupgrade: v2.37.1 → v3.2.0](https://github.com/asottile/pyupgrade/compare/v2.37.1...v3.2.0)
- [github.com/psf/black: 22.6.0 → 22.10.0](https://github.com/psf/black/compare/22.6.0...22.10.0)
- [github.com/asottile/yesqa: v1.3.0 → v1.4.0](https://github.com/asottile/yesqa/compare/v1.3.0...v1.4.0)
- [github.com/PyCQA/flake8: 4.0.1 → 5.0.4](https://github.com/PyCQA/flake8/compare/4.0.1...5.0.4)
- [github.com/pre-commit/mirrors-mypy: v0.961 → v0.982](https://github.com/pre-commit/mirrors-mypy/compare/v0.961...v0.982)
- [github.com/codespell-project/codespell: v2.1.0 → v2.2.2](https://github.com/codespell-project/codespell/compare/v2.1.0...v2.2.2)

* fixed B902

* ignore B903, B950

* fixed B902 for OpenGLMobject.affects_shader_info_id

* ignore B902 in opengl_compatibility

* fixed B902 in OpenGLVMobject.triggers_refreshed_triangulation

* fixed codespell errors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* move decorators outside of classes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added Nam to ignored words

* ignore B902 in opengl_compatibility (again)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Revert "[pre-commit.ci] auto fixes from pre-commit.com hooks"

This reverts commit 119e7ddb88.

* move yesqa after flake8 call

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove yesqa from pre-commit stack

* Revert "[pre-commit.ci] auto fixes from pre-commit.com hooks"

This reverts commit a5b4f70f21.

* codespell: ignore "nam"

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-05 14:52:33 +00:00
Duc Phat
5ca1763068
fix: Align lines correctly when passing faded_line_ratio property to NumberPlane (#2894) (#2920)
* fix: Align lines correctly when passing `faded_line_ratio` property to NumberPlane (#2894)

* regenerated test data

* removed unnecessary check for empty input

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-05 12:18:11 +00:00
NotWearingPants
bf0ea29338
Fixed `CLI.tex_template_file` config file setting (#2992)
* fix `CLI.tex_template_file` config setting

* added test for tex_template_file set in .cfg

* create a new config object for testing instead of working within tempconfig

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Benjamin Hackl <mail@behackl.dev>
2022-11-02 22:52:20 +00:00
NotWearingPants
9d1f066d63
Migrate more os.path to pathlib (#2980)
* Migrate more `os.path` to `pathlib`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix type errors with recent pathlib code

* pathlib fixes

* more pathlib fixes

* remove unused imports introduced by pathlib migration

* convert `open()` calls to pathlib

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Migrate tex_file_writing to pathlib

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* converted more old code to pathlib, and fixed a bug in module_ops

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix test failures

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix test failures

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-10-30 08:28:26 +01:00
Benjamin Hackl
3c172e2a8a
Fixed setting `run_time of :class:.Succession` after creating the animation object (#3003)
* fixed run_time scaling of Succession

* added test for Succession run_time set after initialization
2022-10-29 07:33:29 +00:00
Jérome Eertmans
44ce031658
Added documentation and example for :class:.CyclicReplace (#2978)
* docs: CycleTransform documentation & example

* feat: repeat cyclic animation

* Update manim/animation/transform.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/animation/transform.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/animation/transform.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/animation/transform.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/animation/transform.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/animation/transform.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-10-28 23:39:38 +02:00
Benjamin Hackl
7514e4a7b4
added one asterisk to make section underline long enough (#3004) 2022-10-28 16:49:30 +02:00
Benjamin Hackl
b3b90ef346
Rewrote unstable tests for :mod:.text_mobject to be non-graphical (#2982)
* removed text test control data

* rewrote text tests to be non-graphical

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-10-26 19:52:08 +02:00
NotWearingPants
206db54af5
Migrate more os.path to pathlib in tests (#2991)
* Migrate more `os.path` to `pathlib` in tests

* Convert test fixtures to pathlib

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix mypy errors in tests

* migrate another pathlib instance

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-10-26 19:51:38 +02:00
Benjamin Hackl
78a3b06b48
Added FAQ entry regarding failed `manimpango` build (#3001)
* added answer about failed manimpango build

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docs/source/faq/installation.md

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-10-26 19:47:17 +02:00
Benjamin Hackl
f65991c289
Fixed segmentation faults from doctests under Python 3.10 (#2994)
* ignore *opengl* glob for module doctests again

* removed custom pytest_report_header, fixes testing submodules (????)

* restore previous version of conftest, with segfault fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* handle situation of non-available readline

* Update conftest.py

Co-authored-by: Naveen M K <naveen521kk@gmail.com>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-10-25 23:52:39 +02:00
Naveen M K
98993ba9ad
Add encoding for open() function in text_file_writing module (#2995)
Saw this message
https://discord.com/channels/581738731934056449/1030665460280197220/1030665460280197220
and found that `open` is missing `encoding` parameter which was the root
cause of that error. By default, on windows, `open` doesn't use `utf-8`
encoding and that's why it was throwing an error.
2022-10-16 22:22:06 +02:00
Owen Samuel
bf3867b932
fix: corrected parameters and enhanced the description of interpolate_color within image_mobject (#2919) 2022-10-12 16:23:58 +00:00
Benjamin Hackl
18fe1e64a9
Debugging Windows CI Pipeline (#2983)
* run tests without xdist

* specifically run tests/opengl tests

* fix version of moderngl-window to <=2.4.1

* Revert "run tests without xdist"

This reverts commit 5d0d3e0264.

* Print info about OpenGL drivers

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Revert "Revert "run tests without xdist""

This reverts commit b6d2510c52.

* test

* test

* test

* test

* Revert "Revert "Revert "run tests without xdist"""

This reverts commit 3a15beeea2.

* Revert "specifically run tests/opengl tests"

This reverts commit a19809c349.

* test-arm: prefer currently active python

* Revert "fix version of moderngl-window to <=2.4.1"

This reverts commit ef9430712c.

* regenerate lockfile

* run module doctests with -v

* fixed config-leaking doctests

* ensure that correct pytest is run

* try to investigate segfault closer

* fixed pre-commit issue

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* pytest apparently does not run testsetup/testcleanup blocks, revert

* duplicate config import

* remove debug output from pipeline

* fixed doctests

Co-authored-by: Naveen M K <naveen521kk@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-10-10 01:07:57 +02:00
Benjamin Hackl
0835d4b39e
Implemented fallback save behavior for pytest --show_diff (#2981)
* implemented fallback behavior for --show_diff

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-10-09 17:22:28 +02:00
mostly documentation
4643f30627
Fix formatting and grammar issues in :doc:/contributing/development (#2904)
* Formatting, capitalization, 404 reference

Re-format list element for consistency, capitalize Manim where necessary, remove reference to 404'd flowchart

* Fix incorrect grammar w.r.t. Graphviz

* is->are

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* each commit are -> is

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-10-08 21:32:00 +02:00
Taxo Rubio
6283d7e47d
Fix: Allow rendering of empty text strings (#2977)
* Fix: Allow rendering of empty text strings

* added test for Write-ing an empty mobject

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-10-03 11:03:04 +02:00
Jeff Hanke
2bb793aef0
Fixed broken links in README (#2975)
* Fix broken links in README.md

- Fix the link to the description of the differences between 3b1b and community versions of manim. 
- Fix the link to the list of command-line arguments.

Fixes #2934

* Narrow README.md link to exact section.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-10-03 00:04:55 +02:00
Benjamin Hackl
309c9d41eb
Ported improved implementation of :class:.SVGMobject from 3b1b/manim (#2898)
* port SVGMobject from 3b1b/manim

* added svgelements as dependency

* revert change of default values

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* set default stroke_width of svg elements to 0 if not set

* fix handling of circles with different rx/ry

* turn more methods into staticmethods

* removed duplicated method

* set/adapt stroke-width of some test SVGs

* updated control data

* forgot some control data

* fixed init_colors in tex_mobject and text_mobject

* minor changes, added docstrings

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* module docstring, removed import

* vector_to_coords changed again

* nail sphinx version to below 5.1 to fix rtd (?)

* update test_text control data for science

* changed Brace to use VMobjectFromSVGPath

* remove unused classes and methods depending on old SVG path implementation

* remove style_utils and svg_path modules

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* change test_text to use monospace font

* restore geometry.polygram

* added get_mobject_type_class auxiliary method; changed polyline implementation to ad-hoc approach

* restore test_text to previous version

* skip Use tags as svgelements already populates them

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-09-28 18:02:53 +02:00
Sparsh Goenka
3ad15bd58c
Add animation RemoveTextLetterByLetter (#2883)
* Add animation RemoveTextLetterByLetter

* added RemoveTextLetterByLetter to __all__

* fixed static value of 0.06 -> 1/frame_rate

* minor language improvement

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-09-28 15:37:11 +02:00
Benjamin Hackl
89bed0a923
disable edit on GitHub button in documentation (#2962) 2022-09-25 02:12:27 +02:00
Naveen M K
c33e583fc2
CI (test-arm): Always select the correct python version (#2963)
for some reason recent version of poetry started
using system python instead of one in $PATH.

This is a workaround for that.
2022-09-24 08:08:36 -07:00
Naveen M K
dd64894a5e
CI (test-arm): update configurations 2022-09-24 20:24:49 +05:30
Kevin Lubick
92e9ceee61
Add extract_frames utility to help visualize test control data (#2872)
* Add extract_frames utility to help visualize test control data

This will make it easier for devs to make sure their graphical unit tests are drawing what they expect.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix path separators

* Fix double python

* moved extract_frames script to scripts directory

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-09-24 16:23:28 +02:00
Kevin Lubick
c4f1d202a9
Prevent TransformMatchingTex from crashing when there is nothing to fade (#2846)
* Prevent TransformMatchingTex from crashing when there is nothing to fade

Fixes #2845 and adds tests.

I originally tried to make FadeTransformPieces not crash if it was given two Mobjects with no submobjects, but I couldn't quite get that to work. This is probably the less invasive of a change.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* use Tex arrows

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update expectations after Tex change

* Address feedback

This makes FadeTransform::ghost_to more robust to receiving an empty target. It is currently unspecified what should happen, so how about just fading in place?

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-09-24 16:22:42 +02:00
Nick Skriloff
c96b95722b
Added installation instructions for Windows via `winget` (#2936)
* Update windows.rst

* added winget installation of MiKTeX from other PR, closes #2937

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-09-24 16:15:08 +02:00
Naveen M K
162f912ea7
CI (test-arm): update python version to 3.10.6 (#2925) 2022-09-24 15:56:23 +02:00
ad-chaos
7a801707b6
Always expand user when validating file-paths (#2885)
The users are expanded when providing a file-path for the following
mobjects:
- CodeMobjects
- ImageMobjects
- SVGMobjects
2022-09-24 15:54:24 +02:00
Benjamin Hackl
b63f13b086
fixed currently broken animation, deepcopy -> copy (#2895) 2022-09-24 15:52:57 +02:00
Benjamin Hackl
44f78f1dfd
fixed click version string in pyproject.toml (#2954)
Co-authored-by: Benjamin Hackl <mail@behackl.dev>
2022-09-18 00:33:20 -07:00
Pavel Zwerschke
63cc40120d
Add conda installation docs (#2914)
* Add conda installation docs

* MacOS -> macOS

* Add Working with Manim section

* Small fixes

* maybe the refs work now?

* why is ci stuck?

* Lets see if this works...

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-08-31 13:11:34 +00:00
Pavel Zwerschke
cef3565858
Fix whitespace (#2932) 2022-08-27 20:08:22 +00:00
Benjamin Hackl
56fe6305d3
docs: improved answer to 'no scenes in this module' error (#2933)
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-08-27 07:59:17 -07:00
Pavel Zwerschke
d9db1f79b9
Update mapbox-earcut (#2931)
* Update mapbox-earcut

* Update poetry.lock
2022-08-27 07:37:29 -07:00
Owen Samuel
aeeb6da357
fix: SoundExample video autoplaying with sound (#2911) 2022-08-05 20:42:41 -04:00
mostly documentation
32f4c8f524
Fixed minor grammar issues in :doc:/faq/general (#2903)
* Fix a few minor grammar mistakes

* Fix missing period and strange start of sentence

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-27 13:37:49 +02:00
Benjamin Hackl
22ae67e47f
Fixed bug with propagation of `tex_template value when using tempconfig` (#2888)
* added tex_template to keys of config dict

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added missing argument to tempconfig call

* decouple config.tex_template and config.tex_template_file, simple tex_template default

* changed template => changed file hashes

* added dedicated tempconfig reset test

* black

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-07-22 16:21:46 +00:00
Benjamin Hackl
ce9acddd41
Improved performance of `test_threed.py` (#2893)
* lower resolution of surfaces in 3D tests to greatly improve performance

* regenerated test data

* print test execution time by default
2022-07-22 14:21:03 +00:00
John Hammond
860ec0b6fa
Update PolygonOnAxes example (#2892)
The PolygonOnAxes example get_rectangle_corners was only using the x coordinates of the bottom left corner of the rectangle, not its y coordinate.
2022-07-22 00:35:59 +00:00
Benjamin Hackl
b013c56edd
added docstring to and fixed type hint of get_winding_number (#2886) 2022-07-22 00:23:01 +00:00
Benjamin Hackl
aca9c750c3
removed empty, old files (#2887) 2022-07-19 09:56:11 +05:30
fcrozatier
0147c416a3
Fix small typo in guide (#2881)
* Fix small typo in guide

* another one

* oops
2022-07-17 11:49:29 +05:30
Benjamin Hackl
cd40bc3baf
Fixed binder launch problem by adding missing optional `notebook` dependency (#2877)
* explicitly added notebook to list of optional dependencies

* update lockfile
2022-07-15 19:43:55 +05:30
Naveen M K
efd7371fa0
Update minimum required Pillow version (#2876)
Fixes https://github.com/ManimCommunity/manim/issues/2875
2022-07-14 20:52:41 +05:30
Benjamin Hackl
7870407fdc
Prepared new release, `v0.16.0` (#2863)
* bump version number

* changelog generation, first pass

* fixed label mismatches, changelog generation second pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changelog generation, second pass

* changelog generation, third pass

* changelog generation, final pass

* updated i18n files

* update readyForTranslation

* cut down doc render time

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-14 08:22:45 +02:00
Alex Lembcke
4f42ad5664
Enabled filling color by value for :class:.OpenGLSurface, replaced `colors keyword argument of :meth:.Surface.set_fill_by_value with colorscale` (#2186)
* Enable filling color by value for OpenGLSurface.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added doc string and removed unused deprecated_params

* Added docstring and made method private.

* Fixed spelling error.

* Update manim/mobject/types/opengl_surface.py

Agreed.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Fixed typings

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added None type as part of color checking

* Another attempt at fixing the color typings

* Made some of the requested modifications.

* Fixed failing tests.

* Added tests for Cairo method.

* One minor change to test plot_surface.

* Fixed typo in docstring.

* Removed passing in of axes.

* Removed axes in tests.

* Fixed typo, mixed up u and v.

* Fixed docstring typo, updated format to recommended.

* Fixed one more typo in docstring.

* One last time editing the docstring.

* Add deprecation import to opengl_surface.

* Added import for Surface and OpenGLSurface to coordinate_systems.

* Hoping this fixes the example for the docs.

* Addes colorscale_axis to plot_surface

* Forgot to update the docstring.

* added proper deprecation, made change temporarily backwards compatible

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-07-13 18:44:12 +02:00
ad_chaos
f1c5b6b372
Use tempconfig for every scene render (#2567)
* Use tempconfig instead of modifying the config

* Extended the -a flag test

* Update tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-07-12 22:22:32 +02:00
Logen
ad38f6a980
Increased minimum required version of `numpy` to 1.19 (#2680)
* Add new troubleshooting guide under 'Other Errors' section

* update numpy version in pyproject.toml

* update lock file

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-07-12 22:22:12 +02:00
Joshua Mankelow
999d81ee92
Fixed issue with `manim init scene SCENE_NAME filename.py and removed necessity of main.py` to be present in working directory (#2870)
* Fixed .py issue with manim init scene SCENE_NAME filename.py and removed necessity of main.py file to be present.

* fixed a problem when passing file name

* added interface test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-12 22:21:31 +02:00
Benjamin Hackl
02f6268837
New thematic guide: a deep dive into the internals of the library (#2550)
* information about imports, initial draft

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* codespell: allow medias. continue until scene.render()

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* updated section title

* rough sketch of rest of tutorial; actual writing still TBD

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* tutorial continued

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* continued up to initialization of orange_square

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* completed subsection on initializing mobjects

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* new subsection on Scene.add

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed typo

* fixed example

* initialization of animation object

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* start explaining Scene.play

* typo

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* put together readable overview

* everything up to actually rendering the first frame

* save_static_frame_data already assigns the frame, no need to do it twice

* rendering of static background; up to play_internal

* finished render loop, tutorial content-complete

* added deep_dive tutorial to correct index.rst

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* upgrade version of furo

* fix reference to configuration

* move deep dive from tutorial to thematic guide

* fix broken HTML produced by manim_directive

* disclaimer and tutorial -> guide

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-12 19:53:54 +02:00
pre-commit-ci[bot]
8bd23f8aa8
[pre-commit.ci] pre-commit autoupdate (#2868)
updates:
- [github.com/asottile/pyupgrade: v2.34.0 → v2.37.1](https://github.com/asottile/pyupgrade/compare/v2.34.0...v2.37.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-12 11:40:56 +02:00
Tristan Schulz
9a0cac7587
OpenGLVMobject fix pointwise_become_partial to fix stroke rendering (#2714)
* fix(get_nth_curve_function_with_length) removed code duplication with get_nth_curve_function_length_pieces

* fix(OpenGLVMobject) removed duplcate assignment of self.n_points_per_curve

* fix(OpenGLMobject): changed to total assignment in interpolate function

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/mobject/opengl/opengl_vectorized_mobject.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/opengl/opengl_vectorized_mobject.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update opengl_vectorized_mobject.py

* Update opengl_vectorized_mobject.py

* use remapping instead of copying points

* added documentation

* (opengl_mobject): reverted interpolate

* cleanup

* revamping remap, now considering not only adding a single curve per triplet

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-07-10 15:45:06 +00:00
Kevin Lubick
001dd3ef2f
Add example for Transform's path_arc (#2849)
* Add example for Transform's path_arc

This was very handy for me when trying to swap two parts of an equation around without them getting muddled together first. Thus, I want it to be more clear how to use this feature.

* Fix reference

* Address feedback
2022-07-10 07:11:35 +00:00
Joshua Mankelow
9b731037d9
Moved functionality over from manim new to manim init and added deprecation warning for manim new (#2842)
* moved functionality over from manim new to manim init and deprecated manim new

* Updated tests to fit new functionality

* added a test for project creation using manim init project

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-10 09:00:07 +02:00
Cindy Park
276c112255
Added logging for repeated mobject in VGroup (#2288)
* fix: issue #1027

* solve issue 1027

* deleted testproject

* delete unnecessary file

* readding vectorized_mobject.py

* Add logging for known issue

* Apply suggestions from code review

* Update manim/mobject/types/vectorized_mobject.py

* removed warning from VGroup, added it to Mobject.add and OpenGLMobject.add

* remove superfluous f-string

* added note to (V)Group docstring

Co-authored-by: Ha <muninnhugin@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-07-09 21:18:33 +00:00
Benjamin Hackl
754a5fc44b
added docstring for CoordinateSystem.plot_parametric_curve (#2861) 2022-07-09 23:11:09 +02:00
ad_chaos
677e88ef96
Refactor tests (#2866)
* start test reorganization

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* move boolean ops

* move more tests

* Move more tests

* more reorganization

* more movements

* mostly finish up reorganization

* Finish reorganization tests in parent dir

* try moving interface tests back

* Move test_commands over

* fix relative path to templates

Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-09 21:10:30 +00:00
ad_chaos
aad8c44ea9
Made FFmpeg executable path configureable (#2667)
* Add configurable FFmpeg Path

* Add configurable latex and dvisvgm paths

* Ensure FFmpeg

* Revert "Add configurable latex and dvisvgm paths"

This reverts commit 566d2241b967ecd24f00c644a5a21bb86c32018b.
Looks like this is not the direction we want configurable latex
compilers to be available, hence I am reverting it.

* Address changes

- Changed the path to ffmpeg_executable
- Consistent names across config file and config dict
- Added doc for the ffmpeg_executable property

* Add exception instead of logger+exit(1)
2022-07-09 16:30:30 +00:00
Laith Bahodi
4cb43a2dc8
Fix :meth:BarChart.change_bar_values not updating when height is 0. (#2638)
* Refactor bar creation into a separate function

The function is _create_bar.

* Add insert methods for OpenGLMobject/Mobject

* Add self._update_colors, improve docs and fix bug

Create temporary bar, replace the previous location
in the self.bars vgroup with the new bar. Then re-initalize
the colours depending on a flag.

Also refactor out colour-setting to a method

* Apply black and isort

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix flake8 error, double '#' before comment.

* Refactor bar creation into a separate function

The function is _create_bar.

* Add insert methods for OpenGLMobject/Mobject

* Add self._update_colors, improve docs and fix bug

Create temporary bar, replace the previous location
in the self.bars vgroup with the new bar. Then re-initalize
the colours depending on a flag.

Also refactor out colour-setting to a method

* Apply black and isort

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix flake8 error, double '#' before comment.

* Implement None-initialization suggestion

Removed setting self.bars in `BarChart._add_bars`

* Change `temp` to `tmp` and use Type

* Use `type` instead of `Type`.

- Also, fix setting config.frame_width in __init__, since this causes
BarChart's `y_length` to not be re-evaluated if the dimensions of the
scene are  changed.

* Force `bar_colors` to be a list via deprecation

- Also update params where `len` is taken to be a Sequence, not iterable

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix docs / some typing, remove try/except

- MutableSequence instead of Sequence for self.values, since
BarChart.change_bar_values adjusts the value of the sequence, requiring
__get_item__.
- Use try/except based on reviewer's reccomendation.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-07-09 16:28:37 +02:00
Benjamin Hackl
a78c8e312b
ran poetry update (#2864) 2022-07-08 12:49:04 +08:00
Pedro Lamkowski
8dd88606e0
New example to graph.py documentation (#2851)
* Update graph.py

Example scene of rendering a linear neural network using partite graph

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed variable in wrong place on example.

* Update manim/mobject/graph.py

added requested pr changes

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-07-07 21:33:56 +02:00
Tristan Schulz
eef0dd30b5
addition(bezier.py): adding subdivide_quadratic_bezier and split_quad… (#2841)
* addition(bezier.py): adding subdivide_quadratic_bezier and split_quadratic_bezier functions, change(OpenGLVMobject) get_bezier_tuples_from_points now uses reshape instead of manually creating a list

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added example and changed documentation of the code

* Added another example

* Fix raw string issue in docs

* nvm because i forgot this only works for opengl renderer

* Added image

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-06 19:55:31 +00:00
Sparsh Goenka
6c58f4a777
Added :class:.ChangeSpeed, an animation wrapper that allows to smoothly change the speed at which an animation is played (#2749)
* Added speedmodifier.py

* fix bugs, stable state

* rate_func, comments

* Add docs

* add `ChangedWait`

* run_time override for AnimationGroup

* fix AnimationGroup

* change example

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix docstrings

* small improvements

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

fix AnimationGroup

fix AnimationGroup...

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add_updater for changed speed

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rename vars

* Remove `ChangedWait`,
Set default `rate_func` for `Wait` to `linear`

* fix `Succession`

* fix updaters

* fix docs

* rename vars

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* convert lambdas into funcs

* Add tests.

* reduced test run time and regenerated control data

* Update manim/animation/speedmodifier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* include new module in docbuild

* added module docstring

* fixed non-rendering examples in documentation

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
Co-authored-by: Benjamin Hackl <benjamin.hackl@aau.at>
2022-07-06 16:39:55 +02:00
pre-commit-ci[bot]
4d9cca208d
[pre-commit.ci] pre-commit autoupdate (#2858)
updates:
- [github.com/psf/black: 22.3.0 → 22.6.0](https://github.com/psf/black/compare/22.3.0...22.6.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-04 22:15:53 +00:00
Francesco Frassinelli
fba3b5e1f3
polish: Add implicit docker.io/ URL base (#2855)
* Add implicit docker.io/ URL base

* Fix double-column typo
2022-07-04 21:29:05 +02:00
Francisco Manríquez Novoa
b5681fd905
fix: fixed bad text slicing for Paragraph's lines (#2721)
* fix: fixed bad text slicing for Paragraph's lines

Inside Paragraph's _gen_chars method, a bad string slicing caused the text's characters to be obtained in an incorrect order. This would cause chars (and thus self.chars and self.lines in __init__) to store incorrect values.
If Paragraph's alignment parameter was None, nothing wrong seemed to happen, but if alignment was 'left', 'center or 'right', the text's lines would not display correctly.
This happened because the slicing was of the form [begin : begin + string_length + 1]. This bug was fixed by changing it to [begin : begin + char_count], where char_count is the number of characters in the corresponding string which are not " ", "\n" or "\t".
I've also cleaned __init__'s code:
- There was a redundant fragment of code which did exactly the same thing as _gen_chars, storing data in chars_lines_text_list. I deleted this code and used self.chars instead.
- lines_str joins the text strings with '\n', but then lines_str_list split lines_str again, with '\n' as delimiter. I rewrote lines_str_list as just list(text).
- self.lines is a list which essentially stores list(self.chars) as its first element. The original code used a for loop to append self.chars' lines, one by one, to self.lines[0]. I replaced this for loop with list(self.chars).
- self.lines' second element was rewritten as a repetition of [self.alignment], self.chars.__len()__ times.
- I replaced the for loop used to append the line centers to self.lines_initial_positions, and instead used [line.get_center() for line in self.lines[0]].

* revert: reverted lines_str and lines_str_list changes

* fix: added Paragraph.consider_spaces_as_chars to fix issue

* fix: changed `config` kwargs name to `kwargs`

Using `config` as a name for keyword arguments in `Paragraph.__init__` is inconsistent with the use of `kwargs` everywhere else and also shadows the `config` global variable, which is why this variable was renamed as `kwargs`.

* refactor: changed `var.__len__()` to `len(var)`

Changed 8 appearances (1 in `remove_invisible_chars`, 6 in `Paragraph` and 1 in `Text`) of magic method `__len__` (as in `var.__len__()`) to `len(var)`.

* refactor: changed docstrings and added type hints

* fix: changed space char hardcoding to isspace() string method

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-06-20 19:48:56 +00:00
Jonathan Alpert
a20f8aeb6c
Migrate from os.path to pathlib in SVGMobject and other locations (#2687)
* fixed style

* fixed changes

* Update group.py

* Remove extra `Path` call

Co-authored-by: ad_chaos <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Remove unused context manager

Sorry, just committing here myself so that the PR can be reviewed and merged. This is the only thing left to alter so thought I might as well do it myself.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Use `with_suffix`

* Remove extra `Path` calls

Co-authored-by: ad_chaos <90276965+Kiran-Raj-Dev@users.noreply.github.com>

Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Raghav Goel <kilacoda@gmail.com>
Co-authored-by: Raghav Goel <raghavgd2h@gmail.com>
Co-authored-by: ad_chaos <90276965+Kiran-Raj-Dev@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-06-19 12:59:33 -04:00
Tristan Schulz
9359331eff
Add vectorized plotting functionality to improve performance (#2739)
* enhancement(ParametricFunction, CoordinateSystem, Axes, NumberLine): vectorized coords_to_points,plot,plot_parametric_function; added Numberline:number_to_point_array

* test(plot_log_x_axis_vectorized): added test for vectorized plotting

* extend(angle_of_vector): added test for angle_of_vector with ndarray as input

* fix(frames_comparison): fix naming of test data to be able to write and read the file name because ':' is forbidden

* test(plot): add more vectorized tests, added use_vectorized fixture to make life simpler

* fix(coordinate_system,number_line,scale): vectorizing functions and fixing bugs

* enhancement(NumberLine): vectorized number_to_point and added test

* enhancement(NumberLine): added tests for point_to_number, added example to doc

* enhancement(CoordinateSystem): added test for coords_to_point_vectorized and vectorized coords_to_point

* enhancement(Axes): vectorized point_to_coords and added tests

* Minor formatting fixes and doctests

* fixed flake hint with generator expression

* Create __init__.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update documentation for antiderivative

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Raghav Goel <raghavgd2h@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/functions.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* fixed wrong indentation

* stop doctest from leaking change in global config

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* change code block type

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Raghav Goel <raghavgd2h@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-06-19 18:10:34 +02:00
Simeon Widdis
3ae46a4c13
Fix TransformMatchingAbstractBase Mobject leaks (#2826)
* Clean up ghost Mobject in TransformMatchingAbstractBase

TransformMatchingAbstractBase does Fade transitions when no mismatch handling is defined, the current implementation leaves an invisible object behind when it's applied. This commit adds handling to clean it up.

Co-Authored-By: Andrew Yang <4412798+AndrewYY@users.noreply.github.com>

* Add tests for TransformMatching default mismatch behavior

* Document new interpolation behavior

* Add TransformMatching code review changes

* Revert "Add TransformMatching code review changes"

This reverts commit 6de61ecbba.

* Revert "Revert "Add TransformMatching code review changes""

Mistakes were made, we need to revert deeper.

This reverts commit 7bd9f4ebea.

Co-authored-by: Andrew Yang <4412798+AndrewYY@users.noreply.github.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-06-19 10:39:54 +02:00
Simeon Widdis
bcb5233259
Add documentation and testing for Transform's path_func behavior (#2771)
* Add graphical tests for Transform with paths

* Rewrite path function setting in Transform

Currently setting the path function in Transform is done unintuitively,
this commit reorders the path_func assignment to make it more clear what
it's doing.

Passes 609 tests / Skips 12 tests

* Add Parameter DocString to Transform class

* Add Transform test for conflicting path settings

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/animation/transform.py

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-06-19 01:56:15 +02:00
mooncaker816
b583720ac2
Fixed bug in :meth:.VMobject.proportion_from_point that caused proportions greater than 1 to be returned (#2770)
* fix bug #2627

* Update manim/utils/bezier.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* add test case for bug #2627

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-06-18 12:23:16 -04:00
Benjamin Hackl
8bebfb907b
Removed suggestion issue template, added FAQ answer regarding proposing new features (#2828)
* removed suggestion template

* added FAQ answer regarding proposing new features

* added link to project board in contributing.rst

Co-authored-by: Tristan Schulz <mrdiverlp@gmail.com>
2022-06-18 13:45:40 +02:00
dependabot[bot]
b58a574bc2
Bump notebook from 6.4.11 to 6.4.12 (#2825)
Bumps [notebook](http://jupyter.org) from 6.4.11 to 6.4.12.

---
updated-dependencies:
- dependency-name: notebook
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-17 08:05:10 +00:00
Benjamin Hackl
83106f1c62
Added more questions and answers to FAQ section, new OpenGL FAQ (#2767)
* faq: scene measurements, transparent background, available kwargs

* new FAQ section: opengl rendering

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Naveen M K <naveen521kk@gmail.com>

* ReST -> markdown syntax

Co-authored-by: Naveen M K <naveen521kk@gmail.com>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-06-17 07:58:50 +00:00
pre-commit-ci[bot]
1ed4d464e6
[pre-commit.ci] pre-commit autoupdate (#2768)
updates:
- [github.com/pre-commit/pre-commit-hooks: v4.2.0 → v4.3.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.2.0...v4.3.0)
- [github.com/asottile/pyupgrade: v2.32.1 → v2.34.0](https://github.com/asottile/pyupgrade/compare/v2.32.1...v2.34.0)
- [github.com/pre-commit/mirrors-mypy: v0.960 → v0.961](https://github.com/pre-commit/mirrors-mypy/compare/v0.960...v0.961)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-06-15 19:40:11 +05:30
ad_chaos
8dee0c2ded
Remove cmake (#2760) 2022-06-13 13:14:42 +02:00
Jaime Santos
e8124bb956
Fix vm.get_end_anchors() docstring (#2755)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-06-10 13:06:02 +02:00
Benjamin Hackl
b1c44d3ff7
hotfix: added missing __init__.py file for manim.utils.docbuild (#2757) 2022-06-10 10:04:16 +02:00
Jacob Evan Shreve
adf3e20ea8
Installed ghostscript in the docker image (#2746)
* Configure ghostscript in the docker image

* removed setting LIBGS

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-06-07 11:46:30 +00:00
Baroudi Aymen
bdf7b73ce1
Replace assert with np.testing assertions (#2743)
* Replace assert with np.testing assertions

Using np.testing.assert_array_equal() gives a more readable output.

* Replace assert of np.all with assert_array_equal()

* Replace assert with np.testing assertions

for np.allclose assertions

* Fix np.testing assertion

assert_array_equal takes two argument

* changed some more asserts to np.testing.assert_*

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-06-07 11:39:35 +00:00
Benjamin Hackl
2c5d6c2e6d
Fixed multiplatform builds for docker images in pipeline (#2753)
* fixed (?) multi-platform builds

* rename workflow file
2022-06-07 06:38:02 +05:30
Naveen M K
c106b91c93
CI: add a workflow to publish docker image after release (#2701)
* CI: add a workflow to publish docker image after release

* add on push event

* fixup

* add amd64 build process

* lint

* final version

* fixup

* don't remove `v` and add it back

* reword a name

* Build and push latest tags when pushed to main
2022-06-06 19:43:18 +02:00
Benjamin Hackl
f88d64a821
Fixed flake C417 and improved a comment (#2751)
* fixed flake c417 and improved a comment

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-06-06 18:41:37 +05:30
dependabot[bot]
a7ad01df7c
Bump pillow from 9.1.0 to 9.1.1 (#2748)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.1.0 to 9.1.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/9.1.0...9.1.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-02 00:40:21 -04:00
pre-commit-ci[bot]
bdb80fddf4
[pre-commit.ci] pre-commit autoupdate (#2747)
updates:
- [github.com/pre-commit/mirrors-mypy: v0.950 → v0.960](https://github.com/pre-commit/mirrors-mypy/compare/v0.950...v0.960)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-31 20:24:50 +05:30
Tristan Schulz
7941e18319
enhancement(vector_field): added fit_to_coordinate_system (#2728)
* enhancement(vector_field): added fit_to_coordinate_system

* tmp(vector_field) decision stage for implementation

* Update vector_field.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix OpenGL segfaulting when running self.play or self.wait (#2734)

* make play run only on main thread

* prefer dict.update

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Noam Zaks <imnoamzaks@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-05-28 05:47:37 +00:00
TornaxO7
083ffe0014
Added note to let users find documentation of default CLI subcommand easier (#2730)
* adding hint in the help page that the `render` command is invoked automatically
for if you call `manim`

* fixing format string

* fixed note for the epilog

* replaced the backticks with the normal (') ones

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* removing the trailing free line in constants.py

* fixing import issue

* adjusted the help-page output note

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-28 05:39:47 +00:00
Raghav Goel
4a99cead08
Fix Cylinder.get_direction docstring (#2740) 2022-05-28 05:33:11 +00:00
Benjamin Hackl
48747a74d9
Refactored structure of documentation; added :doc:FAQ section <faq/index> (#2732)
* move tutorials -> tutorials_guide

* change title in tutorials_guides

* rename: a_deeper_look -> output_and_config

* splitting Tutorials

* reorder index (sidebar), move some top level sections elsewhere

* rename some tutorials

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* replace recommonmark with rest for rendering md files

* fixed broken references

* fixed **all** warnings and errors during docbuild

* faq: help, more structure for landing page

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix deprecation tests

* prepare some sort of skeleton for installation faq

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ensure that pip from poetry venv is used in pipeline

* added myst-parser as dev dependency

* remove fixed sphinx version from requirement.txt, don't re-install dependencies

* move and improve versions and troubleshooting content to FAQ

* resolve broken references

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* help blacken-docs

* new: navigating the docs

* make different versions question more prominent

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed order of tutorials

* added explicit references to building blocks and quickstart tutorial

* docs -> doc

* change a page-reference to a paragraph-reference

* pypi manimlib, split answer regarding chocolatey failing

* added a note on #beginner-resources

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-27 08:45:31 +00:00
Noam Zaks
4129505003
Fix OpenGL segfaulting when running self.play or self.wait (#2734)
* make play run only on main thread

* prefer dict.update
2022-05-26 18:04:08 +05:30
dependabot[bot]
d3bdefbae2
Bump pyjwt from 2.3.0 to 2.4.0 (#2735)
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.3.0...2.4.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-25 10:14:14 +02:00
nyabkun
1bffb1d7a7
Fix Code mobject wrong indentation (#2725) 2022-05-23 21:05:54 +00:00
Charalampos Georgiou
bd631f7fb0
Edited note on :class:.NumberPlane length and added another example (#2726)
* docs: edit note on lengths and add example for it

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/graphing/coordinate_systems.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-05-23 20:58:45 +00:00
Tristan Schulz
2dba4856c8
Slight performance improvement for :class:.ArrowVectorField and Bezier curve computation (#2727)
* perf(bezier) added explicit definitions of quadratic and cubic in bezier.py

* perf(vectorized_mobject): replaced apply_along_axis with direct call to linalg.norm

* perf(vector_field): removed unnecessary calls to self.add and added get_vectors (multiple vectors at once)

* perf(iterables): removed duplicate calls to len(list) in make_even

* revert: removed get_vectors

* fix(get_vector): use asarray for point

* quickfix(vector_field): removed point asarray
2022-05-23 22:46:04 +02:00
Ejar
9148c661f6
Updating the order of the reference manuals (#2716)
A deeper look is needed before the building blocks
2022-05-18 09:12:41 +00:00
conor-oneill-2
f46a593e09
docs: Fixed typo in docstring (#2720)
Co-authored-by: Conor O'Neill <conoroneill71@gmail.com>
2022-05-15 20:25:48 +00:00
fcrozatier
7099a910b8
Fix typo in table documentation (#2722) 2022-05-15 14:22:01 +02:00
WillSoltas
ce4ac5162b
Added Axes Tip Resize Functionality according to Axes documentation (#2661)
* Added Axes Tip Resize Functionality according to Axes class documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Changed Default Tip Size Values to Conform with Global Defaults

* Fixed width kwarg usage on circle/square tips

* Fixed ratio-impacted default tip width for vectors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed Left-over Prints :)

Co-authored-by: Will Soltas <willsoltas@Wills-MacBook-Pro-2.local>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-05-09 19:40:19 +00:00
niklebedenko
cfd006aa7f
Matrix brackets (#2709)
* Fixed bracket warping for matrices

* fixed bodge for bracket splitting

* changed default value, removed old import

* updated VectorScene test

Co-authored-by: niklebedenko <nananananabatman>
2022-05-09 19:37:40 +00:00
pre-commit-ci[bot]
7802025bf2
[pre-commit.ci] pre-commit autoupdate (#2717)
updates:
- [github.com/asottile/pyupgrade: v2.32.0 → v2.32.1](https://github.com/asottile/pyupgrade/compare/v2.32.0...v2.32.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-09 21:34:40 +02:00
Tristan Schulz
8627f2a27d
fix(constants.py,image_mobject.py,opengl_image_mobject.py): Update deprecated pillow constants (#2715) 2022-05-09 16:01:56 +05:30
Tristan Schulz
affc719a63
Fixed Missing get_nth_curve_length_pieces in OpenGLVMobject (#2707)
* fix(opengl_vectorized_mobject): removed double definition of get_nth_curve_function_with_length

* fix(opengl_vectorized_mobject): added definition of get_nth_curve_length_pieces from VMobject to OpenGLVMobject
2022-05-07 15:26:56 +02:00
pre-commit-ci[bot]
8d7e7cdcf5
[pre-commit.ci] pre-commit autoupdate (#2705)
updates:
- [github.com/pre-commit/mirrors-mypy: v0.942 → v0.950](https://github.com/pre-commit/mirrors-mypy/compare/v0.942...v0.950)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-05-04 01:32:54 +00:00
Naveen M K
7991711dfa
CI: update python versions (#2700) 2022-05-04 09:31:06 +08:00
quark67
c8f64c1cfb
Updating of old URL (Pango Markup formatting page) (#2704)
The old URL https://developer.gnome.org/pango/stable/pango-Markup.html redirects to https://docs.gtk.org/Pango/ which is a generic page, not specific to the Pango Markup formatting. I replace it with the new address of the documentation: https://docs.gtk.org/Pango/pango_markup.html
2022-05-02 21:40:46 +05:30
Lingren Kong
fcb76ee64a
Default to utf-8 when reading files in :class:.Code (#2703)
* Update code_mobject.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-02 19:21:18 +05:30
Naveen M K
da3e99597d
Prepared bugfix release v0.15.2 (#2694)
* bumped version number, generated changelog

* regenerate changelog (second pass)

* regenerate changelog

* Add changelog to toctree

* regenerate changelog

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add this pr also to changelog

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* regenerate changelog

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* regenerate changelog

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-04-26 17:43:02 +05:30
Jonathan Alpert
7a13f0e969
Migrate from os.path to pathlib in Testing Scripts (#2685)
* updated styling

* final commit

* fixed style

* removed exist_ok=true

* added parents=True

* potentially .exists() is the problem

* fixed style'

* fixed style on revisions

* style check processed

* Update tests/helpers/graphical_units.py

Co-authored-by: ad_chaos <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* fixed changes

* made get_dir_layout also accept path.

* removed small auto import error

Co-authored-by: ad_chaos <90276965+Kiran-Raj-Dev@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-04-24 10:48:11 +00:00
Jason Villanueva
32b714a898
Improved CLI help page styling (#1975)
* First draft of cloup/click update

* Added some customizability via cfg files

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed test_command epilogs

* Adjusted logic for overriding theme

* Update main help page, no_args_is_help, and documentation

* Removed help shorthand '-h'

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update poetry lock again, update DefaultGroup snippet

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-04-24 10:05:23 +00:00
Naveen M K
5f490a9881
devchangelog: Sort items before writing (#2697)
After https://github.com/ManimCommunity/manim/pull/2696 it
caused an issue where each time rendering the order of pull
requests changes. Fix that issue by sorting it based on
the number of the pull request.
2022-04-24 14:59:18 +05:30
Naveen M K
b451301de7
Improve scripts/dev_changelog.py (#2696)
* dev_changelog: Normalize newline to `\n`

This otherwise creates issues when the changlog is rendered in windows

* Fetch Github API using threads

This would make the changelog generation faster as the requests to Github API
are made simultaneously.
2022-04-24 13:43:32 +05:30
Hamidreza Hashemi
a8bc854abe
Removed :class:CameraFrame (#2691)
* Removed CameraFrame (#2689)

* removed superfluous comment

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-04-24 07:24:26 +00:00
icedcoffeeee
7f5624ef62
Implement OpenGLImageMobject (#2534)
* initial commit

make OpenGLImageMobject a subclass of OpenGLTexturedSurface

* added typing

* unused import

* explicit imports

* new typing style

* convert to correct type

* update file structure

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added support for Path and image_mode parameter

* remove duplicate function

* let moderngl accept PIL Images only

* allow custom resampling

* allow greyscale

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-04-24 12:49:03 +05:30
Benjamin Hackl
54bee2722b
Fixed two minor issues of :class:.SpiralIn and :class:.ManimBanner (#2688)
* passed run_time argument to SpiralIn in ManimBanner.create

* let SpiralIn respect rate_func

* make SpiralIn an introducer

Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-04-23 21:46:04 +05:30
Jonathan Alpert
bef8302be3
Created a more accessible way to create Angles with line.py angle function - Angle.from_three_points (#2684)
* fixed style

* fixed style

* fixed formatting

* Update manim/mobject/geometry/line.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/geometry/line.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/geometry/line.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/geometry/line.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed formatting comments and added tests that can visualize graphic better

* Update manim/mobject/geometry/line.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/geometry/line.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* added additional example

* Update manim/mobject/geometry/line.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/geometry/line.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* example has been changed!

* fixed name change

* reverted change to not include Vgroup

Co-authored-by: hickmott99 <71236306+hickmott99@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-04-23 11:15:14 +08:00
Mohsin Shaikh
584d80242f
Allow using :meth:.MovingCamera.auto_zoom without animation (#2693)
* Allow using `MovingCamera.auto_zoom` without animation

* added test for auto_zoom width

* type hints for MovingCamera.auto_zoom

* black

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-22 23:07:52 +02:00
Jan-Hendrik Müller
a34d54d69b
Add instructions to install extra dependencies with poetry (#2686)
* add poetry install -e instruction

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* make new section

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docs/source/contributing/development.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-04-22 11:47:01 +02:00
Luca
8841e39a20
Document and type simple_functions.py (#2674)
* 🏷️ Add types to simple_functions.py

* 💄 Neaten binary_search()

Add spacing between signature and code.
Remove and expressions and address IDE warnings

* 📝 Add docstrings for functions in simple_functions.py

* 🎨 Reorder functions alphabetically

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* 🐛 Reformat code examples

These were causing checks to fail due to missing spaces after `>>>`
I had wanted to change these to be more consistent with iterables.py anyway.

* 🎨 Change single tics to double

Change \` to \`` - this ensures that the variable names are actually
displayed as code (and not italics)

* improved docstrings, rewrote examples as doctests

* fix (???) unrelated failing doctest

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed typo

* Update manim/utils/simple_functions.py

Co-authored-by: Luca <30503695+tameTNT@users.noreply.github.com>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-04-19 22:37:43 +00:00
Naveen M K
d5f08a5d23
Require backports-cached-property only for Python < 3.8 (#2678)
Fixes https://github.com/ManimCommunity/manim/issues/2677
2022-04-18 10:13:56 +00:00
David Millard
c4a72083f9
Handle user-defined centers for Wiggle animation (#2648)
* Handle user-defined centers for Wiggle animation

* Add unit tests for wiggle attributes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-17 22:23:28 +02:00
dawn*squirryl
f43f54365a
Fix arguments of overridden set_style for BackgroundRectangle (#2658)
* Sync `set_style` arguments with base

* Minimize set_style arguments; add info log

* Remove excessive import

* more verbose logger output, added test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-16 21:40:45 +00:00
Ryan McCauley
2964326040
Fix opengl finish transform (#2676) 2022-04-16 23:30:38 +02:00
sparshg
7f464cc5d3
Fix background lines drawn twice in NumberPlane (#2634)
* fix axis lines drawn twice in numberplane

* simplified and fixed test, added comments

* fixed background lines drawn when both x_min, x_max are negative

* regenerated control data of failing tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-15 22:12:44 +00:00
Bailey Powers
3413ca226f
Copyedited Documentation (#2640)
* Copyedited Documentation

Changelog / Overview
Reviewed tutorials\configurations.rst. Edited simple mistakes such as Manim not being capitalized and commas.

Motivation and Explanation: Why and how do your changes improve the library?
My motivation was to start getting involved in the open source community. This improves the library as it increases readability and professionalism.

Links to added or changed documentation pages

Further Information and Comments
Closes #1401

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Luca <30503695+tameTNT@users.noreply.github.com>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Luca <30503695+tameTNT@users.noreply.github.com>
2022-04-15 21:21:45 +00:00
Benjamin Hackl
b6311098df
Improved handling of attributes when using the `.animate` syntax (#2665)
* apply all methods to original mobject after finishing _MethodBuilder animation

* added test to check whether custom attributes are changed

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-15 19:53:21 +00:00
pre-commit-ci[bot]
f73861e358
[pre-commit.ci] pre-commit autoupdate (#2670)
updates:
- [github.com/pre-commit/pre-commit-hooks: v4.1.0 → v4.2.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.1.0...v4.2.0)
- [github.com/asottile/pyupgrade: v2.31.1 → v2.32.0](https://github.com/asottile/pyupgrade/compare/v2.31.1...v2.32.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-13 14:13:58 +08:00
Benjamin Hackl
65a0fecfda
(re)set background color when initializing scene (#2668) 2022-04-10 19:50:01 +00:00
trickypr
94a984e183
Fix assert_is_mobject_method when using OpenGL (#2655)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-04-10 21:45:06 +02:00
Benjamin Hackl
842a57eac9
Added documentation for scene updater functions (#2663)
* added scene updater documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-10 08:36:19 +00:00
Luca
8f8e4b1118
Document and type utils/iterables.py (#2649)
* 🎨 Reorder functions alphabetically

Makes it easier to reference documentation alongside source code.

* 🎨 Rename concatenate_lists to flatten_lists

This is more consistent with terminology online in terms of data science.
We're flattening a 2D list into a regular one.

* 🏷️ Add types to iterables.py

Some functions require just Iterables, others Collections (sized iterables), etc.

* 💡 Add docstrings and examples to 1st half of iterables.py

Improved the clarity of some existing explanations as well.
flatten_lists was reverted to concatenate lists on closer inspection.

* 🎨 Adjust docstring format to numpy style

Use Examples header and indent docstrings description consistent with
numpy style guide as well as Manim wiki guidance.

* 💡 Add docstrings and examples to 2nd half of iterables.py

Improved the clarity of some existing explanations as well and updated
formatting to match updated style.

* 💄 Sort __all__ in file head alphabetically

Matches order of functions in file.

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-04-09 13:33:06 +00:00
darkways
5071e9418b
Fix Bug Uncreate() with rate_func via introducing new parameter reversed to class Animation (#2597)
* `Uncreate()` works with `rate_func` ,fix #2469

Place the reverse of `rate_func` to become part of the process in `Uncreate()`.

The original `uncreate()` is implemented by setting a specific value to `rate_func`.

Now, if you want to set parameter`rate_func` when using `Uncreate()`, you can set the parameter `reverse_rate_func` to `Uncreate()`.

Examples

```python
.. manim:: ShowUncreate

        class ShowUncreate(Scene):
            def construct(self):
                self.play(Uncreate(Square(), reverse_rate_func=linear))
```

But problems remains when you try to pass parameter `rate_func` to `Scene.play()`

* fix issue #2469

* Add parameter reversed to class Animation

Fix an error in the last [commit](47b5196e3f). The "remover" decided whether it would reverse. Now it correctly passes the power of decision to "reversed".
Add a bool parameter `reversed` to class `Animation`. It decides whether the animation need to be played backwards. Default to be False.

* Add unit tests for usages of `Uncreate()`

* Add control data for the new unit test

* change the implementation of `Unwrite` to the same logic as `Uncreate`

* Rename parameter `reversed`, add descriptions, style #2597

Rename `reversed` to the more explicit `reverse_rate_function`, in class Animation.
Explicitly mention in documentation that setting `reverse_rate_function` doesn't have any effect on `remover` and `introducer`.

* improve documentation of parameter `reverse_rate_function`, doc #2597

improve documentation of parameter `reverse_rate_function` in class `Animation`

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* doc: remove unnecessary comments in creation.py

The comment was added because the name of the parameter `reversed` was similar to reverse, which is a also parameter, but defined in Write().
Now the parameter has a more explicit name `reverse_rate_function`. Developers can get the main idea from its name. So we don't need the comment to tell.

Co-authored-by: Sefik-Palazoglu <sefik.palazoglu.s@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-04-09 09:49:16 +00:00
Joy Bhalla
574ff693da
updated cloup (#2652)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-04-06 08:10:57 +00:00
Darigov Research
ecce9bb9ad
Update copyright year in documentation to 2020-2022 (#2651) 2022-04-05 17:09:04 +05:30
WillSoltas
b69258982d
Migrated file_ops.py and scene_file_writer.py from os.path to Pathlib (#2642)
* Migrated file_ops.py and scene_file_writer.py from os.path to Pathlib (github issue #45)

* Updated scene_file_writer.py to handle WindowsPaths

* Updated scene_file_writer.py to handle WindowsPaths

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated file_ops.py to handle WindowsPaths

* Updated scene_file_writer.py to handle WindowsPaths

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed Merge Conflict: Added Type Hints in file_ops.py

* Changed test_file_ops to use Pathlib in accordance with file_ops.py usage

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Will Soltas <willsoltas@Wills-MacBook-Pro-2.local>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-05 08:09:39 +00:00
Benjamin Hackl
ea7455dcd2
Fixed incompatibility with black version (#2656)
* fixed incompatibility with black version

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-05 09:59:20 +02:00
peaceheis
e648d88510
Copy Edit troubleshooting.rst (#2609)
* Copy Edit troubleshooting.rst

This is for Issue #1401.

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update troubleshooting.rst

* Update troubleshooting.rst

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-04-02 10:20:27 +08:00
ad_chaos
326bf21b5c
Fixed a File logging bug and some maintenance (#2546)
* Fixed File logging bug

Previously, the file logger was set in manim/_config/utils.
That caused problems as python tried to enable file logging when other
variables like media_dir, scene_name and others which were required for
the naming of log_dir were not yet set.

Now, we enable log_to_file in scene_file_writer where all the required
directories are declared before we enable file logging.

Also removed a test that was based on set_file_logger's previous
behaviour where it added a suffix only when the class name was
specified when calling manim. Since, we now enable file logging
in scene_file_writer, we always have access to the class name
regardless.

* Added Typings to file_ops

* Fixed typings and some warnings in _config.utils

Fixed some typings to now explicitly importing the types we require.
Removed one of the double declarations of dry_run.
Removed an unused import and a block of commented code.

* Remove rendundant check

* Add suggested changes

Co-authored-by: Hugues Devimeux <36239975+huguesdevimeux@users.noreply.github.com>
2022-03-30 16:43:04 +02:00
pre-commit-ci[bot]
5d72d9cfa2
[pre-commit.ci] pre-commit autoupdate (#2641)
updates:
- [github.com/pre-commit/mirrors-mypy: v0.941 → v0.942](https://github.com/pre-commit/mirrors-mypy/compare/v0.941...v0.942)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-03-28 23:27:25 +05:30
Naveen M K
cddd47ca53
Remove WebGL renderer (#2630)
* Remove WebGL renderer

Fixes https://github.com/ManimCommunity/manim/issues/2629

* Remove occurence of webgl_renderer in CI config

* Fix Dockerfile

* Remove reference to webgl renderer in config docs

* Update poetry lock file

* Remove some scripts related to webgl

* Don't use rich 12.0 version

* Ignore rich 12.0.0

* Fix dependency, it was wrong previously
2022-03-24 08:39:24 +05:30
pre-commit-ci[bot]
cecb2f87f9
[pre-commit.ci] pre-commit autoupdate (#2631)
updates:
- [github.com/pre-commit/mirrors-mypy: v0.940 → v0.941](https://github.com/pre-commit/mirrors-mypy/compare/v0.940...v0.941)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-03-22 10:03:00 +08:00
ad_chaos
c9fe05cd5e
Improve Example (#2619)
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-03-21 15:33:02 +00:00
Darylgolden
ef8a9198f4
Run tests on Linux-aarch64 (#2561)
* try self-hosted runners

* skip test_force_window_opengl_render_with_format on linux arm

* remove debug stuff

* pre-commit

Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-03-19 17:14:57 +00:00
Prismo
df1a60421e
Add example PolygonOnAxes (#2610)
* Added example to examples.rst

* Minor

* Update docs/source/examples.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update docs/source/examples.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update docs/source/examples.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Removed wait()s

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-03-19 13:02:25 +00:00
Ryan McCauley
10a5f40aa5
Reuse shader wrappers and shader data (#2062)
* reuse shader wrappers and shader data arrays

* Update uniforms

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-03-18 14:04:46 +08:00
ad_chaos
91a1f5537e
Fixed typo (#2620) 2022-03-16 16:18:24 +01:00
Benjamin Hackl
ea7e8c9392
re-added valuetracker documentation (#2617) 2022-03-16 12:36:44 +01:00
pre-commit-ci[bot]
f076439512
[pre-commit.ci] pre-commit autoupdate (#2615)
updates:
- [github.com/asottile/pyupgrade: v2.31.0 → v2.31.1](https://github.com/asottile/pyupgrade/compare/v2.31.0...v2.31.1)
- [github.com/pre-commit/mirrors-mypy: v0.931 → v0.940](https://github.com/pre-commit/mirrors-mypy/compare/v0.931...v0.940)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-03-15 09:50:40 +08:00
Kian Cross
ef00ae5e66
Fix bug in Circle.point_at_angle when angle not in [0, 2 * pi]. (#2613)
When the angle passed to `Circle.point_at_angle` is not in the
interval [0, 2 * pi], an error is thrown.

This commit maps all angles into the interval [0, 2 * pi].
2022-03-12 17:33:46 +01:00
Dan Walsh
0bc593a8a0
Add SpiralIn Animation (#2404)
* Added a cool animation.

* Added Spiral Effect

* Added SpiralIn to logo.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Made a better example to show how to use SpiralIn.

* Added docstring

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed SpiralInExample.py, and moved my example into basic.py with its friends.

* Update manim/animation/creation.py

Gotcha, yeah. I like this.

Co-authored-by: GameDungeon <60719255+GameDungeon@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixing docstring

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/animation/creation.py

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* imported TAU from constants.py.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Got rid of redundant, weird factor of 8 multiplication which was confusing. Now default value is 8.

* Added the ability to modify the opacity effect at the beginning.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Something is still wrong with opacity in this commit, but it's a step forward...

* Fixed the opacity issues. Seems I have to re-save the mobject state immediately after restoring it every time.

* Added fade_in_fraction to basic.py so people learning how to use it can understand the usage a bit better.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: danielkwalsh <dan@crossnokaye.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: GameDungeon <60719255+GameDungeon@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-03-12 21:32:22 +08:00
Benjamin Hackl
8e6a4c48ac
Prepared bugfix release v0.15.1 (#2596)
* bumped version number, generated changelog (first pass)

* included release PR

* generate changlog, second pass

* regenerated changelog, final pass

* update translation strings
2022-03-08 23:09:37 +01:00
Benjamin Hackl
294efcd651
Fixed render flow issues with introducer animations (#2594)
* only let introducer add mobject if not yet present

* fix check for empty moving_mobjects list

* added two tests

* added control data

* black

* fixed usage of Mock in some tests

* check family members instead of mobject list

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* moved moving_mobjects / static_mobjects assignment to begin_animations

* restored correct render flow, made sure static_image is created properly

* fixed some tests

* make sure scene_finished handles frame update correctly

* improve / fix test_vector_scene

* black

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-03-08 20:25:04 +00:00
ad_chaos
9bae654ae6
Refactored docstrings in mod:manim.mobject.graphing.coordinate_systems (#2570)
* Refactored docstrings in manim.mobject.graphing.coordinate_systems

* Changes requested from code_review
2022-03-08 19:31:46 +05:30
Nicolai Weitkemper
adea5a5a52
Support groups in TransformMatchingParts (#2602)
* support groups in `TransformMatchingParts`

* update example for `TransformMatchingTex`

* update example for `TransformMatchingTex` (2)

* also allow `OpenGL(V)Group` in `TransformMatchingTex`
2022-03-08 10:38:00 +01:00
Benjamin Hackl
a8de354101
Reduced the number of warnings during documentation build (#2603)
* use :pr: directive in changelog script

* change hardcoded links to PRs + issues to extlinks

* adapt extlink formatting

* fixed warning about bullet list

* improved formatting of an admonition, tried to fix section not expected (unsuccessful)
2022-03-08 12:23:27 +08:00
ad_chaos
db504a548b
Fixed bug with invalid color type `None` (#2584)
* Add test

* Seperate test

* Better solution

* Rebasing is hard

* revert changes to get_style

* handle color lists containing None properly

* added test for match_style with gradient

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-03-06 19:30:02 +01:00
ad_chaos
bcfa9ac5ad
Fix bug introduced in Tex rendering via #2574 (#2587)
* Bugfix

* Changes to log data

* Add test

* Seperate test
2022-03-05 22:28:01 +00:00
Benjamin Hackl
f23db3ded1
Fixed bug with displaying images in Jupyter notebooks (#2593) 2022-03-05 10:17:10 -05:00
Yuchen
ed30cc906c
Fix incorrect typehint for Text class's color property (#2578)
* Fix incorrect typehint

* Update manim/mobject/text/text_mobject.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-03-02 19:28:34 +08:00
Benjamin Hackl
e147a9fc6c
Prepared new release, `v0.15.0` (#2547)
* bump version number

* update docs, citation, citation template

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* removed dependabot from contributor list

* generated changelog, second pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* generated changelog, third pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* generated changelog, fourth pass

* regenerated changelog, fifth pass

* fixed minor issues in generated changelog

* updated translations

* added one final PR to the release

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-26 21:26:45 +01:00
ad_chaos
5b11a0e48b
Improved Error in :mod:.utils.tex_file_writing (#2574)
* Better Error and insight

* Do not use keywords as identifiers

* add_tests

* Nasty comma

* Windows does its own thing

* Use os.path.join for windows

* Do not log path

* Include Insights

* Full stop.

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Full stop to test data.

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-02-26 20:50:11 +01:00
icedcoffeeee
d202d26478
Fix find_intersection in space_ops.py (#2580)
* revert a change to find_intersections

* fix new implementation
2022-02-26 18:08:13 +01:00
Benjamin Hackl
a038288ac6
Fixed a bug with animation of removal of edges from a :class:.Graph (#2576)
* animationgroup for edge removal should not be full graph

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-25 20:57:16 +01:00
ad_chaos
9e19f8c2d1
Refactored docstrings in mod:manim.mobject.geometry (#2560)
* Refactored docstrings in manim.mobject.geometry.arc

* Ignore opengl docs as it causes build failure

* Refactored docstrings in manim.mobject.geometry.boolean_ops

* Refactored docstrings in manim.mobject.geometry.line

* Removed unnecessary new lines

* point cannot be None.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Revert "Ignore opengl docs as it causes build failure"

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-02-25 19:13:05 +00:00
Benjamin Hackl
62df4cc984
Moved :mod:.value_tracker back inside :mod:.mobject (#2573)
* moved value_tracker back to mobject

* updated value_tracker module docstring

* fixed references to value_tracker

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-25 19:05:22 +00:00
Pierre Couy
4debece249
Alternative scaling for tree graph layout (#2478)
* Improvement to the tree graph layout

* Fix errors when trying to use the tree layout with a single-vertex
  graph (was caused by a division by 0)
* `scale` can now be `None` (or a tuple containing `None`). A
  `None` value keeps the spacings computed by SageMath's tree layout
  implementation in the corresponding dimension (useful for keeping
  trees compact)
* Adds a keyword argument `scaling_type` (that can be used with the
  `layout_config` argument).
* * Its default value is `"relative"`, which
    keeps the original meaning of the `scale` parameter (but includes the
    previously described changes).
* * If set to `"absolute"`, the `scale` parameter can either be a scalar
    or a tuple. It now scales SageMath's layout by the given factor in
    each dimension, allowing for a finer control on compact tree
    layouts.

This improvement is especially useful for rendering large trees (deep
and/or wide) when used with the `auto_zoom` method of `MovingCamera`.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added example for the new `scaling_type` argument of the tree layout

Includes two animations that progressively build the same tree,
showcasing the motivation behind the change.

* Fix mypy failing

* Updated ``Graph`` documentation for `scaling_type` param

* changed implementation: layout_scale -> vertex_spacing

* included example in Graph documentation

* deleted tree_layouts.py file in example_scenes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* downgrade to code-only example

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-02-25 14:37:48 +00:00
ad_chaos
63b43ebf82
Refactored docstrings in :mod:.graphing (#2571)
* Refactored docstrings in manim.mobject.graphing.functions

* Refactored docstrings in manim.mobject.graphing.number_line

* Refactored docstrings in manim.mobject.graphing.probability

* Refactored doctrings in manim.mobject.graphing.scale

* Trigger build
2022-02-25 10:52:10 +00:00
ad_chaos
f5af1bb233
Refactored docstrings in mod:manim.mobject.geometry (#2569)
* Refactored docstrings in manim.mobject.geometry.polygram

* Refactored docstrings in manim.mobject.geometry.shape_matchers

* Refactored docstrings for manim.mobject.geometry.tips
2022-02-25 11:44:00 +01:00
Laith Bahodi
e040bcacd3
Improved structure of the :mod:.mobject module (#2476)
* group graphing and update its references

* group text and update its references

* group opengl and update its references

* group three_d and update its references

* group geometry and update (most) references

* move some chaning.py + updater files  into animation

* refactor arc.py

* refactor line.py

* refactor polygram.py

* refactor tips.py

* black + isort

* import new files in __init__.py

* refactor places where geometry was used

* black + isort again

* remove unused imports

* update reference.rst

* add descriptions to files

* fix circular imports

* forgot ArrowTip

* fix tests

* fix doctests

* satisfy mypy?

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix ALL merge conflicts

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* one VMobject import slipped through

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* re-add imports to `manim/opengl/__init__.py`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix reference manual

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ignore unknown directive type

* fix arrow tip imports in docstrings

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-02-24 09:29:28 +01:00
Michael McNeil Forbes
99b11da9c5
Added `media_embed` config option to control whether media in Jupyter notebooks is embedded (#2442)
* feat: Added --embed option to %%manim ManimMagic.

* feat: Change to --embed and also embed Images

* Update manim/utils/ipython_magic.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Initial attempt to make media_embed a general config option

* fixed issues raised in code review

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove unused import

* actually remove unused import

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Michael McNeil Forbes <michael.forbes+python@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-23 09:35:39 +00:00
Benjamin Hackl
0071d982df
Allowed passing vertex configuration keyword arguments to :meth:.Graph.add_edges (#2565)
* allow passing vertex configuration kwargs to add_edges

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-23 10:33:53 +01:00
ad_chaos
b9694214c7
Remove Deprecated Methods (#2568)
* Remove Deprecated Methods

* Removed unused import and changed __all__ variable
2022-02-23 08:31:14 +00:00
ad_chaos
46a2da7a45
Removed unused imports and functions (#2566)
idle stream is no longer used, was a function aiding livestreaming.
Also corrected a type hint.
2022-02-23 08:56:35 +01:00
Laith Bahodi
2275ec5916
:class:~.MathTex, :class:~.Tex, :class:~.Text and :class:~.MarkupText inherit color from their parent mobjects. (#2467)
* comment out color-related things from tex_mob

* add change to svg_mobject

* MarkupText handles colour internally

* MarkupText handles colour internally

* make coordinate_system.py colour agnostic

* get_line_from_axis_to_point

* add typings for SingleStringMathTex

* add typings for MathTex

* make internal methods internal

* black + isort

* fix typo

* black + isort

* fix typo

* revert internalizing change

* Revert "Merge branch 'mathtexx' of https://github.com/hydrobeam/manim into mathtexx"

This reverts commit 6be3c39814, reversing
changes made to 2b30b446ae.

* remove accidental import

* do it in a less bad way

* WIP: Text2setting causing problems

* allow tex_mobject.py to inherit colour

* allow tex_mobject.py to inherit colour

* add tests

* remove undeedde imports + formatting

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix warnings from pre-commit hooks

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix some tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove other color_inheritance test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix typo

* accomodate the color->attribute PR

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix tests and doc build

add a check for None when inheriting colour in
`coordinate_systems.py`, and turn written tests
into graphical tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Comment out `Text` color inheritance test.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Set font for text_color_inheritance test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Small change to retrigger docs build

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-19 19:57:19 +01:00
Kevin Cen
1e437d6587
Added support for PySide coordinate system (#2537)
* support pyside coordinate system

* arg use snake_case over CamelCase

* add unit test for coord translation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: kevcen <kev9821@hotmail.co.uk>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-19 16:25:26 +00:00
Darylgolden
f5b6e00a6e
Added a page for internals which links to our Github wiki (#2549)
* Link to wiki

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* link in sidebar

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-19 15:48:18 +00:00
Kiran-Raj-Dev
11da1d1b74
Show highlights when creating table (#2556)
* Include expected behaviour

* Fixed Attribute errors and Type Hints
2022-02-19 15:37:23 +00:00
Marcin Serwin
7fe437e3be
Fix setting line numbers in Text when using ManimPango settings (#2559) 2022-02-18 23:01:37 +05:30
Alex Lembcke
e47c5da503
Fixed logger bug in (#2557) 2022-02-18 14:29:43 +08:00
Naveen M K
7039656a68
CI: Remove 'Remove-Item' calls for MSYS2 Python (#2554)
Now `windows-latest` defaults to `windows-2022` and it has a breaking change related to MSYS2 where there are no pre-installed packages. 
This would mean we don't need to manually remove `python.exe` installed through it.

See https://github.com/actions/virtual-environments/issues/4856
2022-02-17 13:06:40 -05:00
Eshaan Naga Venkata
b758da4c65
Improved documentation for Rotate (#2458)
* Added examples for 'Rotate' & 'Rotating'

I think 'Rotating' should be changed to 'Revovling'

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* formatted code

* Update rotation.py

* Updated example

* Update rotation.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed a type hint and added parameter descriptions

* Update manim/animation/rotation.py

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-02-17 14:22:42 +01:00
Simon Ellmann
ac1ee9a683
Fix axes plotting bug with logarithmic x-axis (#2548)
* Fix axes plotting bug with logarithmic x-axis

The scaling function was not applied to the last x-value to be evaluated,
resulting in a wrong point of the function plot and a weird line from
the second-last to the last point when using a scaled x-axis.

* Add graphical unit test

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>
2022-02-16 11:55:59 +01:00
Eshaan Naga Venkata
cba802f3ca
Added examples to some transform animations (#2459)
* Added examples to some transform animations

Animations - ClockwiseTransform, CounterclockwiseTransform, MoveToTarget, FadeToColor, ScaleInPlace, ShrinkToCenter, Restore, ApplyMatrix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update transform.py

* Rename ApplyMatrix example

* Rename Restore example

* Fix ShrinkToCenter example

* Fix ScaleInPlace example

* Fix FadeToColor example

* Rename MoveToTarget example

* Formatted code

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Corrected typo

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Updated quality of examples and added number plane to ApplyMatrix()

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Changed some code according to @behackl suggestions

* Added examples to show difference between `Transform` and `ClockwiseTransform` / `CounterclockwiseTransform`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/animation/transform.py

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update manim/animation/transform.py

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Removed some examples

* Added @behackl 's examples

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/animation/transform.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/animation/transform.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Changed animation

clockwise and counterclockwise

* Update manim/animation/transform.py

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Update manim/animation/transform.py

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Update manim/animation/transform.py

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Update manim/animation/transform.py

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Update manim/animation/transform.py

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Update manim/animation/transform.py

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Update manim/animation/transform.py

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Update manim/animation/transform.py

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* Removed 2 examples

* Apply suggestions from code review

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Raghav Goel <kilacoda@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>
2022-02-16 09:40:09 +08:00
friedkeenan
8e1407e7fd
Fixed certain unicode characters in users' paths causing issues on Windows (#1547)
* Add test for directories containing certain unicode (before fixing the issue)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Explicate UTF-8 encoding when writing partial movie file paths

* fix import

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-02-15 09:52:43 +01:00
Laith Bahodi
64e072ff53
Fix segfault when using --enable_gui (#2526)
* fix dpg

* update dearpygui

* fix GuiTest2

* run poetry update

* convince poetry that wheels for glcontext do exist

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-02-14 12:54:15 +01:00
Faruk D
6ab068e10f
Added a GitHub Action for automatic validation of your citation metadata (#2531)
* Create cffconvert.yml

* Update CITATION.cff
2022-02-12 11:05:12 +01:00
icedcoffeeee
a6c4ee4d1a
Added OpenGL compatibility to ThreeDScene.add_fixed_orientation_mobjects and ThreeDScene.add_fixed_in_frame_mobjects (#2158)
* made add_fixed_orientation_mobjects to be opengl compatible

* made add_fixed_in_frame_mobjectsto be opengl compatible

* implemented uniform attribute 'is_fixed_orientation'

* updated shader files

* remove previous implementation

* update

* update

* added tests

* rename mob_center to fixed_orientation_center

* Update frame_server_impl.py
2022-02-12 09:47:40 +01:00
Benjamin Hackl
fe2fb266ea
call swap_buffers only once (#2538) 2022-02-10 19:47:38 +01:00
Kiran-Raj-Dev
ba23b8cd38
Fixed custom naming of gifs and added some tests (#2528)
* Allow custom naming of gifs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added tests for custom file naming for gifs and mp4s

* Had accidently deleted python versions from poetry.lock. Added them back in.

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>
2022-02-10 16:43:58 +00:00
Benjamin Hackl
8852ceee6e
Added finer control over :meth:.Scene.wait being static (i.e., no updaters) or not (#2504)
* added freeze_frame kwarg to Wait + documentation, changed logic of should_mobject_update

* changed default behavior when adding updaters to opengl mobjects

* added tests

* fixed OpenGL behavior (?)

* black

* Scene.pause, type hints, documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* actually handle frozen frames in OpenGL renderer

* black

* remove stray print

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-10 17:42:09 +01:00
Viicos
b605d2ed84
Fixed :meth:.ThreeDCamera.remove_fixed_orientation_mobjects (#2487)
* Fixed `:meth:.ThreeDCamera.remove_fixed_orientation_mobjects`

* added test for adding and removing fixed mobjects

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-09 11:57:22 +00:00
Benjamin Hackl
b09fda7a4d
upgrade ffmpeg action (#2536) 2022-02-09 12:55:38 +01:00
Kiran-Raj-Dev
bdd841d1b1
A faster method to compute split_factors (#2535)
* A faster method to compute split_factors

* Added some more comments
2022-02-09 08:33:36 +00:00
pre-commit-ci[bot]
b26137e9b6
[pre-commit.ci] pre-commit autoupdate (#2520)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/psf/black: 21.12b0 → 22.1.0](https://github.com/psf/black/compare/21.12b0...22.1.0)
- [github.com/asottile/blacken-docs: v1.12.0 → v1.12.1](https://github.com/asottile/blacken-docs/compare/v1.12.0...v1.12.1)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-02-09 07:55:56 +08:00
Marcin Serwin
5190e36805
Use single source of truth for default text values (#2530) 2022-02-07 16:59:49 +05:30
icedcoffeeee
280854e928
Reworked space_ops.py (#2524)
* first rework

* use rotvec and updated transpose rot mat

* shortcut for about z_axis

* rework get_unit_normal

* rewrite center_of_mass

* rewrite find_intersection

* shoelace using trapz

* use external quaternion package

* Correct error message

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* correct the tests

No major change, just tiny differences due to floating point error

* new test

* Update test_space_ops.py

* Revert "use external quaternion package"

This reverts commit 1fc318ca60.

* Update space_ops.py

* updated tests

* updated tests and error message

* Technically called segments

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* minor changes in wording regarding intersection (lines vs line segments)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Kiran-Raj-Dev <90276965+Kiran-Raj-Dev@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-06 13:08:50 +00:00
Darylgolden
0c1c74bf63
Cache view matrix for :class:~.OpenGLCamera (#2516)
* Cache view matrix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add backport for old versions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix import

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-05 03:31:21 +00:00
Darylgolden
859c1793f6
Added guide on profiling and improving performance (#2517)
* Guide on performance

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docs/source/contributing/performance.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Try to get code block to render

* Update docs/source/contributing/performance.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* try fix

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-02-03 07:12:02 +08:00
Eshaan Naga Venkata
5ec25905d7
Added import lines to examples in deprecation docs (#2518)
* Added a tip in `deprecation` docs

* added two apostrophes to make it look better

* changes made according @behackl

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* committed suggested change

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Added import line to every example

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changed `deprecated` to `deprecated_params`

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-02-02 12:45:53 +01:00
Kiran-Raj-Dev
1371d23e17
Make help more descriptive (#2499)
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-01-31 07:33:46 +00:00
Eshaan Naga Venkata
b94838e69f
Removed unnecessary/outdated comments (#2519) 2022-01-31 15:26:35 +08:00
Eshaan Naga Venkata
e2423e5b0d
Deprecated 'ShowCreationThenFadeOut' (#2457)
* Added an example for 'ShowCreationThenFadeOut'

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added @deprecated warning

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update indication.py

* Added deprecated function to ShowCreationThenFadeOut

* updated import location for deprecation

* Linked animations

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Made easy to read

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>

* Formatted text

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>

* minor corrections

* removed documentation

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* added version parameters to deprecated function

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-01-30 17:08:12 +01:00
Laith Bahodi
962c24684a
Added documentation for index_labels. (#2465)
* add example to index_labels

* add to reference_manual

* add to using_text tutorial

* add to using_text tutorial pt_2

* fix some formatting in the rest of the tutorial

* actually add examples + parameters

* make index_labels not bad

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add r-string to beginning of doc

* fix indentation?

* don't try to be clever : fix docs

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-01-30 14:49:10 +00:00
Kiran-Raj-Dev
e577bb6957
Updated minimal latex installation instructions (#2495)
* updated minimal latex installation instructions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-30 14:41:12 +00:00
Darylgolden
7efa2066ac
Removed unused imports (#2503)
* Remove unused imports

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed non pytest imports from tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove unused pytest imports

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* re-added removed pass statements

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-01-30 14:31:45 +00:00
Darylgolden
3add3c21a9
Add note about contributions during refactor period (#2500)
* Note about contributions

* md link

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix typo

* improve phrasing

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-30 14:23:28 +00:00
Leo Xu
8cdc3703ec
Changed example in Surface.set_fill_by_value() (#2431)
* Made set_fill_by_value() support gradients on different axes.

* Removed extra tests and made default for set_fill_by_value to the z-axis.

* Fixed test in test_threed.

* Changed the the set_fill_by_value() test in test_threed.py.

* Fixed set_fill_by_value() documentation

* removed duplicated entries in .gitignore

* Changed Example

* Changed example in set_fill_by_value

* Changed formatting in Surface.set_fill_by_value() example.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-01-30 00:29:52 +08:00
Darylgolden
8d94325058
Improve performance for :meth:~become (#2508)
* Improve become method

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Make match_num_points kwarg

* fix test

* typehint and kwarg

* Add tests for become

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* experiment

* Undo match_num_points

* readd return self

* test fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* undo changes to match points

* use skip point alignment

* delete accidental inclusion

* Added documentation

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Minor correction

* fix indentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix formatting

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-01-29 19:46:14 +08:00
Marcin Serwin
717abfbfeb
Change color, stroke_color and fill_color fields to properties (#2332)
* Make color, stroke_color and fill_color properties

* Update code to properly use the stroke- fill- and color properties

* Make colors properties in OpenGL VMobject

* Initialize svg mobjects with correct style

* Pass the color to hash calculating function directly

* Remove workaround with submobjects

* Make text2svg handling of None color explicit

* Fix background_stroke_color updating

* Remove in data check

* Remove typo ?

* Remove odd spacing

* Fix issues with new text color settings

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Implement suggestions

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-29 07:30:59 +08:00
Tommy Chu
269e5c22cb
Fix minor typing mistakes in docs (#2485)
* Fix minor typos in docs

* Update .github/ISSUE_TEMPLATE/bug_report.md

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update .github/ISSUE_TEMPLATE/installation_issue.md

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update CODE_OF_CONDUCT.md

Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-01-26 10:59:32 +00:00
Kiran-Raj-Dev
df8cefe984
Fixed .gif related issues (#2494)
* fix-order of operations

* Use ffplay to preview gifs

* typo

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-26 16:14:05 +08:00
Viicos
35e1a42216
Fixed docstring in .Square (#2493) 2022-01-25 14:56:44 +00:00
鹤翔万里
099e4eed0c
Fixed two issues of :class:~.SVGMobject (#2490)
* fix issue of nested svg

* fix issue of the order of transforms

* fix bug of node which is not an element

* fix x y property in SVGMobject._handle_transforms

* adapted control data

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-01-25 14:48:43 +00:00
betafcc
29028fa61d
Fixed screeninfo.get_monitors returning empty on osx (#2357)
* Fixed screeninfo.get_monitors returning empty on osx

* Updates screeninfo

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-01-25 10:52:07 +00:00
Naveen M K
6a2aa1e7ee
CI: update tinytex archive url (#2484)
The previous one we used started to reach rate-limit
and I hope Github's release doesn't reach the rate limit.
2022-01-24 10:10:26 +01:00
Benjamin Hackl
a2b21df42b
Updated Python version requirement in installation guide (#2482) 2022-01-23 21:48:37 +05:30
Marcin Serwin
a96ad3e822
Fixed animations introducing or removing objects (#2396)
* Replace finish with clean_up_from_scene in ShowPassingFlash

* Add introducer flag to animations

* Mark some animations as introducers

* Handle animating graph

* Update tests

* Update tests to provide mocked scene

* Make setup_scene internal

* Replace string annotation with new typehints

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-01-23 09:56:44 +08:00
Lucas Ricci
6e1ad57e45
Add missing () in the files reported in issue #2389 (manim/manim/mobject/types/vectorized_mobject.py and opengl_vectorized_mobject.py) (#2438) (#2438)
Add missing () in the files reported in issue #2389

* Quick fix

* Quick fix

* Removing .rotate()

* Removing .rotate()

* Merge branch 'main' into fix-issue-2389

* Merge branch 'main' into fix-issue-2389

Co-authored-by: mergify-bot <noreply@mergify.com>
2022-01-22 17:52:05 +08:00
Naveen M K
838c0fd000
Remove setuptools dependency (#2475)
It isn't used anywhere in manim.
Fixes https://github.com/ManimCommunity/manim/issues/2461
2022-01-21 11:26:45 +05:30
Darylgolden
c061ee21f9
Remove unnecessary comment in simple_functions.py (#2472) 2022-01-20 16:33:35 -05:00
GameDungeon
daf23c9d10
Upgraded typehints (#2429)
* Future Annotations

* Delete template_twitter_post.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed broken RTD

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-20 12:26:21 +08:00
Laith Bahodi
902e7eb4f0
Hide more private methods from the docs. (#2468)
* hide privs from text_mobject.py

* hide privs from tex_mobject.py

* hide privs from code_mobject.py

* hide privs from svg_mobject.py

* remove SVGPath and utils from __init__.py

* don't import string_to_numbers

* hide privs from geometry.py

* hide privs from matrix.py

* hide privs from numbers.py

* hide privs from three_dimensions.py

* forgot underscore under set_stroke_width_from_length

* there were more i missed

* unhidea method that was used in docs

* forgot other text2hash

* remove svg_path from docs
2022-01-19 05:33:46 -05:00
vmoros
2a6cda2f8b
Fixed a typo in the documentation for plugins (#2466)
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2022-01-16 20:14:51 -05:00
Laith Bahodi
149479f913
Refactored :class:~.BarChart and made it inherit from :class:~.Axes. (#2387)
* rebase

* fixed None bar_names

* fixed scale issues

* fixed to accept negative bar values

* fixed some bugs

* Added docs for parameters (DRAFT)

* clean up parameters

* more clean up

* clean up __init__

* replace add_x_labels with built-in functionality

* adjust default font_size for labels

* Update docs descriptions

* Add bar_width and adjust get_bar_labels

* Add bar_width and adjust get_bar_labels

* Add docs to class and methods

* remove unecessary imports

* remove getters

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Attempt to fix duplicated parameters section

* adjust BarChart example to include title

* switch order around

* change_bar_values

* back to get_bar_values

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add docs for _update_default_config and fix method

* remove print(dicts)

* allow negative_numbers to work with bar chart

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* allow negative numbers to work with change_bar_values

* add test_probability.py

* add control data

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* change example

* update examples again

* rewrite test

* rewrite other test

* remove comma after list in example

* improve wording in docs

* add parameter/docs for label_constructor

* change create_label_tex and update methods

* update docs

* use decimal number

* switch default to Tex

* update instances of create_label_tex in coordinate_systems.py

* hardcode for add_labels

* add TODO

* use label_constructor

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix indentation in docs

* Fix minor doc typo

Co-authored-by: Led Me Explain <ledmeexplain@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-16 09:05:50 -05:00
dependabot[bot]
d85549f58d
Bump pillow from 8.4.0 to 9.0.0 (#2464) 2022-01-13 04:43:43 +00:00
Laith Bahodi
00f0134027
Update Dependencies for Python3.10 (#2376)
* Update python dependency

* Update python version in the docs

* add python 3.10 to workflow

* use quotes for python version

* small mistake

* added cleo dependency

* added tomlkit

* using new installer for poetry

* updated path

* Update ci.yml

* changed path update

* added poetry to path, EVERYWHERE

* using pip now

* adding to path...again

* adding to path everywhere again

* fixed path, fingers crossed

* path only for macos

* bashrc?

* test path

* githbu path?

* github path, this time?

* updated grpcio; substituted * notation

* pre-commit update

* updated psutil

* importlib-metadata only for Python 3.7

Co-authored-by: Naveen M K <naveen521kk@gmail.com>

* remove pygments doubling

* added psutil-wheels

* removed psutil

* Update pyproject.toml

Co-authored-by: Marcin Serwin <marcin.serwin0@protonmail.com>

* ran poetry update

* Update pyproject.toml

Co-authored-by: Marcin Serwin <marcin.serwin0@protonmail.com>

* poetry upadated

* updated mypy version

Co-authored-by: Christopher Besch <christopher.besch@gmx.de>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
Co-authored-by: Marcin Serwin <marcin.serwin0@protonmail.com>
2022-01-11 16:17:55 +05:30
pre-commit-ci[bot]
8e3dec4ea2
[pre-commit.ci] pre-commit autoupdate (#2460)
updates:
- [github.com/pre-commit/mirrors-mypy: v0.930 → v0.931](https://github.com/pre-commit/mirrors-mypy/compare/v0.930...v0.931)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-11 09:35:10 +08:00
Mysaa
52fbd3238c
Modification of the .pot files cleaning system, and ran it on the existing sources. (#2448)
The Makefile rule for `make i18n` nows works the same way as the others
Regex rules have been made more strict, to avoid wrong cleaning as much as possible.
Now adding regex rules is simpler, or should be.
2022-01-10 10:04:40 +00:00
Darylgolden
d8dc0b462d
Cleanup simple_functions.py (#2437)
* Remove fdiv

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* actually remove fdiv

* Use lru cache and scipy's func

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* set maxsize

should be enough for how it's used

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove get_num_args

* Remove one instance of clip_in_place

* Readd clip_in_place, it has a use

* rm unnecessary line

* Properly clip color

* Revert "Properly clip color"

This reverts commit 0591c78334.

* remove clip in place

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* actually remove

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-09 21:16:19 +08:00
Laith Bahodi
5789be8160
Fix add_axes in :class:~.VectorScene. (#2444)
* fix bug

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-08 20:23:51 +01:00
Darylgolden
3b922a9db3
remove twitter template (#2439) 2022-01-08 10:05:39 +01:00
AnonymoZ
6a636ff04a
Fixed typo and improved example in building blocks tutorial (#2436)
* Typo plus a code redundancy

Sqaure → Square;  ln 231: self.add(square) [removed]

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-08 07:09:31 +08:00
Benjamin Hackl
1e496579f6
Prepare new release, `v0.14.0` (#2411)
* bump version number

* changelog generation, first pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changelog generation, second pass

* changelog generation, third pass

* update i18n

* removed reference to deleted module

* changelog generation, fourth pass

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-07 19:39:55 +01:00
Darylgolden
a781b303ed
Remove instructions for Docker on README (#2415) 2022-01-07 20:36:46 +08:00
BorisTheBrave
73dec4109c
Removed various return annotations that were stifling type inference (#2408)
* Remove various return annotations that were stifling type inference.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-06 13:27:50 +00:00
Darylgolden
4c48f4f03c
Remove strings.py (#2424)
* Remove strings.py

* remove import
2022-01-06 12:42:25 +00:00
Darylgolden
ccfea0ff4a
Made improvements to the :doc:configuration tutorial (#2414)
* Attempt to use CI to update translations

* try again

* runs on ubuntu latest

* Try to fix

* again

* try to use PR branch

* that didn't work

* will this work?

* Revert "will this work?"

This reverts commit 1e6543a77f.

* Try a different action

* fix attempt

* another attempt

* Revert "another attempt"

This reverts commit 8965000ac3.

* try again

* automatically generate list of all flags

* remove unrelated change

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* specify dep

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update tutorial

Move CLI stuff to the top since it's the most important, slight rewrite, some copyediting

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* slight rephrasing

* make underline long enough

* Revert "Merge branch 'main' into command-output"

This reverts commit e6a9d457d3, reversing
changes made to 3f0137a690.

* Revert "Revert "Merge branch 'main' into command-output""

This reverts commit c823c6eb8f.

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-06 14:31:22 +08:00
Matt Gleich
b4c5fa5556
docs: switch to mactex-no-gui from mactex (#2423)
Signed-off-by: Matt Gleich <git@mattglei.ch>
2022-01-05 09:04:05 +01:00
pre-commit-ci[bot]
7d8d6b5789
[pre-commit.ci] pre-commit autoupdate (#2419)
updates:
- [github.com/asottile/pyupgrade: v2.29.1 → v2.31.0](https://github.com/asottile/pyupgrade/compare/v2.29.1...v2.31.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-04 02:00:19 +00:00
BorisTheBrave
6d15ca5e74
Clarify the docs for MObject.animate, MObject.set and Variable. (#2407)
* Clarify the docs for MObject.animate, MObject.set and Variable.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Slight reword

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-01-03 21:48:59 +00:00
BorisTheBrave
318fb522a6
Trim empty curves from paths when calling align_points. (#2409)
* Trim empty curves from paths when calling align_points.

Resolves #1959

* Remove buggy optimization. Also update docs

* Restore an if statement, to be reviewed later

* Restructure FocusOn animation to work better with the align_points changes

* Copy changes into OpenGLVMobject

* Add trim_dummy test and some doc improvements

* Another doc change

* break a line in docstring

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-01-03 21:47:08 +00:00
Marcin Serwin
540dc70d2f
Update Text to use new ManimPango color setting (#2341)
* Find indexes in stripped text, not original text

* Add regression test

* Only run the test in linux environement

* Rewrite text2settings in Text to set text color via pango

* Make gradient in Text use pango coloring

* Bump manimpango to newest version

* Update test to use new frames_comparison

* Don't remove svg file on exception

* Bump manimpango

* Fix pre-commit errors

* Fix index bug

* Deprecate no longer used functions set_color_by_t2x

* Remove old commented out code

* Update poetry.lock
2022-01-03 18:46:04 +05:30
GameDungeon
c4217731e0
Added MyPy Support (#1972)
* MyPy Support

* MyPy Hook

* Removing MyPy Hook

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Delete __init__.pyi

* Delete color.pyi

* Update .mypy.ini

Co-authored-by: Christopher Besch <christopher.besch@gmx.de>

* changes

* quick fix

* MyPy Hook

* MyPy Hook

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christopher Besch <christopher.besch@gmx.de>
2022-01-03 19:41:07 +08:00
Laith Bahodi
7399c24b33
Add label_constructor parameter for :class:~NumberLine. (#2397)
* add parameter/docs for label_constructor

* change create_label_tex and update methods

* update docs

* use decimal number

* switch default to Tex

* update instances of create_label_tex in coordinate_systems.py

* hardcode for add_labels

* add TODO

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-01-01 11:16:49 +00:00
GameDungeon
f993ee02ea
Fixed Flake8 (#2410)
* Auto Type

* Revert "Auto Type"

This reverts commit a458905369.

* Fixed Flake
2022-01-01 07:59:28 +08:00
citrusmunch
d8ebcc6cad
Fix type annotations in three_dimensions.py (#2401)
* use objects as types instead of strings

wherever possible, use an object as the type instead of a string
avoid recursive types as they only have partial support

* reapply string -> object typings from merge and remove commas
2021-12-31 14:01:04 +00:00
citrusmunch
0e972ff251
remove unused opengl files (#2405)
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-31 07:55:07 +00:00
Naveen M K
9f8a2cfded
docs: add localized with Crowdin badge (#2352)
* docs: add localized with Crowdin badge

* centered crowdin logo + added target link

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-31 07:47:26 +00:00
Kian Kasad
86c9f69ad3
Add 'collection-basic' to list of required LaTeX packages on Linux (#2371)
This adds 'collection-basic' to the list of LaTeX packages on the Linux
installatioon documentation page:
docs/source/installation/linux.rst

Several packages provided by 'collection-basic' are required for Manim
to function, so the whole collection is specified rather than finding
the specific packages.
2021-12-31 01:29:01 +00:00
Leo Xu
b91c6fd50d
Made set_fill_by_value() support gradients on different axes. (#2383)
* Made set_fill_by_value() support gradients on different axes.

* Removed extra tests and made default for set_fill_by_value to the z-axis.

* Fixed test in test_threed.

* Changed the the set_fill_by_value() test in test_threed.py.

* Fixed set_fill_by_value() documentation

* removed duplicated entries in .gitignore

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-31 01:56:14 +01:00
Benjamin Hackl
7aa5aef640
Improved docstring of :class:~.ApplyMethod and removed propagated `__init__` docstring (#2403)
* moved docstring of ApplyMethod from __init__ to class

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-31 00:39:05 +00:00
Jihoon
b6f7acf0e1
Added `about_point keyword argument to :class:~.ApplyMatrix` (#2388)
* Added `about_point` for :class:`~ApplyMatrix`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add unit test

* Fix test

* remove unit_test because transform does not update points

* minor docstring formatting changes

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Laith Bahodi <laithbahodi@gmail.com>
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-31 00:14:52 +00:00
Vectozavr
7d184ab346
fixed ZeroDivisionError in manim/mobject/three_dimensions.py (#2392)
* fixed ZeroDivisionError in manim/mobject/three_dimensions.py (Cone & Cylinder)

* fixed ZeroDivisionError in manim/mobject/three_dimensions.py
2021-12-30 23:55:08 +00:00
Marcin Serwin
d135692625
Add documentation for paths functions (#2395)
* Separate path_along_circles to separate function

* Add typing to paths

* Add descriptions to paths

* Add typing to internal path functions

* Format examples with black

* Add missing parameter description in spiral_path

* Update number formatting in manim/utils/paths.py

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>

* Depreacte straight_path arguments

* ratate -> rotate

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-30 23:53:34 +00:00
citrusmunch
5861c31740
Fix type annotations in table.py (#2399)
* chnage stringly-typed annotations to objects

* `Table` methods return `"Table"` again

type recursion is only partially supported, so we have to stringify the
return type again to prevent errors
2021-12-30 23:30:42 +00:00
pre-commit-ci[bot]
d1118b8e0c
[pre-commit.ci] pre-commit autoupdate (#2398)
updates:
- [github.com/pre-commit/pre-commit-hooks: v4.0.1 → v4.1.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.0.1...v4.1.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-29 09:58:31 +08:00
Steven nguyen
be6c35f8a6
Correct comments (#2385)
I'm just starting out but it seems like only the square is being shown

Also random space added
2021-12-22 23:11:47 +00:00
netwizard22
29f0dbfbf0
fixed small typo (#2391) 2021-12-22 23:05:31 +00:00
Laith Bahodi
d66d2b646e
Removed deprecations up to v0.13.0 (#2390)
* Remove coordinate_systems.py deprecs

* Remove frame.py deprecs

* Remove opengl_mobject.py deprecs

* Remove growing.py deprec

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove from __all__

* undeeded black import too

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-22 17:57:19 -05:00
Viicos
c69f6eb3e3
Fixed phi updater in :meth:.ThreeDScene.begin_3dillusion_camera_rotation (#2362)
* Fixed phi updater in begin_3dillusion_camera_rotation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/scene/three_d_scene.py

My bad thought the `Optional` type hint should be used in this case (i.e. the user does not necessarily have to pass in the `rate` argument).

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/scene/three_d_scene.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/scene/three_d_scene.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-20 09:06:50 +00:00
Gergely Bencsik
e61d22fdfe
Improved DashedVMobject (#2372)
* Added even_lengths option to DashedVMobject and updated example

* Added dash offset parameter to DashedVMobject

* Stupid bugfix for np.append()

* tried to update DashedVMobject control data

* modified geomtery test to use new feature and updated control data

* Update manim/mobject/types/vectorized_mobject.py

doc string improvement

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/mobject/types/vectorized_mobject.py

Small restructure around dash-overflow handling

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* i don't know what im gitting but something with vmobjects

* renamed even_lengths to equal_lengths

* fixed equal_lengths renaming in Example

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-19 14:10:10 +01:00
Kiran-Raj-Dev
edccb3f627
Fixed type hint for an argument of :class:~.MoveAlongPath (#2377)
* Update movement.py

* Update manim/animation/movement.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-16 23:42:03 +01:00
Jan-Hendrik Müller
c530f39a76
Added note in Internationalization (#2368)
* added important note

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docs/source/contributing/internationalization.rst

Co-authored-by: Christopher Besch <christopher.besch@gmx.de>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docs/source/contributing/internationalization.rst

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christopher Besch <christopher.besch@gmx.de>
2021-12-15 10:33:05 +01:00
pre-commit-ci[bot]
249b1dcab0
[pre-commit.ci] pre-commit autoupdate (#2365)
updates:
- [github.com/psf/black: 21.11b1 → 21.12b0](https://github.com/psf/black/compare/21.11b1...21.12b0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-08 11:00:07 +08:00
Benjamin Hackl
ef6f219d2f
Prepared bugfix release `v0.13.1` (#2364)
* bump version number, generate changelog

* include bugfix release PR in changelog

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-05 00:20:45 +01:00
Benjamin Hackl
7d9b6262f4
wrap reversed in list before passing to Click (#2363) 2021-12-05 00:03:01 +01:00
Benjamin Hackl
537ecc9678
Prepare new release: `v0.13.0` (#2353)
* bump version number

* something in our changelog script broke?

* generated changelog, first pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* exclude Crowdin updates from changelog

* changelog generation, second pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changelog generation, third pass

* generated changelog, fourth pass

* changelog generation, fifth pass

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-04 14:48:25 +01:00
Benjamin Hackl
2949710d5d
Added basic support for adding subcaptions via :meth:.Scene.add_subcaption (#2314)
* added new depependency for subcaption parsing library

* added implementation for subcaptions

* added test for subcaptions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix typo

* added comment to explain offset

* added remark about start time of subcaption

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* clarify documentation entry

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-04 13:29:31 +00:00
Laith Bahodi
a4c1c4f15a
Port over docs and typings from mobject.py/vectorized_mobject to their OpenGL counterparts. (#2354)
* remove event-handling from opengl_mobject.py

* bring over docs for many functions

* add duplicate method

* port over def mobject.become

* add misc docs and docs for add/remove/add_to_back

* add __repr__ for opengl mobs

* rename instances of Mobject->OpenGLMobject

* expand functionality for OpenGLVGroup

* add override animations + docs for set default

* add typings for openglvmob

* port docs and add proportion_from_point

* remove override_animation stuff from opengl_mobject.py

* make proportion_from_point work

* add remainder of docs

* add docs for somewhat-duplicated classes

* replace VMob with OpenGLVmob

* run black

* remove unecessary imports

* minor cleanup

* run black and isort

* make add_background_rectangle consistent between cairo/opengl

* compatibility layer does not exist in opengl_mobs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-04 13:08:33 +00:00
icedcoffeeee
8194078657
Implemented :meth:.CoordinateSystem.plot_antiderivative_graph (#2267)
* implement antiderivative

* docs

* tests

* typo

* more documentation

* Revert "more documentation"

This reverts commit 327e4adca1.

* more documentation

* optimized antideriv function

* added parameters

* tests

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-04 10:52:55 +01:00
John Ingles
f890d5ac42
fix: Resolves ValueError when calling "manim cfg write -l user" (#2359)
Percent signs added to parser needed to be re-escaped before writing
back to the parser.
2021-12-03 23:06:22 +01:00
Ricky
34f01346b8
Mention installation of manim sideview extension (#2350)
* Mention manim sideview extension 

updates:
    - added a brief notice for installing manim sideview

* segregate mention into a different section

* added a new section called Editors
* moved the mention into the section

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* change repetition of extension to pronoun

* word change

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update docs/source/installation.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update docs/source/installation.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-12-03 20:59:44 +00:00
Benjamin Hackl
044dcad53f
Made frames_comparsion testing utility a proper module of the library (#2346)
* make frame_comparison a part of the library

* update frames_comparison imports; move control data

* change import in documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* properly split up boolean_ops tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added __init__ to utils.testing

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-03 21:18:18 +01:00
Alex Lembcke
177c31027f
Fixed :class:~.ThreeDAxes axis shift bug. (#2276)
* Fixed axes shift problem and added test

* Update manim/mobject/coordinate_systems.py

Agreed.

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>

* Update manim/mobject/coordinate_systems.py

Agreed

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>

* Adjust for LogBase axes and added tests for LogBase

* fix LogBase issues with ThreeDAxes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* nitpicky unneeded parameter

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>
Co-authored-by: Laith Bahodi <laithbahodi@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2021-12-02 19:08:59 -05:00
Benjamin Hackl
dfac7a7b29
Moved `manim_directive.py to manim.utils.docbuild` (#2347)
* moved manim_directive to manim.utils

* fix dot not defined

* missed a thing for the import

* f-strings apparently display with single quotes?
2021-12-02 17:09:02 +00:00
Marcin Serwin
586db08daa
quality argument improvements (#2325)
* Refactor quality argument definition

* Refactor quality argument parsing

* Handle quality in config file
2021-12-02 16:29:47 +00:00
zhujisheng
2a0d1009f6
It should be multiplication (#2335) 2021-12-02 13:55:29 +00:00
Marcin Serwin
0757579460
Add documentation for growing animations (#2340)
* Make point_color a positional argument in all growing animations

* Replace arc path in SpinInFromNothing with spiral path

* Add docstring to growing animations

* Fix errors reported by sphinx

* Update tests

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-12-02 13:48:38 +00:00
Benjamin Hackl
f40ba6a9ce
Replaced current tree layout algorithm with SageMath's for improved layout of large trees. (#2343)
* replace our own tree layout implementation with SageMath's

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-02 13:42:28 +00:00
Laith Bahodi
eeba6c042c
changes (#2351) 2021-12-02 14:34:59 +01:00
Benjamin Hackl
e979915d3f
resize svgs: fit content to canvas (#2344)
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2021-12-01 07:28:20 +00:00
Mysaa
571a087827
Updated translation source files (#2348) 2021-12-01 09:08:59 +08:00
Darylgolden
7191e1c24e
Remove :meth:~.CoordinateSystem.get_graph usage from :class:~.Axes example. (#2342) 2021-11-30 17:38:38 -05:00
ask09ok
ddb0395b79
Edited and added new sections to the quickstart tutorial (#2216)
* docs: edits and new sections for quickstart tutorial

* docs: fixed formatting for the magic command link, small misc formatting fixes

* docs: fixing formatting.

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/tutorials/quickstart.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* docs: Adding suggested review changes, additional sections explaining .animate

* docs: eliminating excess asterisks

* docs: fixing double backspace formatting for inline elements

* docs: fixing one formatting error

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-11-30 13:47:58 +08:00
icedcoffeeee
a8f52809f7
Added documentation for discontinuous functions (#2279)
* fix typing

* added parameter documentation

* added example

* typo

* rewording

* Merge remote-tracking branch 'upstream/main' into discontinuous-graph

* tweak variable names
2021-11-29 22:29:28 +01:00
Marcin Serwin
78575174e4
Provide alpha multiplied RGBA values to cairo (#2328)
* Provide pre-multiplied alpha RGBA values to cairo

* Update color test

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-11-29 11:34:42 +00:00
citrusmunch
daf6fb4c8e
Correct type hint for labels parameter of :class:~.Graph (#2327)
change type hint from `bool` to `Union[bool, dict]`

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2021-11-28 20:55:03 +00:00
vmiezys
b126a724c8
mobject.py: interpolate() example: dotL and dotR names swapped (#2319)
Previously dotL appeared on the right and dotR appeared on the left. I have swapped the names so as dotL appears on the left and dotR -- on the right.

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-11-28 12:04:38 +08:00
Darylgolden
be8e16c6bc
Remove unintended line break (#2329)
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2021-11-27 19:18:34 +00:00
mostlyaman
d33650a958
Fixed mistakes in building_blocks (#2230)
* Fixed mistakes in building_blocks

* applied suggestion

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-11-27 14:55:32 +00:00
Laith Bahodi
45e8b10fd9
Remove deprecations up to v0.12.0 (#2331)
* remove deprecs from threedcamera

* remove deprecs from changing.py

* remove deprecs from mobject.py

* remove some deprecs from opengl_mobject.py

* remove sample_space files

* remove deprecs from three_d_scene.py

* remove deprecs from geometry.py

* remove deprecs from opengl_geometry.py

* remove deprecs from vmob.py

* remove deprecs from opengl_vmob.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove all traces of deleted Scenes

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-27 19:40:24 +08:00
Filip
911d42b364
Add missing tests for AnimationGroup 'remover' field (#2318)
Co-authored-by: Filip Wolwowicz <fwolwowicz@apptension.com>
2021-11-23 22:34:43 +00:00
Mysaa
95d30d2d4f
Finalized translation process and documentation (#2313)
* Changing the folder name for translations.

* Updated original translation files.

* Update Crowdin configuration file

* Added a first draft of the new internationalization file.

* Revert "Update Crowdin configuration file"

This reverts commit aa996ea032.

* Revert "Updated original translation files."

This reverts commit d8a940ad98.

* Revert "Changing the folder name for translations."

This reverts commit 1065c18d57.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Rewrite guidelines

Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-24 05:07:18 +08:00
icedcoffeeee
746fd65546
rename instances of set_submobjects (#2312) 2021-11-23 08:21:47 +00:00
pre-commit-ci[bot]
845d716e7f
[pre-commit.ci] pre-commit autoupdate (#2315)
updates:
- [github.com/asottile/pyupgrade: v2.29.0 → v2.29.1](https://github.com/asottile/pyupgrade/compare/v2.29.0...v2.29.1)
- [github.com/psf/black: 21.10b0 → 21.11b1](https://github.com/psf/black/compare/21.10b0...21.11b1)
- [github.com/asottile/blacken-docs: v1.11.0 → v1.12.0](https://github.com/asottile/blacken-docs/compare/v1.11.0...v1.12.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-23 09:19:01 +01:00
Viicos
6022201c9f
Fixed Flash animation position (#2292)
* Fixed DecimalNumber when using `set_value`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed `Flash` animation position

* Revert "Fixed DecimalNumber when using `set_value`"

This reverts commit e0bcd4126f.

* Added check to allow mobjects to be passed in

* Removed unused auto-import from VScode

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-20 16:05:11 +00:00
Lucas Ricci
18a0ef504b
Clarified that Manim does not support Python 3.10 yet in the documentation (#2310)
* warn that manim doesn't support python 3.10 yet added

* warning that manim does not support python 3.10 yet, was added

* changed the warning to a separate paragraph and rephrased it

* a few typo corrections, I also changed the other files that were was saying that manim supports python 3.7+, when actually is just 3.7-3.9

* Changed normal hyphens (-) to en dashes (–), and remove a space before and after a dash.
2021-11-20 15:56:19 +08:00
Lucas Ricci
2d1d70fa8e
creation of a test for add_fixed_in_frame_mobjects (#2301)
* creation of a test for add_fixed_in_frame_mobjects

* reseting the base image and changing some things in the test

* Refactoring in the add_fixed_in_frame_mobjects(), the github tests should pass now.

* fixing issue with text

Co-authored-by: Lucas Ricci <lucas@pop-os.localdomain>
Co-authored-by: Hugues Devimeux <36239975+huguesdevimeux@users.noreply.github.com>
2021-11-18 19:30:10 +00:00
Laith Bahodi
7d47e830b5
Made index.html more concise and rearranged order of tutorials (#2294)
* trim index and rearrange tutorial section

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-11-18 12:18:29 +00:00
citrusmunch
fd3344f100
fix: correct type of discontinuities parameter (#2305)
* fix: correct type of `discontinuities` parameter

`discontinuities` was typed as a boolean but should really be
typed as an optional iterable of floats

* fix: include `Iterable` import
2021-11-18 13:16:30 +01:00
Naveen M K
0ccef21103
pyproject.toml: add contact email (#2300)
We got a new custom domain email so use them
2021-11-17 06:13:15 +08:00
pre-commit-ci[bot]
03c56b8e0d
[pre-commit.ci] pre-commit autoupdate (#2299)
updates:
- [github.com/pycqa/isort: 5.10.0 → 5.10.1](https://github.com/pycqa/isort/compare/5.10.0...5.10.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-11-16 08:54:46 +00:00
ManimBot
c138eb72a3
New Crowdin updates (#2268)
* New translations building_blocks.pot (Swedish)

* New translations quickstart.pot (Swedish)

* New translations contributing.pot (Swedish)

* New translations index.pot (French)

* New translations examples.pot (Swedish)

* New translations installation.pot (French)

* New translations index.pot (Swedish)

* New translations index.pot (Portuguese, Brazilian)

* New translations index.pot (Hindi)

* New translations installation.pot (Swedish)

* New translations plugins.pot (Swedish)

* New translations reference.pot (Swedish)

* New translations reporting_bugs.pot (Swedish)

* New translations tutorials.pot (Swedish)

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-11-15 22:28:09 +00:00
Laith Bahodi
e389ec8b58
Fixed wrong cell coordinates with :meth:~.Table.get_cell after scaling. (#2262)
* fix wrong size when scaled

* add comment
2021-11-14 09:19:28 -05:00
Viicos
17ef4a4361
Fixed :class:~.DecimalNumber color when number of displayed digits changes (#2280)
* Fixed DecimalNumber when using `set_value`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-11-13 22:48:41 +00:00
Christopher Besch
24fc31633b
Optimized Tests (#2274)
* optimized some tests

* removed out.txt
2021-11-12 08:50:24 +01:00
Darylgolden
51a84032b5
Replace link to old notebook (#2287) 2021-11-12 06:48:08 +08:00
pre-commit-ci[bot]
c81a0cfe68
[pre-commit.ci] pre-commit autoupdate (#2278)
updates:
- [github.com/pycqa/isort: 5.9.3 → 5.10.0](https://github.com/pycqa/isort/compare/5.9.3...5.10.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-09 21:02:20 +08:00
Lucas Ricci
74f2e0b7d7
Added test for :class:~.Broadcast (#2272)
* fix: issue 1811, add a test for class Broadcast

* little update in test_specialized.py file

* update

* update trying to fix the test failures

* removing a spare file
2021-11-08 09:37:45 +08:00
ManimBot
82729bdd11
New Crowdin updates (#2264)
* New translations building_blocks.pot (Swedish)

* New translations quickstart.pot (Swedish)

* New translations contributing.pot (Swedish)

* New translations index.pot (French)

* New translations examples.pot (Swedish)

* New translations installation.pot (French)

* New translations index.pot (Swedish)

* New translations index.pot (Portuguese, Brazilian)

* New translations index.pot (Hindi)

* New translations installation.pot (Swedish)

* New translations plugins.pot (Swedish)

* New translations reference.pot (Swedish)

* New translations reporting_bugs.pot (Swedish)

* New translations tutorials.pot (Swedish)

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-11-06 11:02:11 +00:00
Benjamin Hackl
630abb1d13
Prepared new release `v0.12.0` (#2247)
* bump version number

* generated changelog, first pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changelog, second pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* regenerate changelog, third pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* regenerate changelog, fourth pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* minor improvements

* regenerated changelog, fifth pass

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-02 11:55:43 +01:00
icedcoffeeee
1df6256cb9
Implemented :meth:.CoordinateSystem.input_to_graph_coords and fixed :meth:.CoordinateSystem.angle_of_tangent (#2025)
* fix typo #2023

* Fix #1701

* add i2gc method

* updated angle_of_tangent

* updated documentation example

* Add example for input_to_graph_coords

* turn example into doctest

* change type of code-block for blacken-docs

Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-11-02 10:53:08 +01:00
Ryan McCauley
632a11f4d2
OpenGL: changed `submobjects` to be a property (#1926)
* Add property for submobjects

* Use property for opengl submobjects

* Update manim/mobject/opengl_mobject.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-11-02 10:34:54 +01:00
heitor
25b3126626
Allow setting the input file via a config file (#2151)
* allow setting the input file via a config file

* fix: removed partial_movie_files

* Removed Extraneous Dots

* added documentation

* added link to docu

* added test

* removed test.py

* reverted poetry.lock changes

Co-authored-by: christopher-besch <christopher.besch@gmx.de>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-11-02 00:19:01 +01:00
Jan-Hendrik Müller
e24b71e1f1
Removed deprecated method `get_center_point and parameters azimuth_label_scale, number_scale_value, label_scale, scale_factor, size, x_min, x_max, delta_x, y_min, y_max, delta_y` (#2245)
* depreciate until 0.11

* fix in text

* Update manim/mobject/number_line.py

* Update manim/mobject/svg/brace.py

* Update manim/mobject/coordinate_systems.py

* Update manim/mobject/svg/code_mobject.py

* Update manim/mobject/svg/code_mobject.py

* Update manim/mobject/vector_field.py

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>

* azimuth_label_font_size new place

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* font_size right place

* added font size

* number_scale_value in example fix

* adjust font size properly

* adjust move things around

* fix the docs

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: hydrobeam <laithbahodi@gmail.com>
2021-11-01 18:39:50 +00:00
pre-commit-ci[bot]
53bd6eb140
[pre-commit.ci] pre-commit autoupdate (#2249)
updates:
- [github.com/psf/black: 21.9b0 → 21.10b0](https://github.com/psf/black/compare/21.9b0...21.10b0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-01 18:28:21 +00:00
Benjamin Hackl
ba00602daa
Fixed :meth:.CoordinateSystem.get_area when using few plot points and a boundary graph (#2244)
* make sure left and right endpoint of area are vertically above a, b

* fix border when bounded_graph is passed

* added test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update get_area test, also affected by changes

* fix test data

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-01 19:26:46 +01:00
Benjamin Hackl
2f9e7174f1
Fixed :class:.Graph stopping to update after animating additions/deletions of vertices or edges (#2232)
* explicitly specify group of custom animation group to be the graph

* added test

* also test removing vertex

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* suspend and resume updaters of the mobject of an animationgroup as well

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ryan McCauley <32387857+ryanmccauley211@users.noreply.github.com>
2021-11-01 17:54:33 +00:00
Laith Bahodi
d7e7d82263
Show example for :meth:~.Vector.coordinate_label and add more customization for :class:~.Matrix. (#2138)
* fix docs

* fix doc

* apply fixes

* improve typing

* weird change

* improve typing + docs

* forgot three params

* fix TYPE_CHECKING return val

* label -> color

* apply suggestions from code review

* attempt at fixing duplicated parameters

* attempt to fix duplicated paramters pt.2

* attempt to fix duplicated paramters pt.3 final

Co-authored-by: icedcoffeeee <83535735+icedcoffeeee@users.noreply.github.com>
2021-11-01 13:05:01 -04:00
Laith Bahodi
7fc681d313
Change the color of :class:~.NumberLine to WHITE from LIGHT_GREY. (#2139)
* remove explicit colours from NumberLine

* rewrite tests
2021-11-01 12:30:10 -04:00
pre-commit-ci[bot]
e5e9533325
[pre-commit.ci] pre-commit autoupdate (#2149)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/asottile/pyupgrade: v2.28.0 → v2.29.0](https://github.com/asottile/pyupgrade/compare/v2.28.0...v2.29.0)
- [github.com/asottile/yesqa: v1.2.3 → v1.3.0](https://github.com/asottile/yesqa/compare/v1.2.3...v1.3.0)
- [github.com/PyCQA/flake8: 3.9.2 → 4.0.1](https://github.com/PyCQA/flake8/compare/3.9.2...4.0.1)

* update flake8-comprehensions

* try to update pre-commit-config

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-11-01 09:37:35 +01:00
Nick
3a6329dae1
Added keyword arguments `match_center, match_width etc. to :meth:.Mobject.become` (#2128)
* Added match_center parameter to :meth:`mobject.become` (#2048)

* Added match_height and match_width parameters to :meth:`mobject.become` (#2048)

* Ensured match_center works properly and just moved it after height/width

* Added match_depth and params to docstring

* Reorder depth and center

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Added stretch parameter to :meth:`mobject.become` (#2048)

* added a test for match_width / match_height / stretch

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-01 07:50:53 +00:00
Gustav-Rixon
59d4ea9888
Implemented :meth:.MovingCamera.auto_zoom for automatically zooming onto specified mobjects (#2162)
* feature request #1056

Added auto_zoom to moving_camera.
Fixed is_in_frame.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed indentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed faulty comment

Keeps failing automated test so i removed it.

* Update manim/camera/moving_camera.py

padding vs. margin :-)

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/camera/moving_camera.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/camera/moving_camera.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/camera/moving_camera.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update manim/camera/moving_camera.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Tidied the code

snake_casing >  camelCasing :-)
or > |
and > &

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/camera/moving_camera.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update tests/test_auto_zoom.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/camera/moving_camera.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* fixed snake_casing and removed unused imports

* Update manim/camera/moving_camera.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* remove above comment

* Update tests/test_auto_zoom.py

* Update tests/test_auto_zoom.py

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-11-01 08:48:43 +01:00
Christopher Besch
3a8b8625c7
Added `skip_animations argument to :meth:.Scene.next_section` (#2236)
* fix: removed partial_movie_files

* added documentation

* tests broken; nothing changed?

* tests still fail

* now respecting original skip animations flag

* added basic docs

* added forgotten test

* added skip animations test

* tests broken; nothing changed?

* tests still fail

* now respecting original skip animations flag

* added basic docs

* added forgotten test

* added skip animations test

* fixed some issues

Co-authored-by: Jan-Hendrik Müller <44469195+kolibril13@users.noreply.github.com>
2021-11-01 08:44:41 +01:00
Ryan McCauley
2d98af0b22
Fixed opengl family duplicates issue and add tests (#2142)
* Fix family duplicates issue for opengl

* add opengl family tests

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-31 15:23:26 +01:00
icedcoffeeee
a6d8886b91
Added :meth.PolarPlane.get_polar_graph (#2157)
* added polar graph

* documentation

* add tests

* update docs example

* port polar methods to CoordSys
2021-10-31 11:37:03 +01:00
icedcoffeeee
c8746369e6
Renamed get_graph (and the like) to plot (#2187)
* rename to plot and deprecate old methods

* tests

* documentation

* accidental change

* updated deprecation period

* deprecate method

* updated docs examples

* update docs example

* more renaming

* more replacements

Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-31 09:55:34 +00:00
Naveen M K
221906a3a4
Add a new example about Boolean Operation (#2228)
* docs: add a new example about bool ops

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jan-Hendrik Müller <44469195+kolibril13@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-31 10:49:35 +01:00
NotWearingPants
50bf1b4394
Fix wasteful recursion in Mobject.get_merged_array (#2243) 2021-10-31 09:38:22 +08:00
Viicos
85e733739e
Fixed order in function cartesian_to_spherical (#2168)
* Fixed spherical coords order in cartesian_to_spherical

* Fixed space_ops tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Oliver <44864613+PhotonSpheres@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-30 21:15:36 +00:00
GameDungeon
40f200209b
Type all of the colors (#2136)
* Color Types

* Missed some

* Update color.py

oops

* oops 2
2021-10-30 20:59:57 +00:00
Arcstur
28c61c01ab
Update using_text.rst (#2239)
Removed 'r' from the regular string.
2021-10-30 08:09:08 +08:00
Laith Bahodi
5397d38e10
Implement logarithmic scaling for :class:~.NumberLine/:class:~.Axes (#1812)
* scaling, add differnt scalings, adjust to use x_range, adjust line movement to make it applicable

* kind of ugly solution to make coords_to_point do less pointless calculations

* refactoring and add_labels

* numberplane fix

* make functions scaling-compatible

* decimal_number scaling for the units

* docs for axes

* minor docs changes

* Pre-PR cleaning

* missing bug

* typo

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove redundant add_labels

* move import out of TYPE_CHECKING

* add scale to init.py

* missing underscores

* fix broken test

* fix numberplane line generation for log

* add scale.py to the docs and replace dict outout for custom_labels with a list

* add explanation and default for exclude_origin_tick

* custom labels using .add_coordinates()

* add test, valueerror warning and docs

* add .npz file and adjust docs

* add numberplane log test

* quick docs for ParametricFunction

* add extra condition because None becomes LinearBase too

* flip x and y

* add exclude_origin_tick business for z_axis

* adjust threed test

* improve docs for number line.

* add more docs

* more docs for number line

* pre-merge docs improvements

* fix return types

* attempt to fix weird formatting

* fix questionable doc choice

* l1 != li

* correct the index for 6

* correct the index for 6

Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-29 13:05:31 -04:00
Jan-Hendrik Müller
739d3d17e2
Deprecate :class:~.FullScreenFadeRectangle and :class:~.PictureInPictureFrame. (#2065)
* depreciate unused stuff

* added replacement

* small fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update verison number

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-10-28 09:11:37 +02:00
Ethan Rooke
0bcc380a23
Added tests for resolution flag (#2197)
* Added tests for resolution flag

Added test cases to make sure the resolution flag does what its supposed
to. It queues up a handful of common 16:9 and a couple 4:3 resolutions
and tries to render all of them with all acceptable separators. Once
they render it checks to make sure that the rendered resolution matches
the requested resolution.

* Speed up resolution tests

Simplified the scene rendered for the resolution flag tests to speed up
the tests. Switched over to `NoAnimation` scene and decreased the length
of the `NoAnimation` scene from 1 to 0.1.

* Convert paths to strings in test_resolution

For older versions of python on windows it seems having a `Path` object
in the list of command parameters causes issues. This patch explicitly
converts the path to a string for this case.

* Convert paths to string in  `get_video_metadata`

For older versions of python on windows it seems having a `Path` object
in the list of command parameters causes issues. This patch explicitly
converts the path to a string inside the `get_video_metadata` method.

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-27 07:41:55 +00:00
Ryan McCauley
a2fac4b9f0
Make projection shaders compatible with streamlines (#2160)
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2021-10-26 23:58:31 +00:00
Ryan McCauley
9bf45c7985
Fixed opengl set_color with gradients (#2140)
* Fix opengl color gradients

* Update manim/mobject/opengl_mobject.py

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-26 15:49:36 +00:00
Benjamin Hackl
81fa93de8c
Cleanup: ensure `Scene.renderer.time` returns something that makes sense (#2220)
* let CairoRenderer.time respect skipped animations

* add simple implementation of OpenGLRenderer.time

* remove handle_play_like_call, slightly refactor OpenGLRenderer.play

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* cairo: add scene duration when animations are skipped

* added test for Scene.renderer.time

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-10-25 09:34:38 +00:00
Christopher Besch
44634bde7a
Updated Classifiers in pyproject.toml (#2222) 2021-10-24 12:12:01 +05:30
Eugene Chung
ed5d6fd2d3
Moved comments in :class:~.VMobject to documentation (#2184)
* moved documentation of manim/mobject/types/vectorized_mobject

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update vectorized_mobject.py

fixed changes as requested

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/mobject/types/vectorized_mobject.py

commit suggestion

Co-authored-by: Darylgolden <darylgolden@gmail.com>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-23 13:03:42 +08:00
Benjamin Hackl
80a988b43d
Fixed animations not respecting the specified rate function (#2211)
* let existing animations overriding interpolate_mobject respect rate function

* added note about rate function to Animation

* added missing newline
2021-10-22 12:35:38 +00:00
Ryan McCauley
7faead9c22
Improved last frame output handling for the OpenGL renderer (#2205)
* Improve last frame opengl handling

* Update dry_run to use property in getter

* Add cli tests

* Remove comment

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2021-10-22 11:56:31 +00:00
Christopher Besch
8b9e802706
Removed Extraneous Dots in :class:.Section Documentation (#2217)
* fix: removed partial_movie_files

* Removed Extraneous Dots

* added documentation

* added link to docu
2021-10-22 10:59:57 +00:00
icedcoffeeee
239a7b3985
Implemented :meth:.Line3D.parallel_to and :meth:.Line3D.perpendicular_to (#2196)
* implemented parallel_to and perp_to class methods

* documentation

* tests

* renamed perp_to to perpendicular_to

* simplified calculations
2021-10-22 10:44:49 +00:00
Viicos
61cddb224f
Fixed typo on get_z_axis_label docstring (#2215)
* Fixed typo on `get_z_axis_label` docstring

* Update manim/mobject/coordinate_systems.py

better this way ;)

Co-authored-by: Darylgolden <darylgolden@gmail.com>

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-20 22:49:54 +00:00
Christopher Besch
c72245e19a
fix: removed partial_movie_files (#2213) 2021-10-20 17:27:12 +02:00
Christopher Besch
7d76cd459d
Fixed Documentation for Sections (#2212)
* feat: added section class

* fix: fixed imports in scene.py

* feat: added section class

* fix: fixed imports in scene.py

* feat: scene file writer update; needs testing

* broken test

* fixed wrong partial movie files

* feat: added animation concatenation for sections

* fix: sections can contains None as partial movie file

* fix: correct section output file names

* fix: removed media folder

* feat: section output able to extract type

* feat: added guarantee_existence tests

* fix: touch file on windows

* fix: touch file on windows

* feat: automatically create control data with --set_test flag

* feat: added tests for sections output folder

* feat: added flag to enable sections

* feat: testing section metadata file

* feat: finished metadata tests; changed enums to be extendable

* fix: removed testing files

* fix: fixed section types

* fix: fixed outdated control data

* fix: fixed simple_scenes.py

* fix: fixed section type documentation example

* feat: added section video metadata to API

* fix: isort should stop destroying the import order for commands.py

* fix: fixed types of section metadata output

* fix: better comments

* ?

* feat: added elaborate test; switched name and type in next_section call

* feat: changed testing terminology: "config" got renamed to "movie metadata"

* fix: removed unicode lambda :<

* fix: fixed control data

* fix: removed test setter

* feat: added tutorial in the documentation

* fix: updated test control data

* fix: fixed double '.' in video tests

* fix: fixed some documentation

* fix: fixed missign JSON file in docs

* fix: implemented proposed changes

* fix: better --save_sections help

* fix: better docstrings

* fix: fixed last docstring...hopefully :>

* feat: custom section output supported

* fix: removed resolved todos

* fix: added debug for movie concatenation back

* fix: removed implemented TODO

* fix: removed doubled log

* fix: changed debug to info log

* fix: fixed log test data

* fix: fixed documentation --save_sections
2021-10-20 11:35:09 +02:00
Christopher Besch
3ce4c133dd
Introduced API for scene sections via :meth:.Scene.next_section (#2152)
* feat: added section class

* fix: fixed imports in scene.py

* feat: added section class

* fix: fixed imports in scene.py

* feat: scene file writer update; needs testing

* broken test

* fixed wrong partial movie files

* feat: added animation concatenation for sections

* fix: sections can contains None as partial movie file

* fix: correct section output file names

* fix: removed media folder

* feat: section output able to extract type

* feat: added guarantee_existence tests

* fix: touch file on windows

* fix: touch file on windows

* feat: automatically create control data with --set_test flag

* feat: added tests for sections output folder

* feat: added flag to enable sections

* feat: testing section metadata file

* feat: finished metadata tests; changed enums to be extendable

* fix: removed testing files

* fix: fixed section types

* fix: fixed outdated control data

* fix: fixed simple_scenes.py

* fix: fixed section type documentation example

* feat: added section video metadata to API

* fix: isort should stop destroying the import order for commands.py

* fix: fixed types of section metadata output

* fix: better comments

* ?

* feat: added elaborate test; switched name and type in next_section call

* feat: changed testing terminology: "config" got renamed to "movie metadata"

* fix: removed unicode lambda :<

* fix: fixed control data

* fix: removed test setter

* feat: added tutorial in the documentation

* fix: updated test control data

* fix: fixed double '.' in video tests

* fix: fixed some documentation

* fix: fixed missign JSON file in docs

* fix: implemented proposed changes

* fix: better --save_sections help

* fix: better docstrings

* fix: fixed last docstring...hopefully :>

* feat: custom section output supported

* fix: removed resolved todos

* fix: added debug for movie concatenation back

* fix: removed implemented TODO

* fix: removed doubled log

* fix: changed debug to info log

* fix: fixed log test data
2021-10-20 10:36:24 +02:00
kieran-pringle
e3f7026d0e
Improve TeX error reporting (#2161)
This commit:
  * Fixes a bug where if a TeX compilation error occurs on a line not in
  the TeX source -- which can happen because of LaTeX post-processing --
  then an `IndexOutOfBoundsError` would be raised as the logging was
  formatted.
  * Adds a test for the above situation
  * Fixes a situation where too many unrelated lines would be shown
  * Refactors the involved code
2021-10-19 10:11:06 +00:00
icedcoffeeee
ab9a21bb71
fix arrow tip (#2148) 2021-10-19 10:08:43 +00:00
Martmists
4537b5048c
Addressed some maintenance TODOs (#2200)
* Address some TODOs

Signed-off-by: Martmists <martmists@gmail.com>

* Fix misunderstood todo

Signed-off-by: Martmists <martmists@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Make requested changes

Signed-off-by: Martmists <martmists@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-10-19 09:53:40 +00:00
David Yang
911ea4bd09
Type hinting images.py (#2194)
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-18 07:49:17 +08:00
Peeter Joot
0205ab1f87
Minor spell-check in docstrings (#2201)
* s/aniamtion/animation/

* revert .pot changes.

Co-authored-by: Peeter Joot <peeter.joot@lzlabs.com>
2021-10-18 07:06:26 +08:00
Darylgolden
1cd24892e5
Added Crowdin configuration and changed source files to `.pot` format (#2165)
* Create crowdin.yml

* try fix yml

* Move files

* Revert "Move files"

This reverts commit 8d53826ae0.

* Update crowdin.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Changed to locale with underscore

* Changing folder for .pot files. And removing the useless sphinx-intl part.

* Updated .gitignore and crowdin configuration to follow the directory change.

* Renaming po to pot EFFECTIVELY

* Changed the file with the new (simpler) generation. Also added better display for `make i18n`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Change to two letters code

* Correct extension

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Mysaa <samy.avrillon@ens-lyon.fr>
Co-authored-by: Mysaa <mysaa@myssian.home>
2021-10-15 11:51:09 +02:00
David Yang
acd4d10600
Type hinting ipython_magic.py (#2171)
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-14 07:26:56 +00:00
Виктор Виктор
470491e073
Removes add-trailing-comma hook (#2190) (#2191) 2021-10-14 07:24:38 +00:00
Josiah Winslow
f91428e580
Fixed :func:.svg_path.string_to_numbers sometimes returning strings (#2192)
* Fix string_to_numbers sometimes returning strings

* Added test for string_to_numbers fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-10-14 09:22:33 +02:00
Ryan McCauley
8c28a10674
Add flag to disable rendering for mobjects (#2172) 2021-10-13 17:33:02 +00:00
Dhananjay Goratela
fd6b1d8940
Made regex more readable (#2164)
* Make regex more readable #2163
 • By removing single charecter alternation
 • And keeping a charecter set instead

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-13 14:01:48 +08:00
Michael Hill
17fdaf4f4a
Fixed type mismatch for height & width parameters (#2185) 2021-10-11 16:13:21 +08:00
Darylgolden
91bcf11674
Changed the default width of videos in Jupyter notebooks to `60%` (#2182)
* Change to 60vw

* 60%

* fix
2021-10-10 09:34:39 +02:00
Anima
4ff2cbec1a
Transferred troubleshooting installation related snippets from Discord to the documentation (#2130)
* Added troubleshooting snippets from the Discord

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed linting errors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed formatting issues

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Added requested changes

* added reference to the stack exchange post

* fixed link displaying incorrectly

* Mentioned which aliases caused the issue

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Moved atributation for PATH, broke up some lines

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed the copied answer for PATH

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* Update docs/source/installation/troubleshooting.rst

Co-authored-by: Darylgolden <darylgolden@gmail.com>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-10 04:27:03 +00:00
Laith Bahodi
8600c7c4da
Modify `set_default` example to prevent leaking across the docs. (#2176)
* Modify set_default' example to prevent leaking across the docs

* actually fix the colour

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-10 09:24:51 +08:00
Ryan McCauley
0ee3281584
Increased opengl testing (#2146)
* Increase opengl testing

* Add and mark remaining failing tests

* Mark test as fail
2021-10-07 17:09:36 +01:00
Benjamin Hackl
8a3d1d8ff3
Prepared new release, `v0.11.0` (#2114)
* bump version number

* update version in citation.cff

* generated v0.11.0 changelog, first pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* actually added v0.11.0 changelog to list of changelogs

* generated changelog, second pass

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* generate v0.11.0 changelog, third pass

* generated v0.11.0 changelog, fourth pass

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-10-02 17:51:16 +02:00
Ryan McCauley
a93d112614
Improved setting of OpenGL colors (#2111)
* Improve setting of opengl colors

* Use keyword arguments and move tests to opengl folder
2021-10-02 10:15:05 +00:00
Tim
dd16347eb8
Make colour aliases IDE-friendly (#2050)
* Make colour aliases IDE-friendly

Fixes #2049

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-10-02 09:54:05 +00:00
icedcoffeeee
4f6852cd86
Renamed `distance parameter of :class:.ThreeDScene and :class:.ThreeDCamera to focal_distance` (#2123)
* deprecate distance

* updated deprecation

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-02 09:43:59 +02:00
Nicolai Weitkemper
c7199fa852
fix missing whitespace in info message (#2126)
…without breaking Manim
2021-10-02 07:01:18 +00:00
icedcoffeeee
b8d76cfa7a
Implemented :class:~.ImplicitFunction and :meth:.CoordinateSystem.get_implicit_curve for plotting implicit curves (#2094)
* dependencies

* ImplicitFunction

* coord sys typo

* implicit graph

* tests

* lower max quads

* Update ImplicitFunction.npz

* corrections

* renamed graph to curve

* use_smoothing

* return type

* depth vs quads docs

* fix docstrings

* added more clarification

* updated note admonition

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* Add keywords

* updated isosurfaces import

* unnecessary args as kwargs

* unnecessary args as kwargs

* Revert "updated isosurfaces import"

This reverts commit 16ac042a41.

* small fix

* Update poetry.lock

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-02 06:58:50 +00:00
Evan Boehs
b04f0379f0
Copyedited the configuration tutorial in the documentation (#2131)
* Update configuration.rst

* 2 instances of may, one of might

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-02 12:29:19 +08:00
Benjamin Hackl
b1daa32128
Changed `manim_directive to use a clean configuration via tempconfig` (#2120)
* pass config options for an documentation example in a tempconfig

* Revert "Revert colour of background in docs to BLACK in `Mobject` page.  (#2117)"

This reverts commit c55828f087.

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2021-10-02 04:11:30 +02:00
leleogere
522b83cdc7
Improved the implementation of :meth:.CoordinateSystem.get_area to work without Riemann rectangles, added new :meth:.CoordinateSystem.get_area_with_riemann_rectangles (#1990)
* Rename old get_area

* Add the new get_area method

* Test file

* Revert "Test file"

This reverts commit 7588d7aba6.

* Fix the gradient coloring

* Add the bounded parameter

* Add an example and reformat the docstring

* Update get_area_with_riemann_rectangles example in the docstring

* Modify the example in the Example Gallery to use the new get_area

* Modify the test for get_area_with_riemann_rectangles and add a test for get_area

* Add the npz for the tests

* Rename bounded parameter in bounded_graph

* Make the function handle different range for graph and bounded_graph

* Use point instead of get_points()

* Make more specific tests

* Change Sequence type to Tuple

Co-authored-by: Hugues Devimeux <36239975+huguesdevimeux@users.noreply.github.com>

* Update an example to enhance the difference between both `get_area` methods

* Fix a bug not taking into acount x_range

* Change the opacity of the area in the example to better see the area

* Fix a bug for non-overlapping ranges

* Add the exception to the docstring

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove `get_area_with_riemann_rectangles` and fix f-strings

* Remove references to `get_riemann_rectangles`

Co-authored-by: Léo Géré <leo.gere@inrae.fr>
Co-authored-by: Léo Géré <gere@etud.insa-toulouse.fr>
Co-authored-by: Hugues Devimeux <36239975+huguesdevimeux@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2021-10-02 00:00:17 +00:00
Benjamin Hackl
d9958b36a1
upgrade several dependencies (#2124)
Co-authored-by: Jan-Hendrik Müller <44469195+kolibril13@users.noreply.github.com>
2021-10-01 20:02:49 +02:00
Benjamin Hackl
4368b972af
Fixed broken links in inheritance graphs by moving them to `reference.rst` (#2122)
* moved inheritance graphs to reference.rst to resolve wrong link targets

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-10-01 14:08:22 +02:00
Максим Заякин
78dff97c51
Improved docstring of :meth:.PMobject.add_points (#2115)
* Fix PMobject.add_points docstring

Now the documentation states that rgbas shape should be Nx4 if not None.
Also change ValueError message when len(rgbas) != len(points).

* Fix OpenGLPMobject.add_points docstring

Now the documentation states that rgbas shape should be Nx4 if not None.
Also change ValueError message when len(rgbas) != len(points).

* Reformat docstrings

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-10-01 11:32:03 +02:00
Meredith Espinosa
b707791c13
more accurate type hinting for line_spacing (#2116) 2021-10-01 08:46:34 +00:00
icedcoffeeee
094e983d77
Added 3D support for :class:~.ArrowVectorField and :class:~.StreamLines (#2118)
* Implemented 3d to ArrowVectorField

* Implemented 3d to StreamLines

* Documentation
2021-10-01 08:38:53 +00:00
Laith Bahodi
c55828f087
Revert colour of background in docs to BLACK in Mobject page. (#2117)
* fix doc

* add colour
2021-10-01 09:13:49 +02:00
Ryan McCauley
f24e080ff3
Fixed :meth:~OpenGLRenderer.get_frame when window is created (#2070)
* Fix opengl get_frame when preview is enabled

* Flip width and height

* Fix tests
2021-09-30 18:16:41 +02:00
Ryan McCauley
1ba8bff1fd
Fix animation group opengl compatibility (#2071)
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-09-30 16:09:30 +00:00
icedcoffeeee
8a4222e4f4
Added OpenGL compatibility to :meth:.ThreeDScene.begin_ambient_camera_rotation and :meth:.ThreeDScene.move_camera (#2113)
* updated begin_ambient_camera_rotation

* updated stop_ambient_camera_rotation

* updated move_camera
2021-09-30 17:58:33 +02:00
Benjamin Hackl
c4b96ffc80
Implemented :meth:.Mobject.set_default, a mechanism for changing default values of keyword arguments (#2075)
* implement Mobject.change_default

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix doctest

* actually fix doctest 🙄

* Update manim/mobject/mobject.py

* allow restoring original default arguments

* added change_default implementation to OpenGLMobject

* change_default -> set_default

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jan-Hendrik Müller <44469195+kolibril13@users.noreply.github.com>
2021-09-30 13:47:35 +02:00
Naveen M K
3f27209711
Add opengl support for Boolean Operations (#2016) 2021-09-30 16:07:33 +05:30
Ryan McCauley
ce07a50d82
Reuse cairo tests with opengl 2021-09-29 19:31:55 +01:00
Darylgolden
2deb79ac04
Deprecated SampleSpaceScene and ReconfigurableScene (#2102)
* deprecated

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-09-29 21:12:24 +08:00
Ryan McCauley
0f027fc5ad
Add opengl CLI tests (#2008)
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-09-29 11:12:03 +00:00
icedcoffeeee
a4d3c1a5cd
Fix NumberPlane axis step (#2108)
* fixed typo

* added test
2021-09-29 18:48:51 +08:00
Darylgolden
a8c20635e7
note that process is not ready (#2101) 2021-09-29 09:25:14 +02:00
GameDungeon
9a98d67dd4
LGTM Error Fix (#2001)
* LGTM Error Crush

* I'm dumb

* fix

* Update manim/plugins/import_plugins.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-09-28 22:00:53 +00:00
Ryan McCauley
0976f23b28
Remove deprecated u-min/max and v-min/max in Surface (#2061)
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2021-09-28 19:34:32 +00:00
Oliver
568db8f38d
Adding :meth:~Table.get_highlighted_cell and fixing :meth:~Table.add_highlighted_cell (#2084)
* init

* delete comments
2021-09-28 19:32:11 +00:00
Ryan McCauley
4831e1dc77
Add opengl support for --format png output
* Add png output support for opengl

* Handle when interactive embed should launch

* Handle when window should be created

* Remove unused import

* Remove confusing field

* Avoid creating window when any format is set

* Revert removing manim import

* Remove second log for interactive_embed

* Add force_window flag

* temp skip tests due to opengl context issue

* Fix context issue

* Try manually closing window in opengl tests

* Test disabling parallel runs

* Test disabling parallel runs

* Try clearing frame buffer on finish

* revert clear

* Skip tests that pass locally but fail windows CI

* Reenable opengl tests

* Remove stdin closed check

* Skip flakey test

* Stop window creation when save_last_frame is set

* Update config path

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2021-09-28 18:19:22 +01:00
icedcoffeeee
bb92fee9c9
Use math convention in polar coordinates (#2095)
* switched phi and theta

* added tests

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-09-28 10:34:31 +00:00
pre-commit-ci[bot]
eb09675fc5
[pre-commit.ci] pre-commit autoupdate (#2086)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/asottile/pyupgrade: v2.26.0 → v2.28.0](https://github.com/asottile/pyupgrade/compare/v2.26.0...v2.28.0)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-09-28 17:41:25 +08:00
Naveen M K
af462e83cc
Added support for Boolean Operations on VMobjects (#1998)
* Initial Progress

* pretty much done :)

* moved to class

* cleanup

* fix example, import and black

* Add skia-pathops dependency

* some docs

* Add Xor

* fix typo and remove stray print

* more docs

* remove stray example

* fix typo

* fix docs

* fix poetry

* fix typos

* Don't use SegmentIterator instead use RawPathIterator

* add tests

* black isort

* Minor cosmetics

* possibly fix tests

* small formatting changes

* small docs fix

* spacing

* Support more than 1 vmobject on Intersection

* Fix intersection of 3 or more Mobjects

* Add a test case for 3 mobject intersection

* black

* fix condition of undefined variable

* fix some typos

* Apply suggestions from code review

Co-authored-by: Darylgolden <darylgolden@gmail.com>
2021-09-28 11:35:33 +08:00
Ryan McCauley
a10a7d87c8
Add OpenGLMobject tests (#2080) 2021-09-28 07:47:06 +08:00
Charlie
afd9942670
Fixed :meth:~Graph.add_edges and :meth:~Graph.add_vertices parameter types (#2055)
* docs: Fix Graph.add_edges and Graph.add_vertices parameter types

* docs: Change wording for add_edges and add_vertices functions

* docs: Fix type hint on parameter of remove_edges
2021-09-26 10:44:43 +01:00
Jerónimo Squartini
ff6dc6cf73
Update transform_matching_parts.py (#2013)
Remove unecessary check from TransformMatchingAbstractBase
2021-09-26 10:18:36 +01:00
Ryan McCauley
782b567a46
Remove duplicate insert shader directory (#2064)
Co-authored-by: Naveen M K <naveen@syrusdark.website>
2021-09-24 17:06:51 +00:00
1725 changed files with 110203 additions and 80125 deletions

View file

@ -1 +0,0 @@
<path id="nd" d="m 464.7,68.6 -1.1,2.8 .8,1.4 -.3,5.1 -.5,1.1 2.7,9.1 1.3,2.5 .7,14 1,2.7 -.4,5.8 2.9,7.4 .3,5.8 -.1,2.1 -29.5,-.4 -46,-2.1 -39.2,-2.9 5.2,-66.7 44.5,3.4 55.3,1.6 z">

5
.codespell_ignorewords Normal file
View file

@ -0,0 +1,5 @@
nam
sherif
falsy
medias
strager

View file

@ -1,4 +1,4 @@
[codespell]
exclude-file=.codespell_ignorelines
check-hidden=True
ignore-words-list = sherif
check-hidden = True
skip = .git,*.js,*.js.map,*.css,*.css.map,*.html,*.po,*.pot,uv.lock,*.log,*.svg
ignore-words = .codespell_ignorewords

View file

@ -1 +1,20 @@
.git
# Development / test artifacts
__pycache__
**/__pycache__
*.pyc
*.pyo
*.pyd
*.egg-info
dist/
build/
coverage.xml
# Not needed to install the package
docs/
tests/
example_scenes/
media/
logo/
scripts/

32
.flake8
View file

@ -1,33 +1,35 @@
[flake8]
# Exclude the grpc generated code
exclude = ./.*,manim/grpc/gen/*
max-complexity = 15
exclude = ./manim/grpc/gen/*, __pycache__,.git,
per-file-ignores = __init__.py:F401
max-complexity = 29
max-line-length = 88
statistics = True
# Prevents some flake8-rst-docstrings errors
rst-roles = attr,class,func,meth,mod,obj,ref,doc,exc
rst-directives = manim, SEEALSO, seealso
# Adds some more bugbear checks
select = B9
docstring-convention=numpy
# Black Compatibility
extend-ignore = E203, W503,
select = A,A00,B,B9,C4,C90,D,E,F,F,PT,RST,SIM,W,F401
# Unused imports, wildcard imports, and unused variables
F401, F403, F405, F841, E501,
# General Compatibility
extend-ignore = E203, W503, D202, D212, D213, D404
# Misc
F401, F403, F405, F841, E501, E731, E402, F811, F821,
# multiple statements on one line (overload)
E704,
# Plug-in: flake8-builtins
A001, A002, A003,
# Plug-in: flake8-bugbear
B006, B008, B009, B010,
B006, B007, B008, B009, B010, B903, B950,
# Plug-in: flake8-simplify
SIM105, SIM106, SIM119,
# Plug-in: flake8-comprehensions
C408,
# Plug-in: flake8-pytest-style
PT001, PT004, PT006, PT011, PT018, PT022, PT023,
@ -35,10 +37,8 @@ extend-ignore = E203, W503,
D100, D101, D102, D103, D104, D105, D106, D107,
D200, D202, D204, D205, D209,
D301,
D400, D401, D402, D403, D412, D414,
D400, D401, D402, D403, D405, D406, D407, D409, D411, D412, D414,
# Plug-in: flake8-rst-docstrings
RST201, RST203, RST210, RST212, RST213, RST215,
RST301,
# I believe B009, B010, and F841 can be removed but I don't want to break things
RST301, RST303, RST499

2
.git-blame-ignore-revs Normal file
View file

@ -0,0 +1,2 @@
# Switched to ruff format:
24025b60d57301b0a59754c38d77bccd8ed69feb

View file

@ -54,7 +54,7 @@ PASTE HERE OR PROVIDE LINK TO https://pastebin.com/ OR SIMILAR
<details><summary>System Details</summary>
- OS (with version, e.g Windows 10 v2004 or macOS 10.15 (Catalina)):
- OS (with version, e.g., Windows 10 v2004 or macOS 10.15 (Catalina)):
- RAM:
- Python version (`python/py/python3 --version`):
- Installed modules (provide output from `pip list`):
@ -70,14 +70,5 @@ PASTE HERE
<!-- output of `tlmgr list --only-installed` for TeX Live or a screenshot of the Packages page for MikTeX -->
</details>
<details><summary>FFMPEG</summary>
Output of `ffmpeg -version`:
```
PASTE HERE
```
</details>
## Additional comments
<!-- Add further context that you think might be relevant for this issue here. -->

View file

@ -11,7 +11,7 @@ assignees: ''
- [ ] I have followed the latest version of the
[installation instructions](https://docs.manim.community/en/stable/installation.html).
- [ ] I have checked the [troubleshooting page](https://docs.manim.community/en/stable/installation/troubleshooting.html) and my problem is either not mentioned there,
- [ ] I have checked the [installation FAQ](https://docs.manim.community/en/stable/faq/installation.html) and my problem is either not mentioned there,
or the solution given there does not help.
## Description of error
@ -37,7 +37,7 @@ PASTE HERE OR PROVIDE LINK TO https://pastebin.com/ OR SIMILAR
<details><summary>System Details</summary>
- OS (with version, e.g Windows 10 v2004 or macOS 10.15 (Catalina)):
- OS (with version, e.g., Windows 10 v2004 or macOS 10.15 (Catalina)):
- RAM:
- Python version (`python/py/python3 --version`):
- Installed modules (provide output from `pip list`):
@ -53,14 +53,5 @@ PASTE HERE
<!-- output of `tlmgr list --only-installed` for TeX Live or a screenshot of the Packages page for MikTeX -->
</details>
<details><summary>FFMPEG</summary>
Output of `ffmpeg -version`:
```
PASTE HERE
```
</details>
## Additional comments
<!-- Add further context that you think might be relevant for this issue here. -->

View file

@ -1,17 +0,0 @@
---
name: Suggestion
about: Make a suggestion for the enhancement of existing features
title: ""
labels: enhancement
assignees: ''
---
## Enhancement proposal
<!-- Add a clear and concise description of your enhancement proposal. In particular,
if your enhancement introduces changes to the API, illustrate them with
(fictional) code examples. -->
## Additional comments
<!-- Add further context that you think might be relevant. -->

View file

@ -1,10 +1,6 @@
<!-- Thank you for contributing to Manim! Learn more about the process in our contributing guidelines: https://docs.manim.community/en/latest/contributing.html -->
## Overview: What does this pull request change?
<!-- If there is more information than the PR title that should be added to our release changelog, add it in the following changelog section. This is optional, but recommended for larger pull requests. -->
<!--changelog-start-->
<!--changelog-end-->
## Motivation and Explanation: Why and how do your changes improve the library?
<!-- Optional for bugfixes, small enhancements, and documentation-related PRs. Otherwise, please give a short reasoning for your changes. -->

22
.github/codeql.yml vendored Normal file
View file

@ -0,0 +1,22 @@
query-filters:
- exclude:
id: py/init-calls-subclass
- exclude:
id: py/unexpected-raise-in-special-method
- exclude:
id: py/modification-of-locals
- exclude:
id: py/multiple-calls-to-init
- exclude:
id: py/missing-call-to-init
- exclude:
id: py/method-first-arg-is-not-self
- exclude:
id: py/cyclic-import
- exclude:
id: py/unsafe-cyclic-import
paths:
- manim
paths-ignore:
- tests/
- example_scenes/

11
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-minor"
- "version-update:semver-patch"

View file

@ -4,7 +4,10 @@
"standalone",
"preview",
"doublestroke",
"ms",
"count1to",
"multitoc",
"prelim2e",
"ragged2e",
"everysel",
"setspace",
"rsfs",
@ -29,7 +32,10 @@
"standalone",
"preview",
"doublestroke",
"ms",
"count1to",
"multitoc",
"prelim2e",
"ragged2e",
"everysel",
"setspace",
"rsfs",

67
.github/release.yml vendored Normal file
View file

@ -0,0 +1,67 @@
# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
changelog:
exclude:
labels:
- duplicate/wontfix
- invalid
- question
- release
authors:
- dependabot[bot]
- pre-commit-ci[bot]
categories:
# High Impact
- title: "Breaking Changes 🚨"
labels:
- breaking changes
# Highlights
- title: "Highlights 🌟"
labels:
- highlight
# User-facing
- title: "New Features ✨"
labels:
- new feature
- title: "Enhancements 🚀"
labels:
- enhancement
- title: "Bug Fixes 🐛"
labels:
- pr:bugfix
- title: "Deprecations & Removals ⚠️"
labels:
- pr:deprecation
# Developer-facing
- title: "Documentation 📚"
labels:
- documentation
- title: "Testing 🧪"
labels:
- testing
- title: "Infrastructure & Build 🔨"
labels:
- infrastructure
- title: "Code Quality & Refactoring 🧹"
labels:
- maintenance
- refactor
- title: "Type Hints 📝"
labels:
- typehints
# Catch-all (must be last)
- title: "Other Changes"
labels:
- "*"

237
.github/scripts/ci_build_cairo.py vendored Normal file
View file

@ -0,0 +1,237 @@
# Logic is as follows:
# 1. Download cairo source code: https://cairographics.org/releases/cairo-<version>.tar.xz
# 2. Verify the downloaded file using the sha256sums file: https://cairographics.org/releases/cairo-<version>.tar.xz.sha256sum
# 3. Extract the downloaded file.
# 4. Create a virtual environment and install meson and ninja.
# 5. Run meson build in the extracted directory. Also, set required prefix.
# 6. Run meson compile -C build.
# 7. Run meson install -C build.
import hashlib
import logging
import os
import subprocess
import sys
import tarfile
import tempfile
import urllib.request
from collections.abc import Generator
from contextlib import contextmanager
from pathlib import Path
from sys import stdout
CAIRO_VERSION = "1.18.0"
CAIRO_URL = f"https://cairographics.org/releases/cairo-{CAIRO_VERSION}.tar.xz"
CAIRO_SHA256_URL = f"{CAIRO_URL}.sha256sum"
VENV_NAME = "meson-venv"
BUILD_DIR = "build"
INSTALL_PREFIX = Path(__file__).parent.parent.parent / "third_party" / "cairo"
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
logger = logging.getLogger(__name__)
def is_ci():
return os.getenv("CI", None) is not None
def download_file(url, path):
logger.info(f"Downloading {url} to {path}")
block_size = 1024 * 1024
with urllib.request.urlopen(url) as response, open(path, "wb") as file:
while True:
data = response.read(block_size)
if not data:
break
file.write(data)
def verify_sha256sum(path, sha256sum):
with open(path, "rb") as file:
file_hash = hashlib.sha256(file.read()).hexdigest()
if file_hash != sha256sum:
raise Exception("SHA256SUM does not match")
def extract_tar_xz(path, directory):
with tarfile.open(path) as file:
file.extractall(directory)
def run_command(command, cwd=None, env=None):
process = subprocess.Popen(command, cwd=cwd, env=env)
process.communicate()
if process.returncode != 0:
raise Exception("Command failed")
@contextmanager
def gha_group(title: str) -> Generator:
if not is_ci():
yield
return
print(f"\n::group::{title}")
stdout.flush()
try:
yield
finally:
print("::endgroup::")
stdout.flush()
def set_env_var_gha(name: str, value: str) -> None:
if not is_ci():
return
env_file = os.getenv("GITHUB_ENV", None)
if env_file is None:
return
with open(env_file, "a") as file:
file.write(f"{name}={value}\n")
stdout.flush()
def get_ld_library_path(prefix: Path) -> str:
# given a prefix, the ld library path can be found at
# <prefix>/lib/* or sometimes just <prefix>/lib
# this function returns the path to the ld library path
# first, check if the ld library path exists at <prefix>/lib/*
ld_library_paths = list(prefix.glob("lib/*"))
if len(ld_library_paths) == 1:
return ld_library_paths[0].absolute().as_posix()
# if the ld library path does not exist at <prefix>/lib/*,
# return <prefix>/lib
ld_library_path = prefix / "lib"
if ld_library_path.exists():
return ld_library_path.absolute().as_posix()
return ""
def main():
if sys.platform == "win32":
logger.info("Skipping build on windows")
return
with tempfile.TemporaryDirectory() as tmpdir:
with gha_group("Downloading and Extracting Cairo"):
logger.info(f"Downloading cairo version {CAIRO_VERSION}")
download_file(CAIRO_URL, os.path.join(tmpdir, "cairo.tar.xz"))
logger.info("Downloading cairo sha256sum")
download_file(CAIRO_SHA256_URL, os.path.join(tmpdir, "cairo.sha256sum"))
logger.info("Verifying cairo sha256sum")
with open(os.path.join(tmpdir, "cairo.sha256sum")) as file:
sha256sum = file.read().split()[0]
verify_sha256sum(os.path.join(tmpdir, "cairo.tar.xz"), sha256sum)
logger.info("Extracting cairo")
extract_tar_xz(os.path.join(tmpdir, "cairo.tar.xz"), tmpdir)
with gha_group("Installing meson and ninja"):
logger.info("Creating virtual environment")
run_command([sys.executable, "-m", "venv", os.path.join(tmpdir, VENV_NAME)])
logger.info("Installing meson and ninja")
run_command(
[
os.path.join(tmpdir, VENV_NAME, "bin", "pip"),
"install",
"meson",
"ninja",
]
)
# Inherit the current environment so PKG_CONFIG_PATH, CFLAGS, LDFLAGS, etc. are preserved.
env_vars = os.environ.copy()
# Prepend the venv bin directory so meson/ninja from the venv are used.
env_vars["PATH"] = f"{os.path.join(tmpdir, VENV_NAME, 'bin')}{os.pathsep}{env_vars.get('PATH','')}"
# Ensure Homebrew-provided pkgconfig and include/lib paths are present on macOS ARM.
if sys.platform == "darwin":
try:
# Try to get specific prefix for lzo (safer for opt path), fall back to generic brew prefix.
brew_prefix = subprocess.check_output(["brew", "--prefix", "lzo"], text=True).strip()
except subprocess.CalledProcessError:
try:
brew_prefix = subprocess.check_output(["brew", "--prefix"], text=True).strip()
except Exception:
brew_prefix = None
if brew_prefix:
# pkg-config files can live in lib/pkgconfig or opt/<pkg>/lib/pkgconfig
pkgconfig_paths = [f"{brew_prefix}/lib/pkgconfig", f"{brew_prefix}/opt/lzo/lib/pkgconfig"]
# merge with any existing PKG_CONFIG_PATH
existing_pc = env_vars.get("PKG_CONFIG_PATH", "")
merged_pc = ":".join([p for p in pkgconfig_paths if p]) + (f":{existing_pc}" if existing_pc else "")
env_vars["PKG_CONFIG_PATH"] = merged_pc
# Ensure compiler & linker flags include brew include/lib
existing_cflags = env_vars.get("CFLAGS", "")
existing_ldflags = env_vars.get("LDFLAGS", "")
env_vars["CFLAGS"] = f"-I{brew_prefix}/include {existing_cflags}".strip()
env_vars["LDFLAGS"] = f"-L{brew_prefix}/lib {existing_ldflags}".strip()
# Debugging: log environment keys relevant to detection
# logger.info(f"env vars for meson: {env_vars}")
with gha_group("Building and Installing Cairo"):
logger.info("Running meson setup")
run_command(
[
os.path.join(tmpdir, VENV_NAME, "bin", "meson"),
"setup",
BUILD_DIR,
f"--prefix={INSTALL_PREFIX.absolute().as_posix()}",
"--buildtype=release",
"-Dtests=disabled",
],
cwd=os.path.join(tmpdir, f"cairo-{CAIRO_VERSION}"),
env=env_vars,
)
logger.info("Running meson compile")
run_command(
[
os.path.join(tmpdir, VENV_NAME, "bin", "meson"),
"compile",
"-C",
BUILD_DIR,
],
cwd=os.path.join(tmpdir, f"cairo-{CAIRO_VERSION}"),
env=env_vars,
)
logger.info("Running meson install")
run_command(
[
os.path.join(tmpdir, VENV_NAME, "bin", "meson"),
"install",
"-C",
BUILD_DIR,
],
cwd=os.path.join(tmpdir, f"cairo-{CAIRO_VERSION}"),
env=env_vars,
)
logger.info(f"Successfully built cairo and installed it to {INSTALL_PREFIX}")
if __name__ == "__main__":
if "--set-env-vars" in sys.argv:
with gha_group("Setting environment variables"):
# append the pkgconfig directory to PKG_CONFIG_PATH
set_env_var_gha(
"PKG_CONFIG_PATH",
f"{Path(get_ld_library_path(INSTALL_PREFIX), 'pkgconfig').as_posix()}{os.pathsep}"
f'{os.getenv("PKG_CONFIG_PATH", "")}',
)
set_env_var_gha(
"LD_LIBRARY_PATH",
f"{get_ld_library_path(INSTALL_PREFIX)}{os.pathsep}"
f'{os.getenv("LD_LIBRARY_PATH", "")}',
)
sys.exit(0)
main()

19
.github/workflows/cffconvert.yml vendored Normal file
View file

@ -0,0 +1,19 @@
name: cffconvert
on:
push:
paths:
- CITATION.cff
jobs:
validate:
name: "validate"
runs-on: ubuntu-latest
steps:
- name: Check out a copy of the repository
uses: actions/checkout@v6
- name: Check whether the citation metadata from CITATION.cff is valid
uses: citation-file-format/cffconvert-github-action@2.0.0
with:
args: "--validate"

View file

@ -18,63 +18,82 @@ jobs:
env:
DISPLAY: :0
PYTEST_ADDOPTS: "--color=yes" # colors in pytest
GLCONTEXT_WIN_LIBGL: C:\msys64\mingw64\bin\opengl32.dll
PYTHONIOENCODING: "utf8"
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: [3.7, 3.8, 3.9]
os: [ubuntu-22.04, macos-latest, windows-latest]
python: ["3.11", "3.12", "3.13", "3.14"]
include:
- os: macos-15-intel
python: "3.13"
steps:
- name: Checkout the repository
uses: actions/checkout@v2
uses: actions/checkout@v6
- name: Setup Python ${{ matrix.python }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}
- name: Install Poetry
run: |
pip install wheel
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Setup cache variables
shell: bash
id: cache-vars
run: |
export PATH="$HOME/.poetry/bin:$PATH"
echo "::set-output name=poetry-venv-dir::$(poetry config virtualenvs.path)"
echo "::set-output name=date::$(/bin/date -u "+%m%w%Y")"
- name: Setup Poetry cache
uses: actions/cache@v2
with:
path: ${{ steps.cache-vars.outputs.poetry-venv-dir }}
key: ${{ runner.os }}-poetry-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('poetry.lock') }}
- name: Install and cache ffmpeg (all OS)
uses: FedericoCarboni/setup-ffmpeg@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
id: setup-ffmpeg
echo "date=$(/bin/date -u "+%m%w%Y")" >> $GITHUB_OUTPUT
- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: python3-opengl libpango1.0-dev xvfb freeglut3-dev
version: 1.0
- name: Install Texlive (Linux)
if: runner.os == 'Linux'
uses: zauguin/install-texlive@v4
with:
packages: >
scheme-basic latex fontspec tipa calligra xcolor
standalone preview doublestroke setspace rsfs relsize
ragged2e fundus-calligra microtype wasysym physics dvisvgm jknapltx
wasy cm-super babel-english gnu-freefont mathastext cbfonts-fd xetex
- name: Start virtual display (Linux)
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt-get -y install texlive texlive-latex-extra texlive-fonts-extra texlive-latex-recommended texlive-science texlive-fonts-extra tipa python-opengl libpango1.0-dev xvfb
echo "$HOME/.poetry/bin" >> $GITHUB_PATH
# start xvfb in the background
# start xvfb in background
sudo /usr/bin/Xvfb $DISPLAY -screen 0 1280x1024x24 &
- name: Setup Cairo Cache
uses: actions/cache@v5
id: cache-cairo
if: runner.os == 'Linux' || runner.os == 'macOS'
with:
path: ${{ github.workspace }}/third_party
key: ${{ runner.os }}-${{ runner.arch }}-dependencies-cairo-${{ hashFiles('.github/scripts/ci_build_cairo.py') }}
- name: Build and install Cairo (Linux and macOS)
if: (runner.os == 'Linux' || runner.os == 'macOS') && steps.cache-cairo.outputs.cache-hit != 'true'
run: python .github/scripts/ci_build_cairo.py
- name: Set env vars for Cairo (Linux and macOS)
if: runner.os == 'Linux' || runner.os == 'macOS'
run: python .github/scripts/ci_build_cairo.py --set-env-vars
- name: Setup macOS cache
uses: actions/cache@v5
id: cache-macos
if: runner.os == 'macOS'
uses: actions/cache@v2
with:
path: ${{ github.workspace }}/macos-cache
key: ${{ runner.os }}-dependencies-tinytex-${{ hashFiles('.github/manimdependency.json') }}-${{ steps.cache-vars.outputs.date }}
key: ${{ runner.os }}-dependencies-tinytex-${{ hashFiles('.github/manimdependency.json') }}-${{ steps.cache-vars.outputs.date }}-1
- name: Install system dependencies (MacOS)
if: runner.os == 'macOS' && steps.cache-macos.outputs.cache-hit != 'true'
@ -85,8 +104,8 @@ jobs:
oriPath=$PATH
sudo mkdir -p $PWD/macos-cache
echo "Install TinyTeX"
sudo curl -L -o "/tmp/TinyTeX.tgz" "https://ci.appveyor.com/api/projects/yihui/tinytex/artifacts/TinyTeX.tgz?job=image:%20macOS"
sudo tar zxf "/tmp/TinyTeX.tgz" -C "$PWD/macos-cache"
sudo curl -L -o "/tmp/TinyTeX.tar.xz" "https://github.com/rstudio/tinytex-releases/releases/download/daily/TinyTeX-1-darwin.tar.xz"
sudo tar xJf "/tmp/TinyTeX.tar.xz" -C "$PWD/macos-cache"
export PATH="$PWD/macos-cache/TinyTeX/bin/universal-darwin:$PATH"
sudo tlmgr update --self
for i in "${ttp[@]}"; do
@ -95,35 +114,22 @@ jobs:
export PATH="$oriPath"
echo "Completed TinyTeX"
- name: Install cairo (MacOS)
if: runner.os == 'macOS'
run: brew install cairo
- name: Add macOS dependencies to PATH
if: runner.os == 'macOS'
shell: bash
run: |
echo "/Library/TeX/texbin" >> $GITHUB_PATH
echo "$HOME/.poetry/bin" >> $GITHUB_PATH
echo "$PWD/macos-cache/TinyTeX/bin/universal-darwin" >> $GITHUB_PATH
- name: Setup Windows cache
id: cache-windows
if: runner.os == 'Windows'
uses: actions/cache@v2
uses: actions/cache@v5
with:
path: ${{ github.workspace }}\ManimCache
key: ${{ runner.os }}-dependencies-tinytex-${{ hashFiles('.github/manimdependency.json') }}-${{ steps.cache-vars.outputs.date }}
key: ${{ runner.os }}-dependencies-tinytex-${{ hashFiles('.github/manimdependency.json') }}-${{ steps.cache-vars.outputs.date }}-1
- name: Setup MSYS2 (Windows)
if: runner.os == 'Windows'
uses: msys2/setup-msys2@v2
with:
release: false
msystem: MINGW64
path-type: inherit
install: >-
mingw-w64-x86_64-mesa
- uses: ssciwr/setup-mesa-dist-win@v3
- name: Install system dependencies (Windows)
if: runner.os == 'Windows' && steps.cache-windows.outputs.cache-hit != 'true'
@ -131,40 +137,32 @@ jobs:
$tinyTexPackages = $(python -c "import json;print(' '.join(json.load(open('.github/manimdependency.json'))['windows']['tinytex']))") -Split ' '
$OriPath = $env:PATH
echo "Install Tinytex"
Invoke-WebRequest "https://ci.appveyor.com/api/projects/yihui/tinytex/artifacts/TinyTeX.zip?job=image:%20Visual%20Studio%202019" -O "$($env:TMP)\TinyTex.zip"
Expand-Archive -LiteralPath "$($env:TMP)\TinyTex.zip" -DestinationPath "$($PWD)\ManimCache\LatexWindows"
$env:Path = "$($PWD)\ManimCache\LatexWindows\TinyTeX\bin\win32;$($env:PATH)"
Invoke-WebRequest "https://github.com/rstudio/tinytex-releases/releases/download/daily/TinyTeX-1-windows.exe" -OutFile "$($env:TMP)\TinyTex.exe"
.$env:TMP\TinyTex.exe -o"$($PWD)\ManimCache\LatexWindows"
$env:Path = "$($PWD)\ManimCache\LatexWindows\TinyTeX\bin\windows;$($env:PATH)"
tlmgr update --self
foreach ($c in $tinyTexPackages){
$c=$c.Trim()
tlmgr install $c
}
tlmgr install $tinyTexPackages
$env:PATH=$OriPath
echo "Completed Latex"
- name: Add Windows dependencies to PATH
if: runner.os == 'Windows'
run: |
Remove-Item C:\msys64\mingw64\bin\python.exe -Force
Remove-Item C:\msys64\mingw64\bin\python3.exe -Force
$env:Path += ";" + "$($PWD)\ManimCache\LatexWindows\TinyTeX\bin\win32"
$env:Path = "$env:USERPROFILE\.poetry\bin;$($env:PATH)"
$env:PATH = "C:\msys64\mingw64\bin;$($env:PATH)"
$env:Path += ";" + "$($PWD)\ManimCache\LatexWindows\TinyTeX\bin\windows"
echo "$env:Path" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Install manim
- name: Install dependencies and manim
run: |
poetry config experimental.new-installer false
poetry install -E webgl_renderer
uv sync --all-extras --locked
- name: Run tests
run: poetry run pytest
run: |
uv run python -m pytest
- name: Run module doctests
run: poetry run pytest --cov-append --doctest-modules --ignore-glob="*opengl*" manim
run: |
uv run python -m pytest -v --cov-append --ignore-glob="*opengl*" --doctest-modules manim
- name: Run doctests in rst files
run: cd docs && pip install -r requirements.txt && poetry run make doctest O=-tskip-manim
- name: Upload coverage
uses: codecov/codecov-action@v1
run: |
cd docs && uv run make doctest O=-tskip-manim

42
.github/workflows/codeql.yml vendored Normal file
View file

@ -0,0 +1,42 @@
name: "CodeQL"
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: "21 16 * * 3"
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ python ]
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql.yml
queries: +security-and-quality
- name: Autobuild
uses: github/codeql-action/autobuild@v4
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{ matrix.language }}"

72
.github/workflows/publish-docker.yml vendored Normal file
View file

@ -0,0 +1,72 @@
name: Publish Docker Image
on:
push:
branches:
- main
release:
types: [released]
jobs:
docker-latest:
runs-on: ubuntu-latest
if: github.event_name != 'release'
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Login to DockerHub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v7
with:
platforms: linux/arm64,linux/amd64
push: true
file: docker/Dockerfile
tags: |
manimcommunity/manim:latest
docker-release:
runs-on: ubuntu-latest
if: github.event_name == 'release'
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Login to DockerHub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Get Version
id: create_release
shell: python
env:
tag_act: ${{ github.ref }}
run: |
import os
ref_tag = os.getenv('tag_act').split('/')[-1]
with open(os.getenv('GITHUB_OUTPUT'), 'w') as f:
print(f"tag_name={ref_tag}", file=f)
- name: Build and push
uses: docker/build-push-action@v7
with:
platforms: linux/arm64,linux/amd64
push: true
file: docker/Dockerfile
tags: |
manimcommunity/manim:stable
manimcommunity/manim:latest
manimcommunity/manim:${{ steps.create_release.outputs.tag_name }}

View file

@ -6,64 +6,42 @@ on:
jobs:
release:
name: "Publish release"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
environment: release
permissions:
id-token: write
contents: write
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: python -m pip install --upgrade poetry
run: sudo apt-get update && sudo apt-get install -y build-essential python3-dev libcairo2-dev libpango1.0-dev
# TODO: Set PYPI_API_TOKEN to api token from pip in secrets
- name: Configure pypi credentials
env:
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
run: poetry config http-basic.pypi __token__ "$PYPI_API_TOKEN"
- name: Set up Python 3.13
uses: actions/setup-python@v6
with:
python-version: 3.13
- name: Publish release to pypi
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Build and push release to PyPI
run: |
poetry publish --build
poetry build
uv build
uv publish
- name: Store artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v7
with:
path: dist/*.tar.gz
name: manim.tar.gz
- name: Install Dependency
run: pip install requests
- name: Get Upload URL
id: create_release
shell: python
env:
access_token: ${{ secrets.GITHUB_TOKEN }}
tag_act: ${{ github.ref }}
run: |
import requests
import os
ref_tag = os.getenv('tag_act').split('/')[-1]
access_token = os.getenv('access_token')
headers = {
"Accept":"application/vnd.github.v3+json",
"Authorization": f"token {access_token}"
}
url = f"https://api.github.com/repos/ManimCommunity/manim/releases/tags/{ref_tag}"
c = requests.get(url,headers=headers)
upload_url=c.json()['upload_url']
print(f"::set-output name=upload_url::{upload_url}")
print(f"::set-output name=tag_name::{ref_tag[1:]}")
- name: Upload Release Asset
id: upload-release
uses: actions/upload-release-asset@v1
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/manim-${{ steps.create_release.outputs.tag_name }}.tar.gz
asset_name: manim-${{ steps.create_release.outputs.tag_name }}.tar.gz
asset_content_type: application/gzip
run: |
TAG=${{ github.event.release.tag_name }}
gh release upload "$TAG" "dist/manim-${TAG#v}.tar.gz"

View file

@ -0,0 +1,87 @@
name: Publish downloadable documentation
on:
release:
types: [released]
workflow_dispatch:
jobs:
build-and-publish-htmldocs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.13
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Install system dependencies
run: |
sudo apt update && sudo apt install -y \
pkg-config libcairo-dev libpango1.0-dev wget fonts-roboto
wget -qO- "https://yihui.org/tinytex/install-bin-unix.sh" | sh
echo ${HOME}/.TinyTeX/bin/x86_64-linux >> $GITHUB_PATH
- name: Install LaTeX and Python dependencies
run: |
tlmgr update --self
tlmgr install \
babel-english ctex doublestroke dvisvgm frcursive fundus-calligra jknapltx \
mathastext microtype physics preview ragged2e relsize rsfs setspace standalone \
wasy wasysym
uv sync --extra typst
- name: Build and package documentation
run: |
cd docs/
uv run make html
cd build/html/
tar -czvf ../html-docs.tar.gz *
- name: Store artifacts
uses: actions/upload-artifact@v7
with:
path: ${{ github.workspace }}/docs/build/html-docs.tar.gz
name: html-docs.tar.gz
- name: Install Dependency
run: pip install requests
- name: Get Upload URL
if: github.event == 'release'
id: create_release
shell: python
env:
access_token: ${{ secrets.GITHUB_TOKEN }}
tag_act: ${{ github.ref }}
run: |
import requests
import os
ref_tag = os.getenv('tag_act').split('/')[-1]
access_token = os.getenv('access_token')
headers = {
"Accept":"application/vnd.github.v3+json",
"Authorization": f"token {access_token}"
}
url = f"https://api.github.com/repos/ManimCommunity/manim/releases/tags/{ref_tag}"
c = requests.get(url,headers=headers)
upload_url=c.json()['upload_url']
with open(os.getenv('GITHUB_OUTPUT'), 'w') as f:
print(f"upload_url={upload_url}", file=f)
print(f"tag_name={ref_tag[1:]}", file=f)
- name: Upload Release Asset
if: github.event == 'release'
id: upload-release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ github.workspace }}/docs/build/html-docs.tar.gz
asset_name: manim-htmldocs-${{ steps.create_release.outputs.tag_name }}.tar.gz
asset_content_type: application/gzip

6
.gitignore vendored
View file

@ -61,9 +61,8 @@ docs/source/reference/
docs/source/_build/
docs/rendering_times.csv
#i18n
docs/i18n/.doctrees
docs/i18n/gettext/.doctrees
docs/i18n/**/*.mo
docs/i18n/gettext
docs/i18n/translatable.po
docs/i18n/untranslatable.po
@ -132,3 +131,6 @@ dist/
/media_dir.txt
# ^TODO: Remove the need for this with a proper config file
# Ignore the built dependencies
third_party/*

View file

@ -1,9 +1,9 @@
default_stages: [commit, push]
default_stages: [pre-commit, pre-push]
fail_fast: false
exclude: ^(manim/grpc/gen/|docs/i18n/)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
rev: v6.0.0
hooks:
- id: check-ast
name: Validate Python
@ -11,55 +11,35 @@ repos:
- id: mixed-line-ending
- id: end-of-file-fixer
- id: check-toml
name: Validate Poetry
- repo: https://github.com/pycqa/isort
rev: 5.9.3
hooks:
- id: isort
name: isort (python)
- id: isort
name: isort (cython)
types: [cython]
- id: isort
name: isort (pyi)
types: [pyi]
- repo: https://github.com/asottile/add-trailing-comma
rev: v2.1.0
hooks:
- id: add-trailing-comma
- repo: https://github.com/asottile/pyupgrade
rev: v2.26.0
hooks:
- id: pyupgrade
name: Update code to new python versions
args: [--py37-plus]
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.9.0
hooks:
- id: python-check-blanket-noqa
name: Precision flake ignores
- repo: https://github.com/psf/black
rev: 21.9b0
hooks:
- id: black
- repo: https://github.com/asottile/blacken-docs
rev: v1.11.0
hooks:
- id: blacken-docs
additional_dependencies: [black==20.8b1]
- repo: https://github.com/asottile/yesqa
rev: v1.2.3
hooks:
- id: yesqa
name: Remove unneeded flake ignores
- repo: https://github.com/PyCQA/flake8
rev: 3.9.2
hooks:
- id: flake8
additional_dependencies: [flake8-builtins==1.5.3, flake8-bugbear==21.4.3,
flake8-docstrings==1.6.0, flake8-rst-docstrings==0.2.3,
flake8-pytest-style==1.5.0, flake8-simplify==0.14.1, flake8-comprehensions==3.6.1]
name: Validate pyproject.toml
- repo: https://github.com/codespell-project/codespell
rev: v2.1.0
rev: v2.4.1
hooks:
- id: codespell
files: ^.*\.(py|md|rst)$
args: ["-L", "medias,nam"]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.10
hooks:
- id: ruff
name: ruff lint
types: [python]
args: [--exit-non-zero-on-fix]
- id: ruff-format
types: [python]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.19.1
hooks:
- id: mypy
additional_dependencies:
[
types-backports,
types-decorator,
types-docutils,
types-requests,
types-setuptools,
]
files: ^manim/

View file

@ -1,11 +1,19 @@
version: 2
sphinx:
configuration: docs/source/conf.py
build:
image: latest
os: ubuntu-22.04
tools:
python: "3.13"
apt_packages:
- libpango1.0-dev
- ffmpeg
- graphviz
python:
version: 3.8
install:
- requirements: docs/rtd-requirements.txt
- requirements: docs/requirements.txt

View file

@ -3,11 +3,11 @@
authors:
-
name: "The Manim Community Developers"
cff-version: "1.1.0"
date-released: 2021-09-01
cff-version: "1.2.0"
date-released: 2026-02-27
license: MIT
message: "We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of Manim, we ask that you cite Manim in your work."
title: Manim Mathematical Animation Framework
url: "https://www.manim.community/"
version: "v0.10.0"
version: "v0.20.1"
...

View file

@ -152,6 +152,7 @@ Examples of conflicts of interest include:
* The reporter or reported person is a maintainer who regularly reviews your contributions
* The reporter or reported person is your metamour.
* The reporter or reported person is your family member
Committee members do not need to state why they have a conflict of interest, only that one exists. Other team members should not ask why the person has a conflict of interest.
Anyone who has a conflict of interest will remove themselves from the discussion of the incident, and recluse themselves from voting on a response to the report.
@ -182,7 +183,7 @@ Reports which involve higher risk or higher impact may face more severe conseque
### Propose consequences
What follows are examples of possible consequences to an incident report. This consequences list is not inclusive, and the Manim Community Code of Conduct team reserves the right to take any action it deems necessary.
What follows are examples of possible consequences of an incident report. This list of consequences is not exhaustive, and the Manim Community Code of Conduct team reserves the right to take any action it deems necessary.
Possible private responses to an incident include:

View file

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2021, the Manim Community Developers
Copyright (c) 2024, the Manim Community Developers
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

103
README.md
View file

@ -1,17 +1,15 @@
<p align="center">
<a href="https://www.manim.community/"><img src="https://raw.githubusercontent.com/ManimCommunity/manim/main/logo/cropped.png"></a>
<a href="https://www.manim.community/"><img src="https://raw.githubusercontent.com/ManimCommunity/manim/main/logo/cropped.png" alt="Manim Community logo"></a>
<br />
<br />
<a href="https://pypi.org/project/manim/"><img src="https://img.shields.io/pypi/v/manim.svg?style=flat&logo=pypi" alt="PyPI Latest Release"></a>
<a href="https://hub.docker.com/r/manimcommunity/manim"><img src="https://img.shields.io/docker/v/manimcommunity/manim?color=%23099cec&label=docker%20image&logo=docker" alt="Docker image"> </a>
<a href="https://mybinder.org/v2/gh/ManimCommunity/jupyter_examples/HEAD?filepath=basic_example_scenes.ipynb"><img src="https://mybinder.org/badge_logo.svg"></a>
<a href="https://mybinder.org/v2/gh/ManimCommunity/jupyter_examples/HEAD?filepath=basic_example_scenes.ipynb"><img src="https://mybinder.org/badge_logo.svg" alt="Launch Binder"></a>
<a href="http://choosealicense.com/licenses/mit/"><img src="https://img.shields.io/badge/license-MIT-red.svg?style=flat" alt="MIT License"></a>
<a href="https://www.reddit.com/r/manim/"><img src="https://img.shields.io/reddit/subreddit-subscribers/manim.svg?color=orange&label=reddit&logo=reddit" alt="Reddit" href=></a>
<a href="https://twitter.com/manim_community/"><img src="https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40manim_community" alt="Twitter">
<a href="https://www.manim.community/discord/"><img src="https://img.shields.io/discord/581738731934056449.svg?label=discord&color=yellow&logo=discord" alt="Discord"></a>
<a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black">
<a href="https://twitter.com/manimcommunity/"><img src="https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40manimcommunity" alt="Twitter">
<a href="https://manim.community/discord/"><img src="https://img.shields.io/discord/581738731934056449.svg?label=discord&color=yellow&logo=discord" alt="Discord"></a>
<a href="https://docs.manim.community/"><img src="https://readthedocs.org/projects/manimce/badge/?version=latest" alt="Documentation Status"></a>
<a href="https://pepy.tech/project/manim"><img src="https://pepy.tech/badge/manim/month?" alt="Downloads"> </a>
<img src="https://github.com/ManimCommunity/manim/workflows/CI/badge.svg" alt="CI">
<br />
<br />
@ -21,25 +19,27 @@
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/).
> NOTE: This repository is maintained by the Manim Community and is not associated with Grant Sanderson or 3Blue1Brown in any way (although we are definitely indebted to him for providing his work to the world). If you would like to study how Grant makes his videos, head over to his repository ([3b1b/manim](https://github.com/3b1b/manim)). This fork is updated more frequently than his, and it's recommended to use this fork if you'd like to use Manim for your own projects.
> [!NOTE]
> The community edition of Manim (ManimCE) is a version maintained and developed by the community. It was 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 continues to maintain his own repository, 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)).
## Table of Contents:
- [Installation](#installation)
- [Usage](#usage)
- [Documentation](#documentation)
- [Docker](#docker)
- [Help with Manim](#help-with-manim)
- [Contributing](#contributing)
- [License](#license)
- [Installation](#installation)
- [Usage](#usage)
- [Documentation](#documentation)
- [Docker](#docker)
- [Help with Manim](#help-with-manim)
- [Contributing](#contributing)
- [License](#license)
## Installation
> **WARNING:** 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/installation/versions.html) and decide which version you wish to install, then only follow the instructions for your desired version.
> [!CAUTION]
> 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.
Manim requires a few dependencies that must be installed prior to using it. If you
want to try it out first before installing it locally, you can do so
[in our online Jupyter environment](https://mybinder.org/v2/gist/behackl/725d956ec80969226b7bf9b4aef40b78/HEAD?filepath=basic%20example%20scenes.ipynb).
[in our online Jupyter environment](https://try.manim.community/).
For local installation, please visit the [Documentation](https://docs.manim.community/en/stable/installation.html)
and follow the appropriate instructions for your operating system.
@ -75,7 +75,6 @@ You should see your native video player program pop up and play a simple scene i
[GitHub repository](example_scenes). You can also visit the [official gallery](https://docs.manim.community/en/stable/examples.html) for more advanced examples.
Manim also ships with a `%%manim` IPython magic which allows to use it conveniently in JupyterLab (as well as classic Jupyter) notebooks. See the
[corresponding documentation](https://docs.manim.community/en/stable/reference/manim.utils.ipython_magic.ManimMagic.html) for some guidance and
[try it out online](https://mybinder.org/v2/gh/ManimCommunity/jupyter_examples/HEAD?filepath=basic_example_scenes.ipynb).
@ -89,11 +88,11 @@ The `-p` flag in the command above is for previewing, meaning the video file wil
Some other useful flags include:
- `-s` to skip to the end and just show the final frame.
- `-n <number>` to skip ahead to the `n`'th animation of a scene.
- `-f` show the file in the file browser.
- `-s` to skip to the end and just show the final frame.
- `-n <number>` to skip ahead to the `n`'th animation of a scene.
- `-f` show the file in the file browser.
For a thorough list of command line arguments, visit the [documentation](https://docs.manim.community/en/stable/tutorials/configuration.html).
For a thorough list of command line arguments, visit the [documentation](https://docs.manim.community/en/stable/guides/configuration.html).
## Documentation
@ -101,56 +100,8 @@ Documentation is in progress at [ReadTheDocs](https://docs.manim.community/).
## Docker
The community also maintains a docker image (`manimcommunity/manim`), which can be found [on DockerHub](https://hub.docker.com/r/manimcommunity/manim). The following tags are supported:
- `latest` -- the most recent version corresponding to [the main branch](https://github.com/ManimCommunity/manim)
- `stable` -- the latest released version (according to [the releases page](https://github.com/ManimCommunity/manim/releases))
- `vX.Y.Z` -- any particular released version (according to [the releases page](https://github.com/ManimCommunity/manim/releases))
### Instructions for running the docker image
#### Quick Example
To render a scene `CircleToSquare` in a file `test_scenes.py` contained in your current working directory while preserving your user and group ID, use
```sh
docker run --rm -it --user="$(id -u):$(id -g)" -v "$(pwd)":/manim manimcommunity/manim manim test_scenes.py CircleToSquare -qm
```
#### Running the image in the background
Instead of using the "throwaway container" approach sketched above, you can also create a named container that you can also modify to your liking. First, run
```sh
docker run -it --name my-manim-container -v "$(pwd):/manim" manimcommunity/manim /bin/bash
```
to obtain an interactive shell inside your container allowing you to, e.g., install further dependencies (like texlive packages using `tlmgr`). Exit the container as soon as you are satisfied. Then, before using it, start the container by running
```sh
docker start my-manim-container
```
Then, to render a scene `CircleToSquare` in a file `test_scenes.py`, call
```sh
docker exec -it --user="$(id -u):$(id -g)" my-manim-container manim test.py CircleToSquare -qm
```
#### Jupyterlab
Another alternative is to use the docker image to spin up a local webserver running
JupyterLab in whose Python kernel manim is installed and can be accessed via the `%%manim` cell magic.
To use JupyterLab, run
```sh
docker run -it -p 8888:8888 manimcommunity/manim jupyter lab --ip=0.0.0.0
```
and then follow the instructions in the terminal.
#### Important notes
When executing `manim` within a Docker container, several command line flags (in particular `-p` (preview file) and `-f` (show output file in the file browser)) are not supported.
The community also maintains a docker image (`manimcommunity/manim`), which can be found [on DockerHub](https://hub.docker.com/r/manimcommunity/manim).
Instructions on how to install and use it can be found in our [documentation](https://docs.manim.community/en/stable/installation/docker.html).
## Help with Manim
@ -161,8 +112,14 @@ Server](https://www.manim.community/discord/) or [Reddit Community](https://www.
Contributions to Manim are always welcome. In particular, there is a dire need for tests and documentation. For contribution guidelines, please see the [documentation](https://docs.manim.community/en/stable/contributing.html).
Most developers on the project use `poetry` for management. You'll want to have poetry installed and available in your environment.
Learn more about `poetry` at its [documentation](https://python-poetry.org/docs/) and find out how to install manim with poetry at the [manim dev-installation guide](https://docs.manim.community/en/stable/contributing/development.html) in the manim documentation.
However, please note that Manim is currently undergoing a major refactor. In general,
contributions implementing new features will not be accepted in this period.
The contribution guide may become outdated quickly; we highly recommend joining our
[Discord server](https://www.manim.community/discord/) to discuss any potential
contributions and keep up to date with the latest developments.
Most developers on the project use `uv` for management. You'll want to have uv installed and available in your environment.
Learn more about `uv` at its [documentation](https://docs.astral.sh/uv/) and find out how to install manim with uv at the [manim dev-installation guide](https://docs.manim.community/en/latest/contributing/development.html) in the manim documentation.
## How to Cite Manim

382
agents/typst_selector.md Normal file
View file

@ -0,0 +1,382 @@
# Design: Sub-Expression Selection for `Typst` / `TypstMath`
## Problem Statement
Users need to interact with individual parts of a Typst-rendered expression:
color a variable, animate the numerator of a fraction, morph one sub-expression
into another, etc. The `MathTex` class solves this with:
1. **`{{ ... }}` double-brace notation** — splits the TeX string into named
submobject groups at compile time.
2. **`substrings_to_isolate` / `get_part_by_tex`** — identifies submobjects
whose TeX source matches a given string.
Both mechanisms ultimately rely on injecting `\special{dvisvgm:raw <g id='...'>}`
markers into the LaTeX source so that the resulting SVG contains `<g>` elements
with known `id` attributes, which SVGMobject's parser maps to `VGroup`
sub-trees via `id_to_vgroup_dict`.
We need an analogous mechanism for Typst.
## Key Discovery: `data-typst-label` in SVG Output
Typst's SVG renderer (`typst-svg` crate) already emits a `data-typst-label`
attribute on `<g>` elements whenever a `GroupItem` (hard frame) carries a
label. The relevant code path:
```rust
// typst-svg/src/lib.rs — render_group()
if let Some(label) = group.label {
svg.init().attr("data-typst-label", label.resolve());
}
```
A **hard frame** is created by the `box` element (and `block`, etc.). Crucially,
`box` can be used inline inside math mode, and labels can be attached to it.
### Proof of Concept
The following Typst helper wraps content in a labeled `box`:
```typst
#let grp(lbl, body) = [#box(body) #label(lbl)]
```
When used in math:
```typst
$ #grp("numerator", $a + b$) / #grp("denom", $c - d$) = #grp("result", $x$) $
```
The compiled SVG contains:
```xml
<g class="typst-group" ... data-typst-label="numerator">
<!-- glyphs for a + b -->
</g>
<g class="typst-group" ... data-typst-label="denom">
<!-- glyphs for c - d -->
</g>
<g class="typst-group" ... data-typst-label="result">
<!-- glyph for x -->
</g>
```
**Nesting works.** A `grp` wrapping a fraction that itself contains `grp`-ed
sub-parts produces nested `data-typst-label` groups:
```typst
$ #grp("whole-frac", $frac(#grp("numerator", $a + b$), #grp("denom", $c - d$))$) $
```
SVG output:
```xml
<g ... data-typst-label="whole-frac">
<g ... data-typst-label="numerator"> ... </g>
<g ... data-typst-label="denom"> ... </g>
<path class="typst-shape" ... /> <!-- fraction bar -->
</g>
```
### SVG Parser Compatibility
Manim uses `svgelements` to parse SVGs. The library preserves
`data-typst-label` in the `values` dictionary of `Group` objects, and it
propagates to child elements. Manim's `SVGMobject.get_mobjects_from()` already
iterates over groups and builds `id_to_vgroup_dict` keyed by the `id` attribute.
Extending this to also key by `data-typst-label` is straightforward.
## Proposed Interface
### 1. Explicit Groups via `{{ ... }}` Notation (Compile-Time)
Mirror the `MathTex` double-brace convention. Users write:
```python
eq = TypstMath("{{ a + b }} / {{ c - d }} = {{ x }}")
```
The pre-processor splits on `{{ ... }}` (reusing the same whitespace-guard
rules as `MathTex._split_double_braces`) and wraps each group in a labeled
`box` call:
```typst
$ #box[$a + b$] <_grp-0> / #box[$c - d$] <_grp-1> = #box[$x$] <_grp-2> $
```
Each group gets an auto-generated label (`_grp-0`, `_grp-1`, ...).
The `data-typst-label` attributes then appear in the SVG, and
`SVGMobject.get_mobjects_from()` can map them to `VGroup` entries in
`label_to_vgroup_dict` (or reuse `id_to_vgroup_dict`).
These groups become sub-mobjects of the `TypstMath` instance, accessible by
index:
```python
eq[0] # VGroup for "a + b"
eq[1] # VGroup for "c - d"
eq[2] # VGroup for "x"
```
(Non-group content between groups — like `/` and `=` — also becomes
its own submobject, mirroring `MathTex` behavior.)
**For `Typst` (text mode):** the same `{{ ... }}` notation applies, but the
wrapper is `#box[...]` without math delimiters.
### 2. Named Groups via Labels
Users can also assign explicit label names for retrieval by name:
```python
eq = Typst(
r"$ #box[$a + b$] <numerator> / #box[$c - d$] <denom> $"
)
eq.select("numerator").set_color(RED)
eq.select("denom").set_color(BLUE)
```
Alternatively, an even more ergonomic approach that hides the `box` boilerplate
and uses the `{{ ... : label }}` notation:
```python
eq = TypstMath("{{ a + b : numerator }} / {{ c - d : denom }}")
eq.select("numerator").set_color(RED)
```
Here the pre-processor recognizes `{{ content : label }}` and emits
`#box[$content$] <label>` in the Typst source.
### 3. The `.select()` Method
```python
def select(self, key: str | int) -> VGroup:
"""Select a labeled sub-expression.
Parameters
----------
key
Either a label name (string) matching a ``data-typst-label``
in the SVG, or an integer index into the auto-numbered
``{{ ... }}`` groups.
Returns
-------
VGroup
The sub-mobjects corresponding to the selected group.
Raises
------
KeyError
If no group with the given label/index exists.
"""
```
This returns a `VGroup` containing exactly the submobjects (paths) that
were rendered inside the corresponding `<g data-typst-label="...">` in the SVG.
## Implementation Plan
### Step 1: Extend `SVGMobject.get_mobjects_from()` to Track Labels
In `manim/mobject/svg/svg_mobject.py`, the group-walking loop already checks
for `id` attributes. Add a parallel check for `data-typst-label`:
```python
try:
group_name = str(element.values["id"])
except Exception:
# Fall back to data-typst-label if available
label = element.values.get("data-typst-label")
if label:
group_name = f"typst-label:{label}"
else:
group_name = f"numbered_group_{group_id_number}"
group_id_number += 1
```
This automatically populates `id_to_vgroup_dict` with label-keyed entries.
### Step 2: Pre-Processing `{{ ... }}` in Typst Source
Add a `_split_and_label_groups()` method that:
1. Scans the input for `{{ ... }}` or `{{ ... : label }}` patterns
(using the same whitespace-guard rules as `MathTex._split_double_braces`).
2. Replaces each group with `#box[$content$] <label>` (math mode) or
`#box[content] <label>` (text mode).
3. Records the mapping from label → original source string for later lookup.
### Step 3: `Typst.select()` / Index Access
- Store the ordered list of group labels and their source strings.
- `select(label_or_index)` looks up the corresponding `VGroup` from
`id_to_vgroup_dict` (using the `typst-label:...` key).
- `__getitem__(int)` returns the *n*-th group's `VGroup`.
### Step 4: Compatibility with `TransformMatchingTex` (future)
`TransformMatchingTex` (and its successor `TransformMatchingShapes`) works by
matching submobjects between two `MathTex` instances by their TeX string keys.
The same approach extends to `Typst` if each `{{ ... }}` group carries its
original source string as metadata. A `TransformMatchingTypst` animation could
match groups by label name or by source string equality.
## Open Design Questions
### Q1: Context-Aware Wrapping — Math vs. Text Mode
The `box` + `label` mechanism works identically in math and text mode, but the
**wrapping** of group content must match the surrounding context:
- **In text mode:** `{{ Hello : greeting }}``#box[Hello] <greeting>`
- **In math mode:** `{{ y^2 : second }}``#box[$y^2$] <second>`
Getting this wrong is not a silent error — it produces visually broken output.
Wrapping math content with `#box[y^2]` (no `$...$`) renders `y^2` as literal
text in the body font instead of as a math superscript.
This is a real problem for `Typst()`, where a single source string can mix text
and math freely:
```python
Typst("hello world, here is a formula: $x^2 + {{ y^2 : second }} = z^2$")
```
Here `{{ y^2 : second }}` is inside a `$ ... $` block, so it needs the
math-mode wrapper, but the pre-processor has no way to know this unless it
tracks `$` delimiters.
### The `#` prefix problem and math calls
A natural idea is to translate `{{ content }}` into a Typst function call like
`grp("lbl", content)`. However, this has a subtle but critical context
sensitivity: Typst has two different call conventions depending on context:
- **Math call** (no `#` prefix): `$ grp("lbl", a^2 + b) $` — arguments are
parsed **in math mode**. The content `a^2 + b` is math. ✓
- **Code call** (`#` prefix): `$ #grp("lbl", a^2 + b) $` — arguments are
parsed **in code mode**. `a^2` is a syntax error in code! ✗
So in math mode, the function MUST be called without `#` for args to stay in
math mode. In text/markup mode, the function MUST be called WITH `#` (that's
how you invoke code from markup), and content arguments need `[...]` wrapping:
```typst
// Text context: #grp("lbl", [Hello world])
// Math context: grp("lbl", a^2 + b)
```
The function definition is the same either way:
```typst
#let grp(lbl, body) = [#box(body) #label(lbl)]
```
This means the function call approach has **exactly the same context problem**
as the raw `#box` approach: the pre-processor must know whether it's in math or
text to emit the right calling convention.
### Further complication: string literals and content blocks
Even inside `TypstMath` (where everything is math), the scanner must avoid
`{{ }}` matches inside string literals or content blocks:
```python
TypstMath('x^2 + y^2 =_("Hello {{ world }}") z^2')
```
Here `{{ world }}` is inside a `"..."` string literal — it should NOT be
processed. Similarly, content blocks `[...]` inside math switch back to text
mode.
### Options
**A. `TypstMath`: math calls with simple string-aware scanning.**
For `TypstMath`, the entire body is math, so `{{ content }}` always becomes
`grp("_grp-N", content)` (no `#`, no `$...$`). The scanner just needs to
skip `"..."` string literals and `[...]` content blocks — no `$` tracking
needed. This is clean and robust.
**B. `Typst`: context-aware scanning (full parser).**
For the general `Typst` class, the scanner must additionally track `$...$`
math blocks (toggling a mode flag on unescaped `$`) to choose between
`grp(...)` (in math) and `#grp("lbl", [...])` (in text). It must also handle
string literals and content blocks inside math that switch context back. This
is doable but non-trivial — essentially a mini Typst lexer.
**C. `Typst`: no `{{ }}`, manual groups only.**
For the general `Typst` class, don't support `{{ }}` at all. Users write
`grp(...)` / `#grp(...)` themselves (with the helper injected into the
preamble). `{{ }}` is only available on `TypstMath`. This is simpler and
avoids the parsing complexity, at the cost of ergonomics for mixed-mode
documents.
**Recommendation:** Start with A (TypstMath only) and C (manual for Typst).
Upgrade to B later if demand warrants it — the function call infrastructure
is already in place, it's only the scanner that needs upgrading.
### Q2: What about "unlabeled" content between groups?
Like `MathTex`, the pieces of content *between* `{{ ... }}` groups should also
become their own submobjects (auto-labeled with sequential indices). For
example:
```python
TypstMath("{{ a }} + {{ b }} = {{ c }}")
# group-0: "a"
# group-1: "+" (auto-group for inter-group content)
# group-2: "b"
# group-3: "=" (auto-group for inter-group content)
# group-4: "c"
```
Each segment (group or inter-group) gets wrapped in its own labeled `box`.
### Q3: What happens with `box` and baseline alignment?
`box` is an inline element in Typst, and when used inside math mode it
participates in math layout. Testing confirms that fractions, superscripts, and
other constructs render correctly when their children are `box`-wrapped.
However, `box` creates a "hard frame" boundary which may subtly affect spacing
in edge cases (e.g., math operator spacing around a boxed expression). This
needs further testing; if issues arise, we could explore `block(breakable: false)`
or invisible `rect` wrappers as alternatives.
### Q4: Can we avoid the `#grp(...)` / `#box[...] <label>` verbosity?
Yes — the `{{ ... }}` double-brace notation is purely syntactic sugar that gets
pre-processed by Manim before the source reaches the Typst compiler. Users never
need to write raw `#box` or `#label()` calls unless they want finer control.
### Q5: String-based selection without explicit groups?
A future enhancement could support:
```python
eq = TypstMath(r"a + b = c")
eq.select("a") # finds submobjects corresponding to the glyph "a"
```
This is hard to do reliably because:
- Typst SVGs embed glyphs as `<use xlink:href="#gXXX">` references; there's no
text content in the SVG itself.
- A single variable in Typst may span multiple glyphs (e.g., `"alpha"` → one
glyph) or identical glyphs may appear multiple times.
A possible approach: at pre-processing time, wrap every "token" in the Typst
math source in its own labeled `box`. This would require a Typst math tokenizer
and is better suited for a v2 implementation.
## Summary: What Typst Gives Us
| Mechanism | How it works | SVG output |
|---|---|---|
| `#box(body) <label>` | Creates a hard-frame `GroupItem` with a `Label` | `<g data-typst-label="label">...</g>` |
| `#metadata(val) <label>` | Invisible; queryable via `typst query` CLI | No visual output (useful for CLI queries, not SVG) |
| Show rules on labels | `#show <label>: ...` | Transforms visual output but no automatic SVG grouping |
| `context query(<label>)` | Document introspection (positions, counters) | In-document only; not available from Python |
The `box` + `label` mechanism is the **only** one that produces identifiable
groups in the SVG output, making it the correct tool for sub-expression
selection in Manim.

View file

@ -1,25 +0,0 @@
# This file is automatically picked by pytest
# while running tests. So, that each test is
# run on difference temporary directories and avoiding
# errors.
# If it is running Doctest the current directory
# is changed because it also tests the config module
# itself. If it's a normal test then it uses the
# tempconfig to change directories.
import pytest
from _pytest.doctest import DoctestItem
from manim import config, tempconfig
@pytest.fixture(autouse=True)
def temp_media_dir(tmpdir, monkeypatch, request):
if isinstance(request.node, DoctestItem):
monkeypatch.chdir(tmpdir)
yield tmpdir
else:
with tempconfig({"media_dir": str(tmpdir)}):
assert config.media_dir == str(tmpdir)
yield tmpdir

3
crowdin.yml Normal file
View file

@ -0,0 +1,3 @@
files:
- source: /docs/i18n/gettext/**/*.pot
translation: /docs/i18n/%two_letters_code%/LC_MESSAGES/**/%file_name%.po

View file

@ -1,55 +1,88 @@
FROM python:3.8-slim
# ── Stage 1: builder ─────────────────────────────────────────────────────────
FROM python:3.14-slim AS builder
RUN apt-get update -qq \
&& apt-get install --no-install-recommends -y \
ffmpeg \
build-essential \
gcc \
cmake \
make \
pkg-config \
wget \
libcairo2-dev \
libffi-dev \
libpango1.0-dev \
freeglut3-dev \
pkg-config \
make \
wget
libegl-dev \
&& rm -rf /var/lib/apt/lists/*
# setup a minimal texlive installation
# Setup a minimal TeX Live installation (no ctex: drops ~100 MB of CJK fonts/packages)
COPY docker/texlive-profile.txt /tmp/
ENV PATH=/usr/local/texlive/bin/armhf-linux:/usr/local/texlive/bin/aarch64-linux:/usr/local/texlive/bin/x86_64-linux:$PATH
RUN wget -O /tmp/install-tl-unx.tar.gz http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz && \
mkdir /tmp/install-tl && \
tar -xzf /tmp/install-tl-unx.tar.gz -C /tmp/install-tl --strip-components=1 && \
/tmp/install-tl/install-tl --profile=/tmp/texlive-profile.txt \
RUN wget -O /tmp/install-tl-unx.tar.gz http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz \
&& mkdir /tmp/install-tl \
&& tar -xzf /tmp/install-tl-unx.tar.gz -C /tmp/install-tl --strip-components=1 \
&& /tmp/install-tl/install-tl --profile=/tmp/texlive-profile.txt \
&& tlmgr install \
amsmath babel-english cbfonts-fd cm-super ctex doublestroke dvisvgm everysel \
amsmath babel-english cbfonts-fd cm-super count1to doublestroke dvisvgm everysel \
fontspec frcursive fundus-calligra gnu-freefont jknapltx latex-bin \
mathastext microtype ms physics preview ragged2e relsize rsfs \
setspace standalone tipa wasy wasysym xcolor xetex xkeyval
mathastext microtype multitoc physics prelim2e preview ragged2e relsize rsfs \
setspace standalone tipa wasy wasysym xcolor xetex xkeyval \
&& rm -rf /tmp/install-tl /tmp/install-tl-unx.tar.gz
# Install manim into an isolated virtualenv
ENV VIRTUAL_ENV=/opt/venv
RUN python -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# clone and build manim
COPY . /opt/manim
WORKDIR /opt/manim
RUN pip install --no-cache .[jupyterlab,webgl_renderer]
RUN pip install --no-cache-dir .[jupyterlab]
RUN pip install -r docs/requirements.txt
# ── Stage 2: runtime ─────────────────────────────────────────────────────────
FROM python:3.14-slim
# Runtime libs only:
# - no ffmpeg: PyAV (av package) bundles its own ffmpeg libraries in av.libs/
# - OpenGL: keep EGL for headless rendering and libGL as required by moderngl/glcontext
# - fonts-noto-core instead of fonts-noto (drops CJK noto fonts)
RUN apt-get update -qq \
&& apt-get install --no-install-recommends -y \
libcairo2 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libpangoft2-1.0-0 \
libffi8 \
libegl1 \
libgl1 \
ghostscript \
fonts-noto-core \
fontconfig \
&& rm -rf /var/lib/apt/lists/*
RUN fc-cache -fv
# Copy TeX Live from builder
ENV PATH=/usr/local/texlive/bin/armhf-linux:/usr/local/texlive/bin/aarch64-linux:/usr/local/texlive/bin/x86_64-linux:$PATH
COPY --from=builder /usr/local/texlive /usr/local/texlive
# Copy the pre-built virtualenv from builder
ENV VIRTUAL_ENV=/opt/venv
COPY --from=builder /opt/venv /opt/venv
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
ARG NB_USER=manimuser
ARG NB_UID=1000
ENV USER ${NB_USER}
ENV NB_UID ${NB_UID}
ENV HOME /manim
ENV USER=${NB_USER}
ENV NB_UID=${NB_UID}
ENV HOME=/manim
RUN adduser --disabled-password \
--gecos "Default user" \
--uid ${NB_UID} \
${NB_USER}
# create working directory for user to mount local directory into
WORKDIR ${HOME}
USER root
RUN chown -R ${NB_USER}:${NB_USER} ${HOME}
RUN chmod 777 ${HOME}
RUN chown -R ${NB_USER}:${NB_USER} ${HOME} && chmod 777 ${HOME}
USER ${NB_USER}
CMD [ "/bin/bash" ]
CMD ["/bin/bash"]

View file

@ -13,3 +13,11 @@ Multi-platform builds are possible by running
docker buildx build --push --platform linux/arm64/v8,linux/amd64 --tag manimcommunity/manim:TAG -f docker/Dockerfile .
```
from the root directory of the repository.
# Runtime notes
- The image is built via a multi-stage Dockerfile (build dependencies are not
carried into the runtime stage).
- The image does not include the `ffmpeg` CLI binary.
- The default TeX installation is minimal and does not include `ctex`.
- Headless OpenGL rendering relies on EGL/GL runtime libraries available in the
image.

View file

@ -25,12 +25,7 @@ cleanall: clean
@rm -rf source/media
@rm -f rendering_times.csv
i18n:
cd source
$(SPHINXBUILD) -M gettext "$(SOURCEDIR)" ../i18n/ -t skip-manim $(SPHINXOPTS) $(O)
rm -rf ../i18n/en/
sphinx-intl update --language=en -p ../i18n/gettext/
cd ../i18n
bash stripUntranslatable.sh
@(cd source; $(SPHINXBUILD) -M gettext "$(SOURCEDIR)" ../i18n/ -t skip-manim $(SPHINXOPTS) $(O);cd ../i18n;bash stripUntranslatable.sh)
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).

View file

@ -1,15 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/changelog.rst:3
msgid "Changelog"
msgstr ""

View file

@ -1,178 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/changelog/0.1.1-changelog.rst:3
msgid "v0.1.1"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst
msgid "Date"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:5
msgid "December 1, 2020"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:7
msgid "Changes since Manim Community release v0.1.0"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:10
msgid "Plugins"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:12
msgid ""
"Provided a standardized method for plugin discoverability, creation, "
"installation, and usage. See the :ref:`documentation <plugins>`."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:16
msgid "Fixes"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:18
msgid "JsRender is optional to install. (via :pr:`697`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:19
msgid ""
"Allow importing modules from the same directory as the input file when "
"using ``manim`` from the command line (via :pr:`724`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:21
msgid ""
"Remove some unnecessary or unpythonic methods from :class:`~.Scene` "
"(``get_mobjects``, ``add_mobjects_among``, ``get_mobject_copies``), via "
":pr:`758`."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:24
msgid "Fix formatting of :class:`~.Code` (via :pr:`798`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:27
msgid "Configuration"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:29
msgid ""
"Removed the ``skip_animations`` config option and added the "
"``Renderer.skip_animations`` attribute instead (via :pr:`696`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:31
msgid ""
"The global ``config`` dict has been replaced by a global ``config`` "
"instance of the new class :class:`~.ManimConfig`. This class has a dict-"
"like API, so this should not break user code, only make it more robust. "
"See the Configuration tutorial for details."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:35
msgid ""
"Added the option to configure a directory for external assets (via "
":pr:`649`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:39
msgid "Documentation"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:41
msgid ""
"Add ``:issue:`` and ``:pr:`` directives for simplifying linking to issues"
" and pull requests on GitHub (via :pr:`685`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:43
msgid ""
"Add a ``skip-manim`` tag for skipping the ``.. manim::`` directive when "
"building the documentation locally (via :pr:`796`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:48
msgid "Mobjects, Scenes, and Animations"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:50
msgid ""
"The ``alignment`` attribute to Tex and MathTex has been removed in favour"
" of ``tex_environment``."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:51
msgid ""
":class:`~.Text` now uses Pango for rendering. ``PangoText`` has been "
"removed. The old implementation is still available as a fallback as "
":class:`~.CairoText`."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:52
msgid ""
"Variations of :class:`~.Dot` have been added as :class:`~.AnnotationDot` "
"(a bigger dot with bolder stroke) and :class:`~.LabeledDot` (a dot "
"containing a label)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:55
msgid "Scene.set_variables_as_attrs has been removed (via :pr:`692`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:56
msgid ""
"Ensure that the axes for graphs (:class:`GraphScene`) always intersect "
"(:pr:`580`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:57
msgid ""
"Now Mobject.add_updater does not call the newly-added updater by default "
"(use ``call_updater=True`` instead) (via :pr:`710`)"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:59
msgid ""
"VMobject now has methods to determine and change the direction of the "
"points (via :pr:`647`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:60
msgid "Added BraceBetweenPoints (via :pr:`693`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:61
msgid "Added ArcPolygon and ArcPolygonFromArcs (via :pr:`707`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:62
msgid "Added Cutout (via :pr:`760`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:63
msgid ""
"Added Mobject raise not implemented errors for dunder methods and "
"implementations for VGroup dunder methods (via :pr:`790`)."
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:64
msgid ""
"Added :class:`~.ManimBanner` for a animated version of our logo and "
"banner (via :pr:`729`)"
msgstr ""
#: ../../source/changelog/0.1.1-changelog.rst:65
msgid ""
"The background color of a scene can now be changed reliably by setting, "
"e.g., ``self.camera.background_color = RED`` (via :pr:`716`)."
msgstr ""

View file

@ -1,860 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/changelog/0.5.0-changelog.rst:3
msgid "v0.5.0"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst
msgid "Date"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:5
msgid "April 02, 2021"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:8
msgid "Contributors"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:10
msgid ""
"A total of 35 people contributed to this release. People with a '+' by "
"their names authored a patch for the first time."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:14
msgid "Abel Aebker +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:15
#: ../../source/changelog/0.5.0-changelog.rst:47
msgid "Abhijith Muthyala"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:16
msgid "AntonBallmaier +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:17
msgid "Aron"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:18
#: ../../source/changelog/0.5.0-changelog.rst:48
msgid "Benjamin Hackl"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:19
msgid "Bogdan Stăncescu +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:20
msgid "Darylgolden"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:21
#: ../../source/changelog/0.5.0-changelog.rst:50
msgid "Devin Neal"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:22
msgid "GameDungeon +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:23
#: ../../source/changelog/0.5.0-changelog.rst:51
msgid "Hugues Devimeux"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:24
#: ../../source/changelog/0.5.0-changelog.rst:52
msgid "Jason Villanueva"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:25
#: ../../source/changelog/0.5.0-changelog.rst:53
msgid "Kapil Sachdeva"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:26
#: ../../source/changelog/0.5.0-changelog.rst:54
msgid "KingWampy"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:27
msgid "Lionel Ray +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:28
#: ../../source/changelog/0.5.0-changelog.rst:57
msgid "Mark Miller"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:29
msgid "Mohammad Al-Fetyani +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:30
#: ../../source/changelog/0.5.0-changelog.rst:59
msgid "Naveen M K"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:31
msgid "Niklas Dewally +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:32
msgid "Oliver +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:33
msgid "Roopesh +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:34
msgid "Seb Pearce +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:35
msgid "aebkea +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:36
msgid "friedkeenan"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:37
msgid "hydrobeam +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:38
msgid "kolibril13"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:39
msgid "sparshg"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:40
msgid "tfglynn +"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:43
msgid ""
"The patches included in this release have been reviewed by the following "
"contributors."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:46
msgid "Abel Aebker"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:49
msgid "Bogdan Stăncescu"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:55
msgid "Leo Torres"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:56
msgid "Lionel Ray"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:58
msgid "Mohammad Al-Fetyani"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:60
msgid "Oliver"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:61
msgid "Ricky Chon"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:62
msgid "vector67"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:65
msgid "Pull requests merged"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:67
msgid "A total of 64 pull requests were merged for this release."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:70
msgid "Highlights"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:73
msgid ""
"`#1075 <https://github.com/ManimCommunity/manim/pull/1075>`__: Add OpenGL"
" Renderer"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:73
msgid ""
"Adds an OpenGLRenderer, OpenGLCamera, OpenGL-enabled Mobjects, and a "
"``--use_opengl_renderer`` flag. When this flag is passed, you can pass "
"the ``-p`` flag to preview animations, the ``-w`` flag to generate video,"
" and the ``-q`` flag to specify render quality. If you don't pass either "
"the ``-p`` or the ``-w`` flag, nothing will happen. Scenes rendered with "
"the OpenGL renderer must *only* use OpenGL-enabled Mobjects."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:76
msgid "Deprecated classes and functions"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:80
msgid ""
"`#1124 <https://github.com/ManimCommunity/manim/pull/1124>`__: Deprecated"
" :class:`ShowCreation` in favor of :class:`Create`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:79
msgid ""
"Deprecated :class:`ShowCreation` in favor of :class:`Create` across the "
"library with the exception of the `show_creation` boolean variable "
"`vector_space_scene.py`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:80
msgid "Added a deprecation warning in the original :class:`ShowCreation` class."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:83
msgid ""
"`#1110 <https://github.com/ManimCommunity/manim/pull/1110>`__: Deprecated"
" SmallDot + OpenGLSmallDot"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:83
msgid ""
"`SmallDot` isn't necessary and a deprecation warning will be raised. This"
" will be removed in a future release."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:86
msgid "New features"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:91
msgid ""
"`#1037 <https://github.com/ManimCommunity/manim/pull/1037>`__: Added new "
"fade and transform animations (:class:`~.TransformMatchingShapes`, "
":class:`~.TransformMatchingTex`, :class:`~.FadeTransform`) from "
"3b1b/manim"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:89
msgid ""
"Added new Fade animation: :class:`~FadeOutToPoint` Added "
":class:`~FadeTransform` and :class:`~FadeTransformPieces` for "
"transforming mobjects and submobjects with a fade Added "
":class:`~TransformMatchingShapes` and :class:`~TransformMatchingTex` for "
"transforming mobjects and tex that have matching parts"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:93
msgid ""
"`#1097 <https://github.com/ManimCommunity/manim/pull/1097>`__: Added 3D "
"Mobject :class:`~.Dot3D`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:96
msgid ""
"`#1074 <https://github.com/ManimCommunity/manim/pull/1074>`__: Added "
"jupyter media_width option to the config"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:100
msgid ""
"`#1107 <https://github.com/ManimCommunity/manim/pull/1107>`__: Added "
":class:`~.Unwrite` animation class to complement :class:`~.Write`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:100
msgid ""
"Added :class:`Unwrite` which inherits from :class:`~.Write`. It "
"automatically reverses the animation of :class:`~.Write` by passing the "
"reversed rate function, but it also takes an additional boolean parameter"
" `reverse` which, if `False`, renders the animation from left to right "
"(assuming text oriented in the usual way), but if `True`, it renders "
"right to left."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:103
msgid ""
"`#1085 <https://github.com/ManimCommunity/manim/pull/1085>`__: Added "
":class:`~.Angle` and :class:`~.RightAngle` for intersecting lines"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:103
msgid ""
":class:`~.Angle` and :class:`~.RightAngle` both take two lines as input. "
"If they intersect, or share a common vertex, an angle is drawn between "
"them. Users can customize the look of the angle and also use a dotted "
"right angle."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:106
msgid "Enhancements"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:108
msgid ""
"`#1144 <https://github.com/ManimCommunity/manim/pull/1144>`__: Improved "
"quality of GIFs"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:114
msgid ""
"`#1157 <https://github.com/ManimCommunity/manim/pull/1157>`__: Refresh "
"triangulation on call to :meth:`~.OpenGLVMobject.apply_points_function`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:112
msgid ""
"Rotate called apply_points_function, which was previous not subclassed by"
" OpenGLMobject - now it is. Then, the vertex normals can be updated too."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:114
msgid ""
"Additionally, the old_points matrix would change after rotating, making "
"the old points / new points test irrelevant. This is addressed with a "
".copy call."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:116
msgid ""
"`#1151 <https://github.com/ManimCommunity/manim/pull/1151>`__: Added "
"parametric function support to :class:`OpenGLSurface`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:119
msgid ""
"`#1139 <https://github.com/ManimCommunity/manim/pull/1139>`__: In-Code "
"`config[\"preview\"]` Support"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:123
msgid ""
"`#1123 <https://github.com/ManimCommunity/manim/pull/1123>`__: Added "
"caching, skipping, and user-specified background colors to the OpenGL "
"renderer"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:123
msgid ""
"OpenGL play logic has been improved to support caching and skipping with "
"`-n` argument ( it is now similar to Cairo play logic). A random bug was "
"fixed in OpenGLSurface and OpenGL background color can now be changed via"
" `background_color` argument."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:128
msgid ""
"`#1118 <https://github.com/ManimCommunity/manim/pull/1118>`__: Allow "
"passing animation arguments with .animate syntax"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:126
msgid ""
"Users will now be able to do things like "
"`obj.animate(run_time=2).method(arg)` if they want to specify animation "
"arguments for an individual `.animate` call, and can still not specify "
"any arguments like `obj.animate.method(arg)`."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:128
msgid ""
"Passing animation arguments is only allowed directly after `.animate` is "
"accessed, if passed elsewhere then a `ValueError` is raised."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:132
msgid ""
"`#718 <https://github.com/ManimCommunity/manim/pull/718>`__: Rotating the"
" numbers in y axis"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:131
msgid ""
"In Axes, the y axis will be rotated 90deg but the numbers are also "
"rotated and shouldn't be. Fixes this issue."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:135
msgid ""
"`#1070 <https://github.com/ManimCommunity/manim/pull/1070>`__: Raise "
"FileNotFoundError when unable to locate the .cfg file specified via "
"``--config_file``"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:135
msgid ""
"Raising the error will stop script execution and let the user know that "
"there are problems with the `--config_file` location instead of reverting"
" back to the default configuration."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:138
msgid "Fixed bugs"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:143
msgid ""
"`#1201 <https://github.com/ManimCommunity/manim/pull/1201>`__: Prevent "
"crash on :meth:`~.Scene.embed` for empty scenes"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:146
msgid ""
"`#1192 <https://github.com/ManimCommunity/manim/pull/1192>`__: Fixed "
"issue when an animation is cached, manim can't merge the partial movie "
"files."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:150
msgid ""
"`AnimationGroup` may now take `Animation` objects which do not have a "
"child `Mobject`, such as `Wait`."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:152
msgid ""
"`#1170 <https://github.com/ManimCommunity/manim/pull/1170>`__: Fixed "
"minor SVG parsing bugs"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:155
msgid ""
"`#1159 <https://github.com/ManimCommunity/manim/pull/1159>`__: Added "
"support for multiple transforms in the same SVG element"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:159
msgid ""
"`#1156 <https://github.com/ManimCommunity/manim/pull/1156>`__: Fixed "
":class:`~.DrawBorderThenFill` to support OpenGL and improved type hints "
"for some functions"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:159
msgid ""
"Fixed a bug in :class:`~.DrawBorderThenFill` that prevented "
":class:`~.Write` animations from working with :class:`~.OpenGLVMobjects` "
"and slightly improved type hints for some animation functions to include "
":class:`~.OpenGLVMobject`."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:162
msgid ""
"`#1134 <https://github.com/ManimCommunity/manim/pull/1134>`__: Fixed the "
"`-a` flag."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:162
msgid ""
"The ``-a`` / ``--write-all`` flag was broken. When used, it would cause "
"Manim to crash just after beginning to render the second scene."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:165
msgid ""
"`#1115 <https://github.com/ManimCommunity/manim/pull/1115>`__: Fixed bugs"
" in :class:`~.OpenGLMobject` and added :class:`ApplyMethod` support"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:165
msgid ""
"Fixed undefined variables and converted :class:`Mobject` to "
":class:`OpenGLMobject`. Also, fixed assert statement in "
":class:`ApplyMethod`."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:171
msgid ""
"`#1092 <https://github.com/ManimCommunity/manim/pull/1092>`__: Refactored"
" coordinate_systems.py, fixed bugs, added :class:`~.NumberPlane` test"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:168
msgid ""
"The default behavior of :meth:`~.Mobject.rotate` is to rotate about the "
"center of :class:`~.Mobject`. :class:`~.NumberLine` is symmetric about "
"the point at the number 0 only when ``|x_min|`` == ``|x_max|``. Ideally, "
"the rotation should coincide with the point at number 0 on the line."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:171
msgid ""
"Added a regression test and additionally fixed some bugs introduced in "
":pr:`718`."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:174
msgid ""
"`#1078 <https://github.com/ManimCommunity/manim/pull/1078>`__: Removed "
"stray print statements from `__main__.py`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:174
msgid ""
"Uses rich's print traceback instead and fixes an issue in printing the "
"version twice when `manim --version` is called."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:177
msgid ""
"`#1086 <https://github.com/ManimCommunity/manim/pull/1086>`__: Fixed "
"broken line spacing in :class:`~.Text`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:177
msgid ""
"The `line_spacing` kwarg was missing when creating :class:`Text` "
"Mobjects; this adds it."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:180
msgid ""
"`#1083 <https://github.com/ManimCommunity/manim/pull/1083>`__: Corrected "
"the shape of :class:`~.Torus`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:180
msgid ""
":class:`Torus` draws a surface with an elliptical cross-section when "
"`minor_radius` is different from 1. This PR ensures the cross-section is "
"always a circle."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:183
msgid "Documentation-related changes"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:185
msgid ""
"`#1217 <https://github.com/ManimCommunity/manim/pull/1217>`__: Copyedited"
" the document on testing in our documentation"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:188
msgid ""
"`#1206 <https://github.com/ManimCommunity/manim/pull/1206>`__: Added "
"Docstrings to :class:`~.Mobject`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:191
msgid ""
"`#1218 <https://github.com/ManimCommunity/manim/pull/1218>`__: Removed "
"BezierSpline from the example gallery"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:194
msgid ""
"`#1219 <https://github.com/ManimCommunity/manim/pull/1219>`__: Updated "
"Dockerfile (include dependencies for building documentation), moved "
"documentation to main README"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:198
msgid ""
"`#1209 <https://github.com/ManimCommunity/manim/pull/1209>`__: Added "
":ref_methods: to the manim directive"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:198
msgid ""
"This allows class methods to be linked in the documentation. Checkout the"
" `example references "
"<https://docs.manim.community/en/latest/examples.html#movingaround>`_ "
"below the code to see how this is used!"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:200
msgid ""
"`#1204 <https://github.com/ManimCommunity/manim/pull/1204>`__: Added "
"rotation example to example gallery"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:203
msgid ""
"`#1137 <https://github.com/ManimCommunity/manim/pull/1137>`__: Added "
"GitHub Wiki pages on adding testing/documentation to Sphinx Docs"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:209
msgid ""
"`#1195 <https://github.com/ManimCommunity/manim/pull/1195>`__: Removed "
"SmallDot from example"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:212
msgid ""
"`#1130 <https://github.com/ManimCommunity/manim/pull/1130>`__: Added pre-"
"commit to run black and flake8, updated contributing documentation "
"accordingly"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:216
msgid ""
"`#1138 <https://github.com/ManimCommunity/manim/pull/1138>`__: Moved "
"previous version changelogs to separate files; Added a Script to generate"
" future changelogs"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:216
msgid ""
"This script quickly generates a changelog for whoever is making the "
"release."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:218
msgid ""
"`#1190 <https://github.com/ManimCommunity/manim/pull/1190>`__: Added note"
" in contributing guide to read the latest version of the documentation"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:221
msgid ""
"`#1188 <https://github.com/ManimCommunity/manim/pull/1188>`__: Added "
"sounds example to docs"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:224
msgid ""
"`#1165 <https://github.com/ManimCommunity/manim/pull/1165>`__: Added "
"documentation for installing Manim on Colab"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:230
msgid ""
"`#1177 <https://github.com/ManimCommunity/manim/pull/1177>`__: Replace "
"links to the latest version of the documentation to the stable version"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:233
msgid ""
"`#1077 <https://github.com/ManimCommunity/manim/pull/1077>`__: Added "
"details to :func:`~.Mobject.get_critical_point`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:236
msgid ""
"`#1154 <https://github.com/ManimCommunity/manim/pull/1154>`__: Fixed some"
" typing hints. (ints to floats)"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:239
msgid ""
"`#1036 <https://github.com/ManimCommunity/manim/pull/1036>`__: Added "
":class:`~.SurroundingRectangle` to the example gallery"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:242
msgid ""
"`#1103 <https://github.com/ManimCommunity/manim/pull/1103>`__: Added "
"documentation and examples for Square, Dot, Circle and Rectangle"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:245
msgid ""
"`#1101 <https://github.com/ManimCommunity/manim/pull/1101>`__: Added "
"documentation to :class:`~.Mobject`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:249
msgid ""
"`#1088 <https://github.com/ManimCommunity/manim/pull/1088>`__: Added new "
"svg files to documentation and imports"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:249
msgid ""
"In particular, SVGPathMobject, VMobjectFromPathstring, and the "
"style_utils functions to manim's namespace."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:252
msgid ""
"`#1076 <https://github.com/ManimCommunity/manim/pull/1076>`__: Improve "
"documentation for GraphScene"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:252
msgid ""
"Updated `coords_to_point` and `point_to_coords` under "
"`manim/scene/graph_scene.py` as the dosctring of each function "
"confusingly described the opposite of what it is supposed to do."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:255
msgid "Changes concerning the testing system"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:257
msgid ""
"`#1160 <https://github.com/ManimCommunity/manim/pull/1160>`__: Enable CI "
"testing for OpenGL"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:261
msgid ""
"`#1100 <https://github.com/ManimCommunity/manim/pull/1100>`__: Rewrote "
"test cases to use sys.executable in the command instead of \"python\""
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:261
msgid ""
"Tests would fail due to `capture()` not spawning a subshell in the "
"correct environment, so when python was called, the test would be unable "
"to find necessary packages."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:263
msgid ""
"`#1079 <https://github.com/ManimCommunity/manim/pull/1079>`__: Removed "
"the hardcoded value, `manim`, in `test_version.py`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:267
msgid "Changes to our development infrastructure"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:269
msgid ""
"`#1213 <https://github.com/ManimCommunity/manim/pull/1213>`__: Updated "
"TinyTex dependencies"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:272
msgid ""
"`#1187 <https://github.com/ManimCommunity/manim/pull/1187>`__: Add "
"CodeCov to Github Workflow"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:275
msgid ""
"`#1166 <https://github.com/ManimCommunity/manim/pull/1166>`__: CI: Use "
"poetry's cache dir rather than pip"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:281
msgid ""
"`#1071 <https://github.com/ManimCommunity/manim/pull/1071>`__: Enable "
"pytest-cov based code coverage"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:279
msgid "Include pytest-cov as a python module as part of developer dependencies"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:280
msgid ""
"In updating poetry to include pytest-cov, manimpango moved from version "
"0.2.3 to 0.2.4, and libpango1.0-dev needed to be installed in Ubuntu."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:281
msgid "Add to the CI workflow (`ci.yml`) to create and upload test coverage."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:283
msgid ""
"`#1073 <https://github.com/ManimCommunity/manim/pull/1073>`__: Removed "
"\"one line summary\" from PULL_REQUEST_TEMPLATE.md"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:287
msgid "Code quality improvements and similar refactors"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:289
msgid ""
"`#1167 <https://github.com/ManimCommunity/manim/pull/1167>`__: Merge "
":class:`~.OpenGLMobject` and :class:`~.Mobject`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:292
msgid ""
"`#1164 <https://github.com/ManimCommunity/manim/pull/1164>`__: Fixed "
"single PEP8 style in `cairo_renderer.py`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:295
msgid ""
"`#1140 <https://github.com/ManimCommunity/manim/pull/1140>`__: Flake8 "
"Compat & Code Cleanup"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:305
msgid ""
"`#1019 <https://github.com/ManimCommunity/manim/pull/1019>`__: Refactored"
" :meth:`~.Scene.play`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:299
msgid ""
"Removed the _**three**_ decorators of :meth:`~.Scene.play`, in "
"particular: caching logic and file writer logic are now included within "
":meth:`~.Scene.play` (it wasn't possible before, because `scene.wait` and"
" `scene.play` were two different things)."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:300
msgid ""
"Added `is_static_wait` attributes to Wait. (<=> if wait is a frozen "
"frame)."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:301
msgid ""
"Renamed and moved `scene.add_static_frame` to "
"`renderer.freeze_current_frame`."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:302
msgid ""
"Now when calling play without animation, it raises `ValueError` instead "
"of just a warning."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:303
msgid "Fixed :pr:`874` by modifying `renderer.update_skipping_status`"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:304
msgid ""
"`renderer` starts the animation with `scene.begin_animations` "
"(`scene.compile_animation_data` used to do this)"
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:305
msgid ""
"The run time and the time progression generation is now done in "
"`scene.play_internal` although it'd make more sense that renderer "
"processes it later."
msgstr ""
#: ../../source/changelog/0.5.0-changelog.rst:306
msgid ""
"Added a bunch of cool tests thanks to mocks, and thanks to the new syntax"
" `scene.render`"
msgstr ""

File diff suppressed because it is too large Load diff

View file

@ -1,790 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/changelog/0.8.0-changelog.rst:3
msgid "v0.8.0"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst
msgid "Date"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:5
msgid "July 02, 2021"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:8
msgid "Contributors"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:10
msgid ""
"A total of 37 people contributed to this release. People with a '+' by "
"their names authored a patch for the first time."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:14
#: ../../source/changelog/0.8.0-changelog.rst:51
msgid "Benjamin Hackl"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:15
msgid "Bill Shillito +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:16
msgid "Darigov Research +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:17
#: ../../source/changelog/0.8.0-changelog.rst:53
msgid "Darylgolden"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:18
#: ../../source/changelog/0.8.0-changelog.rst:54
msgid "Devin Neal"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:19
msgid "Iced-Tea3"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:20
#: ../../source/changelog/0.8.0-changelog.rst:55
msgid "Jan-Hendrik Müller"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:21
#: ../../source/changelog/0.8.0-changelog.rst:56
msgid "Jason Villanueva"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:22
#: ../../source/changelog/0.8.0-changelog.rst:57
msgid "KingWampy"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:23
#: ../../source/changelog/0.8.0-changelog.rst:58
msgid "Laith Bahodi"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:24
msgid "MathInvariance +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:25
msgid "Max Stoumen"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:26
msgid "Mehmet Ali Özer +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:27
msgid "Michael Pilosov +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:28
#: ../../source/changelog/0.8.0-changelog.rst:61
msgid "Mohammad Al-Fetyani"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:29
#: ../../source/changelog/0.8.0-changelog.rst:62
msgid "Naveen M K"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:30
#: ../../source/changelog/0.8.0-changelog.rst:63
msgid "Nikhil Garuda"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:31
#: ../../source/changelog/0.8.0-changelog.rst:64
msgid "Oliver"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:32
msgid "PaulCMurdoch"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:33
#: ../../source/changelog/0.8.0-changelog.rst:65
msgid "Philipp Imhof"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:34
msgid "PipedQuintes +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:35
#: ../../source/changelog/0.8.0-changelog.rst:66
msgid "Raghav Goel"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:36
#: ../../source/changelog/0.8.0-changelog.rst:67
msgid "Ryan McCauley"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:37
msgid "Ujjayanta +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:38
msgid "Vagrid +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:39
msgid "andrehisatsuga +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:40
#: ../../source/changelog/0.8.0-changelog.rst:70
msgid "friedkeenan"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:41
msgid "peaceheis +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:42
msgid "yit6 +"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:45
msgid ""
"The patches included in this release have been reviewed by the following "
"contributors."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:48
msgid "Abhijith Muthyala"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:49
msgid "Anton Ballmaier"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:50
msgid "Aron"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:52
msgid "Clar Fon"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:59
msgid "Mark Miller"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:60
msgid "MathInvariance"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:68
msgid "Ujjayanta"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:69
msgid "Vagrid"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:73
msgid "Pull requests merged"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:75
msgid "A total of 76 pull requests were merged for this release."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:78
msgid "Deprecated classes and functions"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:80
msgid ""
"`#1616 <https://github.com/ManimCommunity/manim/pull/1616>`__: Remove all"
" functions and classes that were deprecated until ``v0.6.0``"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:84
msgid "New features"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:87
msgid ""
"`#1716 <https://github.com/ManimCommunity/manim/pull/1716>`__: Rewrite "
"stroke and fill shaders"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:87
msgid ""
"Rewrite vectorized mobject shaders to be compatible with transformation "
"matrices."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:90
msgid ""
"`#1695 <https://github.com/ManimCommunity/manim/pull/1695>`__: Add option"
" to justify text with :class:`~.MarkupText`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:90
msgid ""
"A new parameter ``justify`` is added to :class:`~.MarkupText`. It can be "
"used to justify a paragraph of text."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:94
msgid ""
"`#1660 <https://github.com/ManimCommunity/manim/pull/1660>`__: Added "
"support for ``.webm`` and transparency of videos in Jupyter notebooks"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:93
msgid ""
"Added support for generating ``webm`` videos via the command line flag "
"``--format=webm``"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:94
msgid "Added transparency support for Jupyter notebooks"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:96
msgid ""
"`#1553 <https://github.com/ManimCommunity/manim/pull/1553>`__: Add "
"dearpygui integration"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:100
msgid "Enhancements"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:102
msgid ""
"`#1728 <https://github.com/ManimCommunity/manim/pull/1728>`__: Improved "
"positioning and size of the OpenGL window; added some configuration "
"options"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:105
msgid ""
"`#1733 <https://github.com/ManimCommunity/manim/pull/1733>`__: Let "
"OpenGLMobject.copy return a deep copy by default"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:108
msgid ""
"`#1735 <https://github.com/ManimCommunity/manim/pull/1735>`__: Metaclass "
"compatibility for `coordinate_system.py`, `Code` and `ParametricSurface`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:111
msgid ""
"`#1585 <https://github.com/ManimCommunity/manim/pull/1585>`__: OpenGL "
"compatibility via metaclass for :class:`~.Matrix`, "
":class:`~.DecimalNumber`, :class:`~.Variable`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:114
msgid ""
"`#1713 <https://github.com/ManimCommunity/manim/pull/1713>`__: Exit the "
"command line interface gracefully if no scene was chosen"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:119
msgid ""
"`#1652 <https://github.com/ManimCommunity/manim/pull/1652>`__: Refactored"
" :class:`~.Mobject` and :class:`~.Scene` to no longer inherit from the "
"abstract base class ``Container``"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:118
msgid ""
"Moved tests in ``test_container.py`` for :class:`Container` that test "
":class:`~.Scene` and :class:`~.Mobject` to their own files."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:119
msgid ""
"Corrected various instances of incorrectly passed keyword arguments, or "
"unused keyword arguments."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:121
msgid ""
"`#1693 <https://github.com/ManimCommunity/manim/pull/1693>`__: Made the "
"default arrowhead size for :class:`~.Arrow3D` smaller"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:127
msgid ""
"`#1678 <https://github.com/ManimCommunity/manim/pull/1678>`__: Allow some"
" rate functions to assume values outside of [0, 1]; introduce clamping "
"decorators"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:125
msgid ""
"Fixed animations so that certain rate functions (``running_start``, "
"``wiggle``, ``ease_in_back``, ``ease_out_back``, ``ease_in_out_back``, "
"``ease_in_elastic``, ``ease_out_elastic``, and ``ease_out_elastic``) can "
"go outside the range from 0 to 1."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:126
msgid ""
"Fixed lag ratios so that they're spaced out evenly within the time "
"interval and the rate functions are applied to each animation "
"individually, rather than having the rate function determine when the "
"animation starts."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:127
msgid ""
"Fixed faulty code for ``ease_in_out_expo``, ``ease_in_bounce``, "
"``ease_out_bounce``, and ``ease_in_out_bounce``."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:129
msgid ""
"`#1649 <https://github.com/ManimCommunity/manim/pull/1649>`__: Made video"
" file names in Jupyter notebook more readable"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:133
msgid ""
"`#1667 <https://github.com/ManimCommunity/manim/pull/1667>`__: Determine "
"the default number of decimal places for :class:`~.NumberLine` labels "
"automatically from the step size"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:133
msgid ""
"As an example: If the step size is set to 0.5, labels will now show at "
"least one decimal place."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:135
msgid ""
"`#1608 <https://github.com/ManimCommunity/manim/pull/1608>`__: Color file"
" paths in terminal; remove curly braces surrounding the file path in "
"\"Partial movie file written in...\" messages"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:138
msgid ""
"`#1632 <https://github.com/ManimCommunity/manim/pull/1632>`__: OpenGL "
"compatibility via metaclass: :class:`~.Group`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:142
msgid "Fixed bugs"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:144
msgid ""
"`#1740 <https://github.com/ManimCommunity/manim/pull/1740>`__: Fix pillow"
" to <8.3.0"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:147
msgid ""
"`#1729 <https://github.com/ManimCommunity/manim/pull/1729>`__: Fix bug "
"when using :class:`~.Text` with the OpenGL renderer"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:150
msgid ""
"`#1675 <https://github.com/ManimCommunity/manim/pull/1675>`__: Fixed "
"ignored fill and stroke colors for :class:`~.SVGMobject`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:153
msgid ""
"`#1664 <https://github.com/ManimCommunity/manim/pull/1664>`__: Fixed "
"accidental displacement in :class:`~.Axes` caused by ``include_numbers`` "
"/ ``numbers_to_include``"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:156
msgid ""
"`#1670 <https://github.com/ManimCommunity/manim/pull/1670>`__: Fixed "
"missing ``numpy`` import in OpenGL shader example"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:159
msgid ""
"`#1636 <https://github.com/ManimCommunity/manim/pull/1636>`__: Fixed bugs"
" and added examples to methods and classes in :mod:`manim.mobject.matrix`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:162
msgid ""
"`#1614 <https://github.com/ManimCommunity/manim/pull/1614>`__: Fix tick "
"issues and improve tick placement for :class:`~.NumberLine`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:165
msgid ""
"`#1593 <https://github.com/ManimCommunity/manim/pull/1593>`__: Un-flip "
"output of ``get_frame()`` when using the OpenGL renderer"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:168
msgid ""
"`#1619 <https://github.com/ManimCommunity/manim/pull/1619>`__: Fix output"
" of automatically detected LaTeX errors"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:176
msgid ""
"`#1595 <https://github.com/ManimCommunity/manim/pull/1595>`__: Fixed a "
"few CLI and rendering bugs"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:172
msgid "Corrected issue where gifs were being logged with an incorrect extension"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:173
msgid "Fixed issue where videos were output when format was set to png"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:174
msgid "Added logging for png output"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:175
msgid ""
"Added precedence handling when the ``write_to_movie`` flag would conflict"
" with ``--format``"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:176
msgid ""
"Fixed issue that caused png image output to be ignored when caching was "
"enabled"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:178
msgid ""
"`#1635 <https://github.com/ManimCommunity/manim/pull/1635>`__: Added "
"missing numpy import for :mod:`manim.mobject.probability`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:182
msgid ""
"`#1634 <https://github.com/ManimCommunity/manim/pull/1634>`__: Fixed "
"OpenGL examples for MacOS"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:182
msgid "Renamed deprecated ``gl_FragColor`` to ``fragColor``."
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:185
msgid "Documentation-related changes"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:187
msgid ""
"`#1732 <https://github.com/ManimCommunity/manim/pull/1732>`__: Remove "
"reference to ``--plugins`` flag"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:190
msgid ""
"`#1734 <https://github.com/ManimCommunity/manim/pull/1734>`__: Fix "
"inheritance graph background color"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:193
msgid ""
"`#1698 <https://github.com/ManimCommunity/manim/pull/1698>`__: Added an "
"example for :class:`~.PMobject`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:196
msgid ""
"`#1690 <https://github.com/ManimCommunity/manim/pull/1690>`__: Added an "
"example for :class:`~.CoordinateSystem`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:199
msgid ""
"`#1510 <https://github.com/ManimCommunity/manim/pull/1510>`__: Add a "
"tutorial for using :class:`~.Text` and :class:`~.Tex`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:202
msgid ""
"`#1685 <https://github.com/ManimCommunity/manim/pull/1685>`__: Added an "
"example and parameter description for :class:`~.AnnularSector`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:205
msgid ""
"`#1687 <https://github.com/ManimCommunity/manim/pull/1687>`__: Updated "
"imports in ``geometry.py`` and added example to :class:`~.Arrow`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:208
msgid ""
"`#1681 <https://github.com/ManimCommunity/manim/pull/1681>`__: Added an "
"example for :class:`~.NumberLine`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:211
msgid ""
"`#1697 <https://github.com/ManimCommunity/manim/pull/1697>`__: Added an "
"example for :class:`~.PGroup`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:214
msgid ""
"`#1594 <https://github.com/ManimCommunity/manim/pull/1594>`__: Several "
"improvements to the documentation design and layout"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:217
msgid ""
"`#1696 <https://github.com/ManimCommunity/manim/pull/1696>`__: Added an "
"example for :class:`~.DashedVMobject`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:220
msgid ""
"`#1637 <https://github.com/ManimCommunity/manim/pull/1637>`__: Added an "
"example for :class:`~.FunctionGraph`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:223
msgid ""
"`#1626 <https://github.com/ManimCommunity/manim/pull/1626>`__: Added an "
"example for :class:`~.Prism`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:226
msgid ""
"`#1712 <https://github.com/ManimCommunity/manim/pull/1712>`__: Added a "
"second example for :class:`~.DoubleArrow`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:229
msgid ""
"`#1710 <https://github.com/ManimCommunity/manim/pull/1710>`__: Update "
"copyright year in documentation to 2020-2021"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:232
msgid ""
"`#1708 <https://github.com/ManimCommunity/manim/pull/1708>`__: Fixed link"
" to interactive example notebook"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:235
msgid ""
"`#1657 <https://github.com/ManimCommunity/manim/pull/1657>`__: Added an "
"example for :class:`~.ParametricSurface`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:238
msgid ""
"`#1642 <https://github.com/ManimCommunity/manim/pull/1642>`__: Added "
"examples and docstrings for :class:`~.BarChart`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:241
msgid ""
"`#1700 <https://github.com/ManimCommunity/manim/pull/1700>`__: Added an "
"example for :meth:`~.Mobject.scale`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:244
msgid ""
"`#1689 <https://github.com/ManimCommunity/manim/pull/1689>`__: Added an "
"example for :class:`~.SurroundingRectangle`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:247
msgid ""
"`#1627 <https://github.com/ManimCommunity/manim/pull/1627>`__: Added an "
"example for :class:`~.Sphere`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:253
msgid ""
"`#1647 <https://github.com/ManimCommunity/manim/pull/1647>`__: Added an "
"example for :class:`~.Sector`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:256
msgid ""
"`#1673 <https://github.com/ManimCommunity/manim/pull/1673>`__: Updated "
"documentation examples for :class:`~.Text` and :class:`~.MarkupText`: set"
" ``weight=BOLD`` instead of ``style``"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:259
msgid ""
"`#1650 <https://github.com/ManimCommunity/manim/pull/1650>`__: Added an "
"example for :class:`~.ArcBetweenPoints`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:262
msgid ""
"`#1628 <https://github.com/ManimCommunity/manim/pull/1628>`__: Added an "
"example for :class:`~.NumberPlane`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:265
msgid ""
"`#1646 <https://github.com/ManimCommunity/manim/pull/1646>`__: Added an "
"example for :class:`~.Underline`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:268
msgid ""
"`#1659 <https://github.com/ManimCommunity/manim/pull/1659>`__: Added more"
" details to the Google Colab installation instructions"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:271
msgid ""
"`#1658 <https://github.com/ManimCommunity/manim/pull/1658>`__: Updated "
"python requirement in the documentation"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:274
msgid ""
"`#1639 <https://github.com/ManimCommunity/manim/pull/1639>`__: Added an "
"example for :class:`~.SampleSpace`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:277
msgid ""
"`#1640 <https://github.com/ManimCommunity/manim/pull/1640>`__: Added an "
"example for :class:`~.Point`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:280
msgid ""
"`#1643 <https://github.com/ManimCommunity/manim/pull/1643>`__: Fixed "
"``RightArcAngleExample`` for :class:`~.Angle` in documentation"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:283
msgid ""
"`#1617 <https://github.com/ManimCommunity/manim/pull/1617>`__: Visually "
"improved an example in our tutorial"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:286
msgid ""
"`#1641 <https://github.com/ManimCommunity/manim/pull/1641>`__: Added an "
"example for :class:`~.ComplexPlane`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:289
msgid ""
"`#1644 <https://github.com/ManimCommunity/manim/pull/1644>`__: Added an "
"example for :class:`~.BackgroundRectangle`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:292
msgid ""
"`#1633 <https://github.com/ManimCommunity/manim/pull/1633>`__: Added an "
"example for :class:`~.Integer`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:295
msgid ""
"`#1630 <https://github.com/ManimCommunity/manim/pull/1630>`__: Added an "
"example for :class:`~.Arc`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:298
msgid ""
"`#1631 <https://github.com/ManimCommunity/manim/pull/1631>`__: Added an "
"example for :class:`~.BulletedList`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:301
msgid ""
"`#1620 <https://github.com/ManimCommunity/manim/pull/1620>`__: Fixed "
"reference to command line interface help command"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:305
msgid "Changes to our development infrastructure"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:307
msgid ""
"`#1623 <https://github.com/ManimCommunity/manim/pull/1623>`__: CI: branch"
" rename: master -> main"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:310
msgid ""
"`#1621 <https://github.com/ManimCommunity/manim/pull/1621>`__: Revert "
"default template and add new templates"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:313
msgid ""
"`#1573 <https://github.com/ManimCommunity/manim/pull/1573>`__: PR "
"template for the manim hackathon"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:317
msgid "Code quality improvements and similar refactors"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:319
msgid ""
"`#1720 <https://github.com/ManimCommunity/manim/pull/1720>`__: Renamed "
"incorrect references of ``master`` to ``main``"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:322
msgid ""
"`#1692 <https://github.com/ManimCommunity/manim/pull/1692>`__: Removed "
"redundant warning in CLI parsing"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:325
msgid ""
"`#1651 <https://github.com/ManimCommunity/manim/pull/1651>`__: Small code"
" cleanup for :class:`~.Polygram`"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:328
msgid ""
"`#1610 <https://github.com/ManimCommunity/manim/pull/1610>`__: Changed "
"one image extension to lowercase letters"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:332
msgid "New releases"
msgstr ""
#: ../../source/changelog/0.8.0-changelog.rst:334
msgid ""
"`#1738 <https://github.com/ManimCommunity/manim/pull/1738>`__: "
"Preparation for v0.8.0: added changelog and bumped version number"
msgstr ""

View file

@ -1,737 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/changelog/0.9.0-changelog.rst:3
msgid "v0.9.0"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst
msgid "Date"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:5
msgid "August 02, 2021"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:8
msgid "Contributors"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:10
msgid ""
"A total of 35 people contributed to this release. People with a '+' by "
"their names authored a patch for the first time."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:14
#: ../../source/changelog/0.9.0-changelog.rst:47
msgid "Alex Lembcke"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:15
#: ../../source/changelog/0.9.0-changelog.rst:48
msgid "Benjamin Hackl"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:16
#: ../../source/changelog/0.9.0-changelog.rst:49
msgid "Darylgolden"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:17
#: ../../source/changelog/0.9.0-changelog.rst:50
msgid "Devin Neal"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:18
msgid "Harivinay +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:19
#: ../../source/changelog/0.9.0-changelog.rst:52
msgid "Hugues Devimeux"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:20
msgid "Jared Hughes +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:21
#: ../../source/changelog/0.9.0-changelog.rst:54
msgid "Jason Villanueva"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:22
msgid "Kadatatlu Kishore +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:23
#: ../../source/changelog/0.9.0-changelog.rst:55
msgid "KingWampy"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:24
msgid "LED Me Explain +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:25
#: ../../source/changelog/0.9.0-changelog.rst:56
msgid "Laith Bahodi"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:26
#: ../../source/changelog/0.9.0-changelog.rst:58
msgid "Mohammad Al-Fetyani"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:27
msgid "Noam Zaks"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:28
#: ../../source/changelog/0.9.0-changelog.rst:59
msgid "Oliver"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:29
msgid "PaulCMurdoch"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:30
msgid "Raghav Prabhakar +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:31
msgid "Ryan McCauley"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:32
msgid "Suhail Sherif +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:33
msgid "Taektiek +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:34
msgid "Udeshya Dhungana +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:35
msgid "UraniumCronorum +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:36
msgid "Vinh H. Pham (Vincent) +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:37
msgid "ccn +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:38
msgid "icedcoffeeee +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:39
msgid "sahilmakhijani +"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:40
#: ../../source/changelog/0.9.0-changelog.rst:64
msgid "sparshg"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:43
msgid ""
"The patches included in this release have been reviewed by the following "
"contributors."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:46
msgid "Abhijith Muthyala"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:51
msgid "Harivinay"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:53
msgid "Jan-Hendrik Müller"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:57
msgid "Lino"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:60
msgid "Raghav Goel"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:61
msgid "Suhail Sherif"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:62
msgid "icedcoffeeee"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:63
msgid "sahilmakhijani"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:67
msgid "Pull requests merged"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:69
msgid "A total of 55 pull requests were merged for this release."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:72
msgid "Highlights"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:75
msgid ""
"`#1677 <https://github.com/ManimCommunity/manim/pull/1677>`__: Added a "
"new :class:`~.Table` mobject"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:75
msgid ""
"This brings easy-to-use and customizable tables to Manim. Several "
"examples for this new mobject can be found at :mod:`the module "
"documentation page <.mobject.table>` and its subpages."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:78
msgid "Deprecated classes and functions"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:82
msgid ""
"`#1848 <https://github.com/ManimCommunity/manim/pull/1848>`__: Deprecated"
" parameters for :class:`~.DashedLine` and :class:`~.DashedVMobject`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:81
msgid "``dash_spacing`` is an unused parameter"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:82
msgid ""
"``positive_space_ratio`` has been replaced with the shorter name "
"``dashed_ratio``"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:92
msgid ""
"`#1773 <https://github.com/ManimCommunity/manim/pull/1773>`__: Remove all"
" classes and functions that were deprecated until ``v0.7.0`` and "
"``v0.8.0``"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:85
msgid ""
"The classes ``FadeInFrom``, ``FadeOutAndShift``, ``FadeOutToPoint``, "
"``FadeInFromPoint``, ``FadeInFromLarge``, ``VFadeIn``, ``VFadeOut``, "
"``VFadeInThenOut`` have been removed, use :class:`~.FadeIn` or "
":class:`~.FadeOut` with appropriate keyword arguments instead."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:88
msgid ""
"The classes ``CircleIndicate``, ``ShowCreationThenDestruction``, "
"``AnimationOnSurroundingRectangle``, ``ShowPassingFlashAround``, "
"``ShowCreationThenDestructionAround``, ``ShowCreationThenFadeAround``, "
"``WiggleOutThenIn``, ``TurnInsideOut`` have been removed. Use "
":class:`~.Circumscribe`, :class:`~.ShowPassingFlash`, or "
":class:`~.Wiggle` instead."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:90
msgid ""
"The classes ``OpenGLTexMobject`` and ``OpenGLTextMobject`` have been "
"removed, use :class:`~.MathTex` and :class:`~.Tex` instead. Also, "
"``VMobjectFromSVGPathstring`` has been removed, use "
":class:`~.SVGPathMobject` instead."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:92
msgid ""
"Finally, the utility functions ``get_norm`` and ``cross`` have been "
"removed (use the corresponding Numpy methods instead), and the function "
"``angle_between`` has been replaced with ``angle_between_vectors``."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:96
msgid ""
"`#1731 <https://github.com/ManimCommunity/manim/pull/1731>`__: Deprecated"
" :class:`~.ParametricSurface` parameters"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:95
msgid "``u_min`` and ``u_max`` have been replaced by ``u_range``."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:96
msgid "``v_min`` and ``v_max`` have been replaced by ``v_range``."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:99
msgid "New features"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:103
msgid ""
"`#1780 <https://github.com/ManimCommunity/manim/pull/1780>`__: Allow non-"
"numerical values to be added to :class:`~.NumberLine` and :class:`~.Axes`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:102
msgid ""
"Added :meth:`.NumberLine.add_labels` method to :class:`~.NumberLine` "
"which accepts a dictionary of positions/values."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:103
msgid ":meth:`.CoordinateSystem.add_coordinates` now accepts a dictionary too."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:105
msgid ""
"`#1719 <https://github.com/ManimCommunity/manim/pull/1719>`__: Added a "
":class:`~.Broadcast` animation"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:109
msgid ""
"`#1765 <https://github.com/ManimCommunity/manim/pull/1765>`__: Added a "
"static method :meth:`.Circle.from_three_points` for defining a circle "
"from three points"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:109
msgid "Added a new :func:`~.perpendicular_bisector` function in ``space_ops.py``"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:112
msgid ""
"`#1686 <https://github.com/ManimCommunity/manim/pull/1686>`__: Added "
":meth:`.ParametricSurface.set_fill_by_value`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:112
msgid ""
"This method enables a color gradient to be applied to a "
":class:`~.ParametricSurface`, including the ability to define at which "
"points the colors should be centered."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:115
msgid "Enhancements"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:117
msgid ""
"`#1833 <https://github.com/ManimCommunity/manim/pull/1833>`__: Added "
"OpenGL compatibility for :class:`~.VDict`, :meth:`~.Axes.get_line_graph` "
"and :class:`~.FocusOn`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:121
msgid ""
"`#1760 <https://github.com/ManimCommunity/manim/pull/1760>`__: Added "
"``window_size`` flag to manually adjust the size of the OpenGL window"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:121
msgid "Accepts a tuple in the form: ``x,y``."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:124
msgid "Rewritten the logic to generate dashes"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:129
msgid ""
"`#1808 <https://github.com/ManimCommunity/manim/pull/1808>`__: OpenGL "
"renderer updates"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:127
msgid "Adds model matrices to all OpenGLVMobjects"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:128
msgid "Improved performance on vectorized mobject shaders"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:129
msgid "Added updaters that are part of the scene rather than a mobject"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:132
msgid ""
"`#1787 <https://github.com/ManimCommunity/manim/pull/1787>`__: Made "
":class:`~.DecimalNumber` apply color to the ellipsis"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:132
msgid ""
"Made color apply to the dots when `show_ellipsis` is set to true in "
"`DecimalNumber`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:134
msgid ""
"`#1775 <https://github.com/ManimCommunity/manim/pull/1775>`__: Let "
":class:`~.Create` work on :class:`~.OpenGLSurface`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:137
msgid ""
"`#1757 <https://github.com/ManimCommunity/manim/pull/1757>`__: Added "
"warning when there is a large number of items to hash."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:140
msgid ""
"`#1774 <https://github.com/ManimCommunity/manim/pull/1774>`__: Add the "
"``reverse`` parameter to :class:`~.Write`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:144
msgid "Fixed bugs"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:146
msgid ""
"`#1722 <https://github.com/ManimCommunity/manim/pull/1722>`__: Fixed "
"``remover=True`` for :class:`~.AnimationGroup`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:151
msgid ""
"`#1727 <https://github.com/ManimCommunity/manim/pull/1727>`__: Fixed some"
" hot reload issues and compatibility with IDEs"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:150
msgid ""
"Fixed interactive embed issue where it would fail when running on non-tty"
" terminals"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:151
msgid ""
"Fixed issue where file observer would error after the second run as the "
"first observer was not closed"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:153
msgid ""
"`#1844 <https://github.com/ManimCommunity/manim/pull/1844>`__: Fixed the "
"oversized :class:`~.Code` window with the OpenGL renderer"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:159
msgid ""
"`#1821 <https://github.com/ManimCommunity/manim/pull/1821>`__: Fixed "
"issues concerning ``frame_center`` in :class:`~.ThreeDScene`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:157
msgid ""
"Changing ``frame_center`` in a :class:`~.ThreeDScene` now actually "
"changes the camera position."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:158
msgid ""
"An animation with only ``frame_center`` animated will now be rendered "
"properly."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:159
msgid ""
"A black dot is not created at the origin once ``frame_center`` is "
"animated."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:161
msgid ""
"`#1826 <https://github.com/ManimCommunity/manim/pull/1826>`__: Fixed "
"scaling issue with :meth:`.BarChart.change_bar_values`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:164
msgid ""
"`#1839 <https://github.com/ManimCommunity/manim/pull/1839>`__: Allow "
"passing arguments to ``.animate`` with the OpenGL renderer"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:167
msgid ""
"`#1791 <https://github.com/ManimCommunity/manim/pull/1791>`__: "
":meth:`~.Mobject.set_z_index` now sets all submobjects' ``z_index`` value"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:170
msgid ""
"`#1792 <https://github.com/ManimCommunity/manim/pull/1792>`__: Fixed bug "
"that caused dry runs to fail when using the PNG format"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:173
msgid ""
"`#1790 <https://github.com/ManimCommunity/manim/pull/1790>`__: Fixed an "
"import from ``manimlib``"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:176
msgid ""
"`#1782 <https://github.com/ManimCommunity/manim/pull/1782>`__: Fixed "
":class:`~.Tex` not working properly with the OpenGL renderer"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:179
msgid ""
"`#1783 <https://github.com/ManimCommunity/manim/pull/1783>`__: Fixed "
":meth:`~.OpenGLMobject.shuffle` function and added :meth:`~.invert` to "
"OpenGL"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:182
msgid ""
"`#1786 <https://github.com/ManimCommunity/manim/pull/1786>`__: Fixed "
":class:`~.DecimalNumber` not working properly when the number of digits "
"changes"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:185
msgid ""
"`#1763 <https://github.com/ManimCommunity/manim/pull/1763>`__: Fixed not "
"being able to set some CLI flags in the configuration file"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:189
msgid ""
"`#1776 <https://github.com/ManimCommunity/manim/pull/1776>`__: "
":meth:`.CoordinateSystem.get_riemann_rectangles` now uses the graph's "
"range instead of the axes range"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:189
msgid ""
"If no range specified, `get_riemann_rectangles` generates the rectangles "
"only where the area is correctly bounded"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:191
msgid ""
"`#1770 <https://github.com/ManimCommunity/manim/pull/1770>`__: Rewrote "
":meth:`.OpenGLMobject.put_start_and_end_on` to work correctly in 3D"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:194
msgid ""
"`#1736 <https://github.com/ManimCommunity/manim/pull/1736>`__: Fixed "
":class:`~.LinearTransformationScene` crashing on multiple animations"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:198
msgid "Documentation-related changes"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:200
msgid ""
"`#1852 <https://github.com/ManimCommunity/manim/pull/1852>`__: Fixed docs"
" for :meth:`.Coordinate_system.add_coordinates` and moved :class: "
"`~.Code` example"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:206
msgid ""
"`#1807 <https://github.com/ManimCommunity/manim/pull/1807>`__: Updated "
"installation instructions"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:204
msgid ""
"Added a warning about the incompatibility of different versions of Manim "
"in the README"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:205
msgid "Modified the admonition warning in the documentation"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:206
msgid ""
"Removed duplicated information from the README (``pip install manim`` is "
"already covered in the docs)"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:208
msgid ""
"`#1739 <https://github.com/ManimCommunity/manim/pull/1739>`__: Added a "
"section on creating a custom animation to the \"Manim's building blocks\""
" tutorial"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:211
msgid ""
"`#1835 <https://github.com/ManimCommunity/manim/pull/1835>`__: Updated "
"documentation with information about reworked graphical unit test system"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:214
msgid ""
"`#1845 <https://github.com/ManimCommunity/manim/pull/1845>`__: Improve "
"``ThreeDSurfacePlot`` example in example gallery"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:217
msgid ""
"`#1842 <https://github.com/ManimCommunity/manim/pull/1842>`__: Removed "
"instructions on installing Poetry from Developer Installation "
"documentation, reference Poetry's documentation instead"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:220
msgid ""
"`#1829 <https://github.com/ManimCommunity/manim/pull/1829>`__: Switch the"
" order of Scoop and Chocolatey in the docs for the Windows Installation"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:223
msgid ""
"`#1827 <https://github.com/ManimCommunity/manim/pull/1827>`__: Added "
"``robots.txt`` to prevent old versions of documentation from showing in "
"search results"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:226
msgid ""
"`#1819 <https://github.com/ManimCommunity/manim/pull/1819>`__: Removed "
"mention of ``-h`` CLI flag from documentation"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:229
msgid ""
"`#1813 <https://github.com/ManimCommunity/manim/pull/1813>`__: Removed "
"unused variables from tutorial"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:232
msgid ""
"`#1815 <https://github.com/ManimCommunity/manim/pull/1815>`__: Added "
"codespell to the list of used linters in the contribution guidelines"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:235
msgid ""
"`#1778 <https://github.com/ManimCommunity/manim/pull/1778>`__: Improve "
"sidebar structure of the documentation's reference manual"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:238
msgid ""
"`#1749 <https://github.com/ManimCommunity/manim/pull/1749>`__: Added "
"documentation and example for :meth:`.VMobject.set_fill`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:241
msgid ""
"`#1743 <https://github.com/ManimCommunity/manim/pull/1743>`__: Edited the"
" developer installation instructions to include information on cloning "
"the repository"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:244
msgid ""
"`#1706 <https://github.com/ManimCommunity/manim/pull/1706>`__: Rework "
"example for :class:`~.Variable`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:248
msgid "Changes concerning the testing system"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:250
msgid ""
"`#1836 <https://github.com/ManimCommunity/manim/pull/1836>`__: Converted "
"all the graphical tests to the new syntax"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:254
msgid ""
"`#1802 <https://github.com/ManimCommunity/manim/pull/1802>`__: Refactored"
" graphical unit testing system, and implemented multi frames tests"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:254
msgid ""
"This PR introduces a new ``@frames_comparison`` decorator which allows "
"writing simple ``construct``-like functions as tests. Control data for "
"new tests can be easily generated by calling ``pytest --set_test``."
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:257
msgid "Changes to our development infrastructure"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:259
msgid ""
"`#1830 <https://github.com/ManimCommunity/manim/pull/1830>`__: Be more "
"concise about the documentation URL in the PR template"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:263
msgid "Code quality improvements and similar refactors"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:265
msgid ""
"`#1851 <https://github.com/ManimCommunity/manim/pull/1851>`__: Renamed "
"``Tabular`` to :class:`~.Table`"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:268
msgid ""
"`#1817 <https://github.com/ManimCommunity/manim/pull/1817>`__: Remove "
"pillow version requirement"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:271
msgid ""
"`#1806 <https://github.com/ManimCommunity/manim/pull/1806>`__: Fixed "
"spelling mistake"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:274
msgid ""
"`#1745 <https://github.com/ManimCommunity/manim/pull/1745>`__: Updated "
"the BibTeX template in the README to Manim v0.9.0"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:278
msgid "New releases"
msgstr ""
#: ../../source/changelog/0.9.0-changelog.rst:280
msgid ""
"`#1850 <https://github.com/ManimCommunity/manim/pull/1850>`__: Bump "
"version number to ``v0.9.0`` and generate changelog"
msgstr ""

View file

@ -1,710 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/conduct.md:3
msgid "Code of Conduct"
msgstr ""
#: ../../source/conduct.md:7
msgid ""
"TL;DR Be excellent to each other; we're a community after all. If you run"
" into issues with others in our community, please contact a Manim "
"Community Dev, or Moderator."
msgstr ""
#: ../../source/conduct.md:9
msgid "Purpose"
msgstr ""
#: ../../source/conduct.md:11
msgid ""
"The Manim Community includes members of varying skills, languages, "
"personalities, cultural backgrounds, and experiences from around the "
"globe. Through these differences, we continue to grow and collectively "
"improve upon an open-source animation engine. When working in a "
"community, it is important to remember that you are interacting with "
"humans on the other end of your screen. This code of conduct will guide "
"your interactions and keep Manim a positive environment for our "
"developers, users, and fundamentally our growing community."
msgstr ""
#: ../../source/conduct.md:15
msgid "Our Community"
msgstr ""
#: ../../source/conduct.md:17
msgid ""
"Members of Manim Community are respectful, open, and considerate. "
"Behaviors that reinforce these values contribute to our positive "
"environment, and include:"
msgstr ""
#: ../../source/conduct.md:19
msgid ""
"Being respectful. Respectful of others, their positions, experiences, "
"viewpoints, skills, commitments, time, and efforts."
msgstr ""
#: ../../source/conduct.md:21
msgid ""
"Being open. Open to collaboration, whether it's on problems, Pull "
"Requests, issues, or otherwise."
msgstr ""
#: ../../source/conduct.md:23
msgid ""
"Being considerate. Considerate of their peers -- other Manim users and "
"developers."
msgstr ""
#: ../../source/conduct.md:25
msgid ""
"Focusing on what is best for the community. We're respectful of the "
"processes set forth in the community, and we work within them."
msgstr ""
#: ../../source/conduct.md:27
msgid ""
"Showing empathy towards other community members. We're attentive in our "
"communications, whether in person or online, and we're tactful when "
"approaching differing views."
msgstr ""
#: ../../source/conduct.md:29
msgid ""
"Gracefully accepting constructive criticism. When we disagree, we are "
"courteous in raising our issues."
msgstr ""
#: ../../source/conduct.md:31
msgid ""
"Using welcoming and inclusive language. We're accepting of all who wish "
"to take part in our activities, fostering an environment where anyone can"
" participate and everyone can make a difference."
msgstr ""
#: ../../source/conduct.md:35
msgid "Our Standards"
msgstr ""
#: ../../source/conduct.md:37
msgid ""
"Every member of our community has the right to have their identity "
"respected. Manim Community is dedicated to providing a positive "
"environment for everyone, regardless of age, gender identity and "
"expression, sexual orientation, disability, physical appearance, body "
"size, ethnicity, nationality, race, religion (or lack thereof), "
"education, or socioeconomic status."
msgstr ""
#: ../../source/conduct.md:41
msgid "Inappropriate Behavior"
msgstr ""
#: ../../source/conduct.md:43
msgid "Examples of unacceptable behavior by participants include:"
msgstr ""
#: ../../source/conduct.md:45
msgid "Harassment of any participants in any form"
msgstr ""
#: ../../source/conduct.md:46
msgid "Deliberate intimidation, stalking, or following"
msgstr ""
#: ../../source/conduct.md:47
msgid "Logging or taking screenshots of online activity for harassment purposes"
msgstr ""
#: ../../source/conduct.md:48
msgid ""
"Publishing others' private information, such as a physical or electronic "
"address, without explicit permission"
msgstr ""
#: ../../source/conduct.md:49
msgid "Violent threats or language directed against another person"
msgstr ""
#: ../../source/conduct.md:50
msgid ""
"Incitement of violence or harassment towards any individual, including "
"encouraging a person to commit suicide or to engage in self-harm"
msgstr ""
#: ../../source/conduct.md:51
msgid ""
"Creating additional online accounts in order to harass another person or "
"circumvent a ban"
msgstr ""
#: ../../source/conduct.md:52
msgid ""
"Sexual language and imagery in online communities or any conference "
"venue, including talks"
msgstr ""
#: ../../source/conduct.md:53
msgid ""
"Insults, put-downs, or jokes that are based upon stereotypes, that are "
"exclusionary, or that hold others up for ridicule"
msgstr ""
#: ../../source/conduct.md:54
msgid "Excessive swearing"
msgstr ""
#: ../../source/conduct.md:55
msgid "Unwelcome sexual attention or advances"
msgstr ""
#: ../../source/conduct.md:56
msgid ""
"Unwelcome physical contact, including simulated physical contact (eg, "
"textual descriptions like \"hug\" or \"backrub\") without consent or "
"after a request to stop"
msgstr ""
#: ../../source/conduct.md:57
msgid ""
"Pattern of inappropriate social contact, such as requesting/assuming "
"inappropriate levels of intimacy with others"
msgstr ""
#: ../../source/conduct.md:58
msgid ""
"Sustained disruption of online community discussions, in-person "
"presentations, or other in-person events"
msgstr ""
#: ../../source/conduct.md:59
msgid "Continued one-on-one communication after requests to cease"
msgstr ""
#: ../../source/conduct.md:60
msgid ""
"Other conduct that is inappropriate for a professional audience including"
" people of many different backgrounds Community members asked to stop any"
" inappropriate behavior are expected to comply immediately."
msgstr ""
#: ../../source/conduct.md:65
msgid "Manim Community Online Spaces"
msgstr ""
#: ../../source/conduct.md:67
msgid "This Code of Conduct applies to the following online spaces:"
msgstr ""
#: ../../source/conduct.md:69
msgid "The ManimCommunity GitHub Organization and all of its repositories"
msgstr ""
#: ../../source/conduct.md:71
msgid "The Manim Discord"
msgstr ""
#: ../../source/conduct.md:73
msgid "The Manim Reddit"
msgstr ""
#: ../../source/conduct.md:75
msgid "The Manim Twitter"
msgstr ""
#: ../../source/conduct.md:77
msgid ""
"This Code of Conduct applies to every member in official Manim Community "
"online spaces, including:"
msgstr ""
#: ../../source/conduct.md:79
msgid "Moderators"
msgstr ""
#: ../../source/conduct.md:81
msgid "Maintainers"
msgstr ""
#: ../../source/conduct.md:83
msgid "Developers"
msgstr ""
#: ../../source/conduct.md:85
msgid "Reviewers"
msgstr ""
#: ../../source/conduct.md:87
msgid "Contributors"
msgstr ""
#: ../../source/conduct.md:89
msgid "Users"
msgstr ""
#: ../../source/conduct.md:91
msgid "All community members"
msgstr ""
#: ../../source/conduct.md:95
msgid "Consequences"
msgstr ""
#: ../../source/conduct.md:97
msgid ""
"If a member's behavior violates this code of conduct, the Manim Community"
" Code of Conduct team may take any action they deem appropriate, "
"including, but not limited to: warning the offender, temporary bans, "
"deletion of offending messages, and expulsion from the community and its "
"online spaces. The full list of consequences for inappropriate behavior "
"is listed below in the Enforcement Procedures."
msgstr ""
#: ../../source/conduct.md:101
msgid ""
"Thank you for helping make this a welcoming, friendly community for "
"everyone."
msgstr ""
#: ../../source/conduct.md:105
msgid "Contact Information"
msgstr ""
#: ../../source/conduct.md:107
msgid ""
"If you believe someone is violating the code of conduct, or have any "
"other concerns, please contact a Manim Community Dev, or Moderator "
"immediately. They can be reached on Manim's Community Discord."
msgstr ""
#: ../../source/conduct.md:117
msgid "Enforcement Procedures"
msgstr ""
#: ../../source/conduct.md:119
msgid ""
"This document summarizes the procedures the Manim Community Code of "
"Conduct team uses to enforce the Code of Conduct."
msgstr ""
#: ../../source/conduct.md:123
msgid "Summary of processes"
msgstr ""
#: ../../source/conduct.md:125
msgid ""
"When the team receives a report of a possible Code of Conduct violation, "
"it will:"
msgstr ""
#: ../../source/conduct.md:127
msgid "Acknowledge the receipt of the report."
msgstr ""
#: ../../source/conduct.md:128
msgid "Evaluate conflicts of interest."
msgstr ""
#: ../../source/conduct.md:129
msgid ""
"Call a meeting of code of conduct team members without a conflict of "
"interest."
msgstr ""
#: ../../source/conduct.md:130
msgid "Evaluate the reported incident."
msgstr ""
#: ../../source/conduct.md:131
msgid "Propose a behavioral modification plan."
msgstr ""
#: ../../source/conduct.md:132
msgid "Propose consequences for the reported behavior."
msgstr ""
#: ../../source/conduct.md:133
msgid ""
"Vote on behavioral modification plan and consequences for the reported "
"person."
msgstr ""
#: ../../source/conduct.md:134
msgid ""
"Contact Manim Community moderators to approve the behavioral modification"
" plan and consequences."
msgstr ""
#: ../../source/conduct.md:135
msgid "Follow up with the reported person."
msgstr ""
#: ../../source/conduct.md:136
msgid "Decide further responses."
msgstr ""
#: ../../source/conduct.md:137
msgid "Follow up with the reporter."
msgstr ""
#: ../../source/conduct.md:140
msgid "Acknowledge the report"
msgstr ""
#: ../../source/conduct.md:142
msgid ""
"Reporters should receive an acknowledgment of the receipt of their report"
" within 48 hours."
msgstr ""
#: ../../source/conduct.md:146
msgid "Conflict of interest policy"
msgstr ""
#: ../../source/conduct.md:148
msgid "Examples of conflicts of interest include:"
msgstr ""
#: ../../source/conduct.md:150
msgid ""
"You have a romantic or platonic relationship with either the reporter or "
"the reported person. It's fine to participate if they are an "
"acquaintance."
msgstr ""
#: ../../source/conduct.md:151
msgid ""
"The reporter or reported person is someone you work closely with. This "
"could be someone on your team or someone who works on the same project as"
" you."
msgstr ""
#: ../../source/conduct.md:152
msgid ""
"The reporter or reported person is a maintainer who regularly reviews "
"your contributions"
msgstr ""
#: ../../source/conduct.md:153
msgid "The reporter or reported person is your metamour."
msgstr ""
#: ../../source/conduct.md:154
msgid ""
"The reporter or reported person is your family member Committee members "
"do not need to state why they have a conflict of interest, only that one "
"exists. Other team members should not ask why the person has a conflict "
"of interest."
msgstr ""
#: ../../source/conduct.md:157
msgid ""
"Anyone who has a conflict of interest will remove themselves from the "
"discussion of the incident, and recluse themselves from voting on a "
"response to the report."
msgstr ""
#: ../../source/conduct.md:161
msgid "Evaluating a report"
msgstr ""
#: ../../source/conduct.md:163
msgid "Jurisdiction"
msgstr ""
#: ../../source/conduct.md:165
msgid ""
"Is this a Code of Conduct violation? Is this behavior on our list of "
"inappropriate behavior? Is it borderline inappropriate behavior? Does it "
"violate our community norms?"
msgstr ""
#: ../../source/conduct.md:166
msgid ""
"Did this occur in a space that is within our Code of Conduct's scope? If "
"the incident occurred outside the community, but a community member's "
"mental health or physical safety may be negatively impacted if no action "
"is taken, the incident may be in scope. Private conversations in "
"community spaces are also in scope."
msgstr ""
#: ../../source/conduct.md:167
msgid "Impact"
msgstr ""
#: ../../source/conduct.md:169
msgid ""
"Did this incident occur in a private conversation or a public space? "
"Incidents that all community members can see will have a more negative "
"impact."
msgstr ""
#: ../../source/conduct.md:170
msgid ""
"Does this behavior negatively impact a marginalized group in our "
"community? Is the reporter a person from a marginalized group in our "
"community? How is the reporter being negatively impacted by the reported "
"person's behavior? Are members of the marginalized group likely to "
"disengage with the community if no action was taken on this report?"
msgstr ""
#: ../../source/conduct.md:171
msgid ""
"Does this incident involve a community leader? Community members often "
"look up to community leaders to set the standard of acceptable behavior"
msgstr ""
#: ../../source/conduct.md:172
msgid "Risk"
msgstr ""
#: ../../source/conduct.md:174
msgid "Does this incident include sexual harassment?"
msgstr ""
#: ../../source/conduct.md:175
msgid ""
"Does this pose a safety risk? Does the behavior put a person's physical "
"safety at risk? Will this incident severely negatively impact someone's "
"mental health?"
msgstr ""
#: ../../source/conduct.md:176
msgid ""
"Is there a risk of this behavior being repeated? Does the reported person"
" understand why their behavior was inappropriate? Is there an established"
" pattern of behavior from past reports?"
msgstr ""
#: ../../source/conduct.md:179
msgid ""
"Reports which involve higher risk or higher impact may face more severe "
"consequences than reports which involve lower risk or lower impact."
msgstr ""
#: ../../source/conduct.md:183
msgid "Propose consequences"
msgstr ""
#: ../../source/conduct.md:185
msgid ""
"What follows are examples of possible consequences to an incident report."
" This consequences list is not inclusive, and the Manim Community Code of"
" Conduct team reserves the right to take any action it deems necessary."
msgstr ""
#: ../../source/conduct.md:187
msgid "Possible private responses to an incident include:"
msgstr ""
#: ../../source/conduct.md:189
msgid ""
"Nothing, if the behavior was determined to not be a Code of Conduct "
"violation"
msgstr ""
#: ../../source/conduct.md:190
msgid "A warning"
msgstr ""
#: ../../source/conduct.md:191
msgid "A final warning"
msgstr ""
#: ../../source/conduct.md:192
msgid ""
"Temporarily removing the reported person from the community's online "
"space(s)"
msgstr ""
#: ../../source/conduct.md:193
msgid ""
"Permanently removing the reported person from the community's online "
"space(s)"
msgstr ""
#: ../../source/conduct.md:194
msgid "Publishing an account of the incident"
msgstr ""
#: ../../source/conduct.md:197
msgid "Team vote"
msgstr ""
#: ../../source/conduct.md:199
msgid ""
"Some team members may have a conflict of interest and may be excluded "
"from discussions of a particular incident report. Excluding those "
"members, decisions on the behavioral modification plans and consequences "
"will be determined by a two-thirds majority vote of the Manim Community "
"Code of Conduct team."
msgstr ""
#: ../../source/conduct.md:203
msgid "Moderators approval"
msgstr ""
#: ../../source/conduct.md:205
msgid ""
"Once the team has approved the behavioral modification plans and "
"consequences, they will communicate the recommended response to the Manim"
" Community moderators. The team should not state who reported this "
"incident. They should attempt to anonymize any identifying information "
"from the report."
msgstr ""
#: ../../source/conduct.md:207
msgid ""
"Moderators are required to respond with whether they accept the "
"recommended response to the report. If they disagree with the recommended"
" response, they should provide a detailed response or additional context "
"as to why they disagree. Moderators are encouraged to respond within a "
"week."
msgstr ""
#: ../../source/conduct.md:209
msgid ""
"In cases where the moderators disagree on the suggested resolution for a "
"report, the Manim Community Code of Conduct team may choose to notify the"
" Manim Community Moderators."
msgstr ""
#: ../../source/conduct.md:213
msgid "Follow up with the reported person"
msgstr ""
#: ../../source/conduct.md:215
msgid ""
"The Manim Community Code of Conduct team will work with Manim Community "
"moderators to draft a response to the reported person. The response "
"should contain:"
msgstr ""
#: ../../source/conduct.md:217
msgid "A description of the person's behavior in neutral language"
msgstr ""
#: ../../source/conduct.md:218
msgid "The negative impact of that behavior"
msgstr ""
#: ../../source/conduct.md:219
msgid "A concrete behavioral modification plan"
msgstr ""
#: ../../source/conduct.md:220
msgid ""
"Any consequences of their behavior The team should not state who reported"
" this incident. They should attempt to anonymize any identifying "
"information from the report. The reported person should be discouraged "
"from contacting the reporter to discuss the report. If they wish to "
"apologize to the reporter, the team can accept the apology on behalf of "
"the reporter."
msgstr ""
#: ../../source/conduct.md:225
msgid "Decide further responses"
msgstr ""
#: ../../source/conduct.md:227
msgid ""
"If the reported person provides additional context, the Manim Community "
"Code of Conduct team may need to re-evaluate the behavioral modification "
"plan and consequences."
msgstr ""
#: ../../source/conduct.md:229
msgid "Follow up with the reporter"
msgstr ""
#: ../../source/conduct.md:231
msgid ""
"A person who makes a report should receive a follow-up response stating "
"what action was taken in response to the report. If the team decided no "
"response was needed, they should provide an explanation why it was not a "
"Code of Conduct violation. Reports that are not made in good faith (such "
"as \"reverse sexism\" or \"reverse racism\") may receive no response."
msgstr ""
#: ../../source/conduct.md:233
msgid ""
"The follow-up should be sent no later than one week after the receipt of "
"the report. If deliberation or follow-up with the reported person takes "
"longer than one week, the team should send a status update to the "
"reporter."
msgstr ""
#: ../../source/conduct.md:237
msgid "Changes to Code of Conduct"
msgstr ""
#: ../../source/conduct.md:239
msgid ""
"When discussing a change to the Manim Community code of conduct or "
"enforcement procedures, the Manim Community Code of Conduct team will "
"follow this decision-making process:"
msgstr ""
#: ../../source/conduct.md:241
msgid ""
"Brainstorm options. Team members should discuss any relevant context and "
"brainstorm a set of possible options. It is important to provide "
"constructive feedback without getting side-tracked from the main "
"question."
msgstr ""
#: ../../source/conduct.md:242
msgid ""
"Vote. Proposed changes to the code of conduct will be decided by a two-"
"thirds majority of all voting members of the Code of Conduct team. Team "
"members are listed in the charter. Currently active voting members are "
"listed in the following section."
msgstr ""
#: ../../source/conduct.md:243
msgid ""
"Board Vote. Once a working draft is in place for the Code of Conduct and "
"procedures, the Code of Conduct team shall provide the Manim Community "
"Moderators with a draft of the changes. The Manim Community Moderators "
"will vote on the changes at a board meeting."
msgstr ""
#: ../../source/conduct.md:246
msgid "Current list of voting members"
msgstr ""
#: ../../source/conduct.md:248
msgid ""
"All available Community Developers (i.e. those with \"write\" "
"permissions, or above, on the Manim Community GitHub organization)."
msgstr ""
#: ../../source/conduct.md:252
msgid "License"
msgstr ""
#: ../../source/conduct.md:254
msgid ""
"This Code of Conduct is licensed under the Creative Commons Attribution-"
"ShareAlike 3.0 Unported License."
msgstr ""
#: ../../source/conduct.md:258
msgid "Attributions"
msgstr ""
#: ../../source/conduct.md:260
msgid ""
"This Code of Conduct was forked from the code of conduct from the Python "
"Software Foundation and adapted by Manim Community."
msgstr ""

View file

@ -1,69 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/contributing.rst:3
msgid "Contributing"
msgstr ""
#: ../../source/contributing.rst:5
msgid ""
"Thank you for your interest in contributing to Manim! However you have "
"decided to contribute or interact with the community, please always be "
"civil and respect other members of the community. If you haven't read our"
" :doc:`code of conduct<conduct>`, do so here. Manim is Free and Open "
"Source Software (FOSS) for mathematical animations. As such, **we welcome"
" everyone** who is interested in mathematics, pedagogy, computer "
"animations, open-source, software development, and beyond. Manim accepts "
"many kinds of contributions, some are detailed below:"
msgstr ""
#: ../../source/contributing.rst:14
msgid "Code maintenance and development"
msgstr ""
#: ../../source/contributing.rst:15
msgid "DevOps"
msgstr ""
#: ../../source/contributing.rst:16
msgid "Documentation"
msgstr ""
#: ../../source/contributing.rst:17
msgid "Developing educational content & narrative documentation"
msgstr ""
#: ../../source/contributing.rst:18
msgid "Plugins to extend Manim functionality"
msgstr ""
#: ../../source/contributing.rst:19
msgid "Testing (graphical, unit & video)"
msgstr ""
#: ../../source/contributing.rst:20
msgid "Website design and development"
msgstr ""
#: ../../source/contributing.rst:21
msgid "Translating documentation and docstrings"
msgstr ""
#: ../../source/contributing.rst:24
msgid ""
"Please ensure that you are reading the latest version of this guide by "
"ensuring that \"latest\" is selected in the version switcher."
msgstr ""
#: ../../source/contributing.rst:28
msgid "Contributing can be confusing, so here are a few guides:"
msgstr ""

View file

@ -1,422 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/contributing/development.rst:3
msgid "Manim Development Process"
msgstr ""
#: ../../source/contributing/development.rst:6
msgid "For first-time contributors"
msgstr ""
#: ../../source/contributing/development.rst:7
msgid "Install git:"
msgstr ""
#: ../../source/contributing/development.rst:9
msgid "For instructions see https://git-scm.com/."
msgstr ""
#: ../../source/contributing/development.rst:12
msgid ""
"Fork the project. Go to https://github.com/ManimCommunity/manim and click"
" the \"fork\" button to create a copy of the project for you to work on. "
"You will need a GitHub account. This will allow you to make a \"Pull "
"Request\" (PR) to the ManimCommunity repo later on."
msgstr ""
#: ../../source/contributing/development.rst:17
msgid "Clone your fork to your local computer:"
msgstr ""
#: ../../source/contributing/development.rst:23
msgid ""
"GitHub will provide both a SSH (``git@github.com:<your-"
"username>/manim.git``) and HTTPS (``https://github.com/<your-"
"username>/manim.git``) URL for cloning. You can use SSH if you have SSH "
"keys setup."
msgstr ""
#: ../../source/contributing/development.rst:29
msgid "Do not clone the ManimCommunity repository. You must clone your own fork."
msgstr ""
#: ../../source/contributing/development.rst:32
msgid "Change the directory to enter the project folder:"
msgstr ""
#: ../../source/contributing/development.rst:38
msgid "Add the upstream repository, ManimCommunity:"
msgstr ""
#: ../../source/contributing/development.rst:44
msgid "Now, ``git remote -v`` should show two remote repositories named:"
msgstr ""
#: ../../source/contributing/development.rst:46
msgid "``origin``, your forked repository"
msgstr ""
#: ../../source/contributing/development.rst:47
msgid "``upstream`` the ManimCommunity repository"
msgstr ""
#: ../../source/contributing/development.rst:49
msgid "Install Manim:"
msgstr ""
#: ../../source/contributing/development.rst:51
msgid ""
"Follow the steps in our :doc:`installation instructions "
"<../installation>` to install **Manim's dependencies**, primarily "
"``ffmpeg`` and ``LaTeX``."
msgstr ""
#: ../../source/contributing/development.rst:55
msgid ""
"We recommend using `Poetry <https://python-poetry.org>`__ to manage your "
"developer installation of Manim. Poetry is a tool for dependency "
"management and packaging in Python. It allows you to declare the "
"libraries your project depends on, and it will manage (install / update) "
"them for you. In addition, Poetry provides a simple interface for "
"managing virtual environments."
msgstr ""
#: ../../source/contributing/development.rst:62
msgid ""
"If you choose to use Poetry as well, follow `Poetry's installation "
"guidelines <https://python-poetry.org/docs/master/#installation>`__ to "
"install it on your system, then run ``poetry install`` from your cloned "
"repository. Poetry will then install Manim, as well as create and enter a"
" virtual environment. You can always re-enter that environment by running"
" ``poetry shell``."
msgstr ""
#: ../../source/contributing/development.rst:69
msgid ""
"In case you decided against Poetry, you can install Manim via pip by "
"running ``python3 -m pip install .``. Note that due to our development "
"infrastructure being based on Poetry, we currently do not support "
"editable installs via ``pip``, so you will have to re-run this command "
"every time you make changes to the source code."
msgstr ""
#: ../../source/contributing/development.rst:78
msgid "The following steps assume that you chose to install and work with Poetry."
msgstr ""
#: ../../source/contributing/development.rst:81
msgid "Install Pre-Commit:"
msgstr ""
#: ../../source/contributing/development.rst:87
msgid ""
"This will ensure during development that each of your commits is properly"
" formatted against our linter and formatters, ``black``, ``flake8``, "
"``isort`` and ``codespell``."
msgstr ""
#: ../../source/contributing/development.rst:91
msgid "You are now ready to work on manim!"
msgstr ""
#: ../../source/contributing/development.rst:94
msgid "Develop your contribution"
msgstr ""
#: ../../source/contributing/development.rst:96
msgid ""
"Checkout your local repository's main branch and pull the latest changes "
"from ManimCommunity, ``upstream``, into your local repository:"
msgstr ""
#: ../../source/contributing/development.rst:104
msgid ""
"Create a branch for the changes you want to work on rather than working "
"off of your local main branch:"
msgstr ""
#: ../../source/contributing/development.rst:111
msgid ""
"This ensures you can easily update your local repository's main with the "
"first step and switch branches to work on multiple features."
msgstr ""
#: ../../source/contributing/development.rst:114
msgid "Write some awesome code!"
msgstr ""
#: ../../source/contributing/development.rst:116
msgid ""
"You're ready to make changes in your local repository's branch. You can "
"add local files you've changed within the current directory with ``git "
"add .``, or add specific files with"
msgstr ""
#: ../../source/contributing/development.rst:124
msgid ""
"and commit these changes to your local history with ``git commit``. If "
"you have installed pre-commit, your commit will succeed only if none of "
"the hooks fail."
msgstr ""
#: ../../source/contributing/development.rst:130
msgid ""
"When crafting commit messages, it is highly recommended that you adhere "
"to `these guidelines <https://www.conventionalcommits.org/en/v1.0.0/>`_."
msgstr ""
#: ../../source/contributing/development.rst:133
msgid "Add new or update existing tests."
msgstr ""
#: ../../source/contributing/development.rst:135
msgid ""
"Depending on your changes, you may need to update or add new tests. For "
"new features, it is required that you include tests with your PR. Details"
" of our testing system are explained in the :doc:`testing guide "
"<testing>`."
msgstr ""
#: ../../source/contributing/development.rst:140
msgid "Update docstrings and documentation:"
msgstr ""
#: ../../source/contributing/development.rst:142
msgid ""
"Update the docstrings (the text in triple quotation marks) of any "
"functions or classes you change and include them with any new functions "
"you add. See the :doc:`documentation guide <docstrings>` for more "
"information about how we prefer our code to be documented. The content of"
" the docstrings will be rendered in the :doc:`reference manual "
"<../reference>`."
msgstr ""
#: ../../source/contributing/development.rst:150
msgid ""
"Use the :mod:`manim directive for Sphinx <.manim_directive>` to add "
"examples to the documentation!"
msgstr ""
#: ../../source/contributing/development.rst:156:<autosummary>:1
msgid "A directive for including Manim videos in a Sphinx document"
msgstr ""
#: ../../source/contributing/development.rst:158
msgid ""
"As far as development on your local machine goes, these are the main "
"steps you should follow."
msgstr ""
#: ../../source/contributing/development.rst:162
msgid "Polishing Changes and Submitting a Pull Request"
msgstr ""
#: ../../source/contributing/development.rst:164
msgid ""
"As soon as you are ready to share your local changes with the community "
"so that they can be discussed, go through the following steps to open a "
"pull request. A pull request signifies to the ManimCommunity "
"organization, \"Here are some changes I wrote; I think it's worthwhile "
"for you to maintain them.\""
msgstr ""
#: ../../source/contributing/development.rst:172
msgid ""
"You do not need to have everything (code/documentation/tests) complete to"
" open a pull request (PR). If the PR is still under development, please "
"mark it as a draft. Community developers will still be able to review the"
" changes, discuss yet-to-be-implemented changes, and offer advice; "
"however, the more complete your PR, the quicker it will be merged."
msgstr ""
#: ../../source/contributing/development.rst:178
msgid "Update your fork on GitHub to reflect your local changes:"
msgstr ""
#: ../../source/contributing/development.rst:184
msgid ""
"Doing so creates a new branch on your remote fork, ``origin``, with the "
"contents of your local repository on GitHub. In subsequent pushes, this "
"local branch will track the branch ``origin`` and ``git push`` is enough."
msgstr ""
#: ../../source/contributing/development.rst:189
msgid "Make a pull request (PR) on GitHub."
msgstr ""
#: ../../source/contributing/development.rst:191
msgid ""
"In order to make the ManimCommunity development team aware of your "
"changes, you can make a PR to the ManimCommunity repository from your "
"fork."
msgstr ""
#: ../../source/contributing/development.rst:196
msgid ""
"Make sure to select ``ManimCommunity/manim`` instead of ``3b1b/manim`` as"
" the base repository!"
msgstr ""
#: ../../source/contributing/development.rst:199
msgid ""
"Choose the branch from your fork as the head repository - see the "
"screenshot below."
msgstr ""
#: ../../source/contributing/development.rst:205
msgid ""
"Please make sure you follow the template (this is the default text you "
"are shown when first opening the 'New Pull Request' page)."
msgstr ""
#: ../../source/contributing/development.rst:209
msgid "Your changes are eligible to be merged if:"
msgstr ""
#: ../../source/contributing/development.rst:211
msgid "there are no merge conflicts"
msgstr ""
#: ../../source/contributing/development.rst:212
msgid "the tests in our pipeline pass"
msgstr ""
#: ../../source/contributing/development.rst:213
msgid ""
"at least one (two for more complex changes) Community Developer approves "
"the changes"
msgstr ""
#: ../../source/contributing/development.rst:215
msgid ""
"You can check for merge conflicts between the current upstream/main and "
"your branch by executing ``git pull upstream main`` locally. If this "
"generates any merge conflicts, you need to resolve them and push an "
"updated version of the branch to your fork of the repository."
msgstr ""
#: ../../source/contributing/development.rst:220
msgid ""
"Our pipeline consists of a series of different tests that ensure that "
"manim still works as intended and that the code you added sticks to our "
"coding conventions."
msgstr ""
#: ../../source/contributing/development.rst:224
msgid ""
"**Code style**: We use the code style imposed by `Black "
"<https://black.readthedocs.io/en/stable/>`_, `isort "
"<https://pycqa.github.io/isort/>`_ and `flake8 "
"<https://flake8.pycqa.org/en/latest/>`_. The GitHub pipeline makes sure "
"that the (Python) files changed in your pull request also adhere to this "
"code style. If this step of the pipeline fails, fix your code formatting "
"automatically by running ``black <file or directory>`` and ``isort <file "
"or directory>``. To fix code style problems, run ``flake8 <file or "
"directory>`` for a style report, and then fix the problems manually that "
"were detected by ``flake8``."
msgstr ""
#: ../../source/contributing/development.rst:233
msgid ""
"**Tests**: The pipeline runs manim's test suite on different operating "
"systems (the latest versions of Ubuntu, MacOS, and Windows) for different"
" versions of Python. The test suite consists of two different kinds of "
"tests: integration tests and doctests. You can run them locally by "
"executing ``poetry run pytest`` and ``poetry run pytest --doctest-modules"
" manim``, respectively, from the root directory of your cloned fork."
msgstr ""
#: ../../source/contributing/development.rst:240
msgid ""
"**Documentation**: We also build a version of the documentation "
"corresponding to your pull request. Make sure not to introduce any Sphinx"
" errors, and have a look at the built HTML files to see whether the "
"formatting of the documentation you added looks as you intended. You can "
"build the documentation locally by running ``make html`` from the "
"``docs`` directory. Since the inheritance diagrams require you to have "
"`Graphviz <https://graphviz.org/>`_ installed locally."
msgstr ""
#: ../../source/contributing/development.rst:247
msgid ""
"Finally, if the pipeline passes and you are satisfied with your changes: "
"wait for feedback and iterate over any requested changes. You will likely"
" be asked to edit or modify your PR in one way or another during this "
"process. This is not an indictment of your work, but rather a strong "
"signal that the community wants to merge your changes! Once approved, "
"your changes may be merged!"
msgstr ""
#: ../../source/contributing/development.rst:254
msgid "Further useful guidelines"
msgstr ""
#: ../../source/contributing/development.rst:256
msgid ""
"When submitting a PR, please mention explicitly if it includes breaking "
"changes."
msgstr ""
#: ../../source/contributing/development.rst:258
msgid ""
"When submitting a PR, make sure that your proposed changes are as general"
" as possible, and ready to be taken advantage of by all of manim's users."
" In particular, leave out any machine-specific configurations, or any "
"personal information it may contain."
msgstr ""
#: ../../source/contributing/development.rst:263
msgid ""
"If you are a maintainer, please label issues and PRs appropriately and "
"frequently."
msgstr ""
#: ../../source/contributing/development.rst:266
msgid ""
"When opening a new issue, if there are old issues that are related, add a"
" link to them in your new issue (even if the old ones are closed)."
msgstr ""
#: ../../source/contributing/development.rst:269
msgid ""
"When submitting a code review, it is highly recommended that you adhere "
"to `these general guidelines <https://conventionalcomments.org/>`_."
msgstr ""
#: ../../source/contributing/development.rst:272
msgid ""
"If you find stale or inactive issues that seem to be irrelevant, please "
"post a comment saying 'This issue should be closed', and a community "
"developer will take a look."
msgstr ""
#: ../../source/contributing/development.rst:276
msgid ""
"Please do as much as possible to keep issues, PRs, and development in "
"general as tidy as possible."
msgstr ""
#: ../../source/contributing/development.rst:280
msgid ""
"You can find examples for the ``docs`` in several places: the "
":doc:`Example Gallery <../examples>`, :doc:`Tutorials <../tutorials>`, "
"and :doc:`Reference Classes <../reference>`."
msgstr ""
#: ../../source/contributing/development.rst:284
msgid "In case you are contributing, please have a look at this flowchart:"
msgstr ""
#: ../../source/contributing/development.rst:291
msgid "**Thank you for contributing!**"
msgstr ""

View file

@ -1,133 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/contributing/docstrings.rst:3
msgid "Adding Docstrings"
msgstr ""
#: ../../source/contributing/docstrings.rst:5
msgid ""
"A docstring is a string literal that is used right after the definition "
"of a module, function, class, or method. They are used to document our "
"code. This page will give you a set of guidelines to write efficient and "
"correct docstrings."
msgstr ""
#: ../../source/contributing/docstrings.rst:11
msgid "Formatting the Docstrings"
msgstr ""
#: ../../source/contributing/docstrings.rst:13
msgid ""
"Please begin the description of the class/function in the same line as "
"the 3 quotes:"
msgstr ""
#: ../../source/contributing/docstrings.rst:31
msgid "NumPy Format"
msgstr ""
#: ../../source/contributing/docstrings.rst:32
msgid "The Manim Community uses numpy format for the documentation."
msgstr ""
#: ../../source/contributing/docstrings.rst:34
msgid ""
"Use the numpy format for sections and formatting - see "
"https://numpydoc.readthedocs.io/en/latest/format.html."
msgstr ""
#: ../../source/contributing/docstrings.rst:37
msgid "This includes:"
msgstr ""
#: ../../source/contributing/docstrings.rst:39
msgid ""
"The usage of ``Attributes`` to specify ALL ATTRIBUTES that a class can "
"have and a brief (or long, if needed) description."
msgstr ""
#: ../../source/contributing/docstrings.rst:43
msgid ""
"Also, ``__init__`` parameters should be specified as ``Parameters`` **on "
"the class docstring**, *rather than under* ``__init__``. Note that this "
"can be omitted if the parameters and the attributes are the same (i.e., "
"dataclass) - priority should be given to the ``Attributes`` section, in "
"this case, which must **always be present**, unless the class specifies "
"no attributes at all. (See more on Parameters in number 2 of this list.)"
msgstr ""
#: ../../source/contributing/docstrings.rst:51
#: ../../source/contributing/docstrings.rst:151
msgid "Example:"
msgstr ""
#: ../../source/contributing/docstrings.rst:83
msgid ""
"The usage of ``Parameters`` on functions to specify how every parameter "
"works and what it does. This should be excluded if the function has no "
"parameters. Note that you **should not** specify the default value of the"
" parameter on the type. On the documentation render, this is already "
"specified on the function's signature. If you need to indicate a further "
"consequence of value omission or simply want to specify it on the docs, "
"make sure to **specify it in the parameter's DESCRIPTION**."
msgstr ""
#: ../../source/contributing/docstrings.rst:92
#: ../../source/contributing/docstrings.rst:128
msgid "See an example on list item 4."
msgstr ""
#: ../../source/contributing/docstrings.rst:96
msgid ""
"When documenting varargs (args and kwargs), make sure to document them by"
" listing the possible types of each value specified, like this:"
msgstr ""
#: ../../source/contributing/docstrings.rst:109
msgid ""
"Note that, if the kwargs expect specific values, those can be specified "
"in a section such as ``Other Parameters``:"
msgstr ""
#: ../../source/contributing/docstrings.rst:120
msgid ""
"The usage of ``Returns`` to indicate what is the type of this function's "
"return value and what exactly it returns (i.e., a brief - or long, if "
"needed - description of what this function returns). Can be omitted if "
"the function does not explicitly return (i.e., always returns ``None`` "
"because ``return`` is never specified, and it is very clear why this "
"function does not return at all). In all other cases, it should be "
"specified."
msgstr ""
#: ../../source/contributing/docstrings.rst:130
msgid ""
"The usage of ``Examples`` in order to specify an example of usage of a "
"function **is highly encouraged** and, in general, should be specified "
"for *every function* unless its usage is **extremely obvious**, which can"
" be debatable. Even if it is, it's always a good idea to add an example "
"in order to give a better orientation to the documentation user. Use the "
"following format for Python code:"
msgstr ""
#: ../../source/contributing/docstrings.rst:144
msgid ""
"Also, if this is a video- or animation-related change, please try to add "
"an example GIF or video if possible for demonstration purposes."
msgstr ""
#: ../../source/contributing/docstrings.rst:148
msgid ""
"Make sure to be as explicit as possible in your documentation. We all "
"want the users to have an easier time using this library."
msgstr ""

View file

@ -1,162 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/contributing/examples.rst:3
msgid "Adding Examples"
msgstr ""
#: ../../source/contributing/examples.rst:5
msgid ""
"This is a page for adding examples to the documentation. Here are some "
"guidelines you should follow before you publish your examples."
msgstr ""
#: ../../source/contributing/examples.rst:9
msgid "Guidelines for examples"
msgstr ""
#: ../../source/contributing/examples.rst:11
msgid ""
"Everybody is welcome to contribute examples to the documentation. Since "
"straightforward examples are a great resource for quickly learning manim,"
" here are some guidelines."
msgstr ""
#: ../../source/contributing/examples.rst:15
msgid "What makes a great example"
msgstr ""
#: ../../source/contributing/examples.rst:19
msgid ""
"As soon as a new version of manim is released, the documentation will be "
"a snapshot of that version. Examples contributed after the release will "
"only be shown in the latest documentation."
msgstr ""
#: ../../source/contributing/examples.rst:22
msgid "Examples should be ready to copy and paste for use."
msgstr ""
#: ../../source/contributing/examples.rst:24
msgid "Examples should be brief yet still easy to understand."
msgstr ""
#: ../../source/contributing/examples.rst:26
msgid ""
"Examples don't require the ``from manim import *`` statement, this will "
"be added automatically when the docs are built."
msgstr ""
#: ../../source/contributing/examples.rst:28
msgid "There should be a balance of animated and non-animated examples."
msgstr ""
#: ../../source/contributing/examples.rst:30
msgid ""
"As manim makes animations, we can include lots of animated examples; "
"however, our RTD has a maximum 20 minutes to build. Animated examples "
"should only be used when necessary, as last frame examples render faster."
msgstr ""
#: ../../source/contributing/examples.rst:32
msgid ""
"Lots of examples (e.g. size of a plot-axis, setting opacities, making "
"texts, etc.) will also work as images. It is a lot more convenient to see"
" the end product immediately instead of waiting for an animation to "
"reveal it."
msgstr ""
#: ../../source/contributing/examples.rst:34
msgid ""
"Please ensure the examples run on the current main branch when you "
"contribute an example."
msgstr ""
#: ../../source/contributing/examples.rst:36
msgid ""
"If the functions used are confusing for people, make sure to add comments"
" in the example to explain what they do."
msgstr ""
#: ../../source/contributing/examples.rst:39
msgid "How examples are structured"
msgstr ""
#: ../../source/contributing/examples.rst:41
msgid "Examples can be organized into chapters and subchapters."
msgstr ""
#: ../../source/contributing/examples.rst:43
msgid ""
"When you create examples, the beginning example chapter should focus on "
"only one functionality. When the functionality is simple, multiple ideas "
"can be illustrated under a single example."
msgstr ""
#: ../../source/contributing/examples.rst:45
msgid ""
"As soon as simple functionalities are explained, the chapter may include "
"more complex examples which build on the simpler ideas."
msgstr ""
#: ../../source/contributing/examples.rst:48
msgid "Writing examples"
msgstr ""
#: ../../source/contributing/examples.rst:50
msgid ""
"When you want to add/edit examples, they can be found in the "
"``docs/source/`` directory, or directly in the manim source code (e.g. "
"``manim/mobject/mobject.py``). The examples are written in ``rst`` format"
" and use the manim directive (see :mod:`~.manim_directive` ), ``.. "
"manim::``. Every example is in its own block, and looks like this:"
msgstr ""
#: ../../source/contributing/examples.rst:67
msgid ""
"In the building process of the docs, all ``rst`` files are scanned, and "
"the manim directive (``.. manim::``) blocks are identified as scenes that"
" will be run by the current version of manim. Here is the syntax:"
msgstr ""
#: ../../source/contributing/examples.rst:72
msgid ""
"``.. manim:: [SCENE_NAME]`` has no indentation and ``SCENE_NAME`` refers "
"to the name of the class below."
msgstr ""
#: ../../source/contributing/examples.rst:74
msgid ""
"The flags are followed in the next line (no blank line here!), with the "
"indentation level of one tab."
msgstr ""
#: ../../source/contributing/examples.rst:76
msgid "All possible flags can be found at :mod:`~.manim_directive`."
msgstr ""
#: ../../source/contributing/examples.rst:78
msgid ""
"In the example above, the ``Formula1`` following ``.. manim::`` is the "
"scene that the directive expects to render; thus, in the python code, the"
" class has the same name: ``class Formula1(Scene)``."
msgstr ""
#: ../../source/contributing/examples.rst:84
msgid ""
"Sometimes, when you reload an example in your browser, it has still the "
"old website somewhere in its cache. If this is the case, delete the "
"website cache, or open a new incognito tab in your browser, then the "
"latest docs should be shown. **Only for locally built documentation:** If"
" this still doesn't work, you may need to delete the contents of "
"``docs/source/references`` before rebuilding the documentation."
msgstr ""

View file

@ -1,92 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-20 19:10+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/contributing/internationalization.rst:3
msgid "Internationalization"
msgstr ""
#: ../../source/contributing/internationalization.rst:5
msgid "If you want to help with translating the docs:"
msgstr ""
#: ../../source/contributing/internationalization.rst:7
msgid ""
"Make sure you have a `Transifex <https://www.transifex.com/>`_ account. "
"Transifex is a tool for colaborative translation and allows the Manim "
"team to review translations."
msgstr ""
#: ../../source/contributing/internationalization.rst:8
msgid ""
"Open the `Manim Transifex project page <https://www.transifex.com/manim-"
"community/manim-community-documentation>`_ ."
msgstr ""
#: ../../source/contributing/internationalization.rst:9
msgid "Click on ``Join Team``."
msgstr ""
#: ../../source/contributing/internationalization.rst:10
msgid "Select the language you want to help with."
msgstr ""
#: ../../source/contributing/internationalization.rst:12
msgid "Congratulations! You are now a Translator for the Manim project!"
msgstr ""
#: ../../source/contributing/internationalization.rst:15
msgid ""
"You have access to the projects you joined just on the left of your "
"profile picture on the top bar."
msgstr ""
#: ../../source/contributing/internationalization.rst:22
msgid ""
"Now go to the `languages list <https://www.transifex.com/manim-community"
"/manim-community-documentation/languages/>`_ and select a language you "
"want to help with. You should see a blue button reading `Translate`; "
"click it to get started! You will see a list of resources in the project."
" You can click on any untranslated resource, then click on `Translate`. "
"You will then see something like the following:"
msgstr ""
#: ../../source/contributing/internationalization.rst:32
msgid ""
"The `A` panel is the list of all the strings in the resource. Click on "
"any of them to translate it. It will appear in the `B` panel, and you "
"will be able to work on your translation in the `C` panel. Once you're "
"done, click `Save changes`. Your translation will have to be reviewed "
"before being added to the docs. You can also get back to the resources "
"list by clicking `d` or change the destination language in `e`."
msgstr ""
#: ../../source/contributing/internationalization.rst:40
msgid ""
"If you want to become a reviewer, please join `Manim's Discord server "
"<https://www.manim.community/discord/>`_ and ping the role @Translation "
"Admin."
msgstr ""
#: ../../source/contributing/internationalization.rst:43
msgid ""
"If you want to add a new language, you can go to `the project page "
"<https://www.transifex.com/manim-community/manim-community-"
"documentation>`_ If you haven't joined the project yet, you will have a "
"link which reads `Request language` which you can click. If you are "
"already in the project, this button will be in the languages page."
msgstr ""
#: ../../source/contributing/internationalization.rst:49
msgid ""
"We will have to manually accept the new language, so you will not be able"
" to translate instantaneously (for new languages)."
msgstr ""

View file

@ -1,223 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/contributing/references.rst:3
msgid "Adding References"
msgstr ""
#: ../../source/contributing/references.rst:6
msgid "Reference to types in documentation"
msgstr ""
#: ../../source/contributing/references.rst:8
msgid ""
"Always specify types with the correct **role** (see https://www.sphinx-"
"doc.org/en/1.7/domains.html#python-roles) for the sake of proper "
"rendering. E.g.: Use ``:class:`int``` to refer to an int type, and in "
"general ``:class:`<path>``` to refer to a certain class (see ``Path "
"specification`` below). See after for more specific instructions."
msgstr ""
#: ../../source/contributing/references.rst:16
msgid "Path specifications"
msgstr ""
#: ../../source/contributing/references.rst:18
msgid ""
"If it's on stdlib: Use ``<name>`` directly. If it's a class, just the "
"name is enough. If it's a method (``:meth:``) or attribute (``:attr:``), "
"dotted names may be used (e.g. ``:meth:`str.to_lower```)."
msgstr ""
#: ../../source/contributing/references.rst:23
msgid ""
"Example: ``:class:`int```, ``:class:`str```, ``:class:`float```, "
"``:class:`bool```"
msgstr ""
#: ../../source/contributing/references.rst:26
msgid ""
"If it's on the same file as the docstring or, for methods and attributes,"
" under the same class, then the name may also be specified directly."
msgstr ""
#: ../../source/contributing/references.rst:30
msgid ""
"Example: ``:class:`MyClass``` referring to a class in the same file; "
"``:meth:`push``` referring to a method in the same class; "
"``:meth:`MyClass.push``` referring to a method in a different class in "
"the same file; ``:attr:`color``` referring to an attribute in the same "
"class; ``:attr:`MyClass.color``` referring to an attribute in a "
"different class in the same file."
msgstr ""
#: ../../source/contributing/references.rst:37
msgid ""
"If it's on a different file, then you may either use the full dotted name"
" (e.g. ``~manim.animations.Animation``) or simply use the shortened way "
"(``~.Animation``). Note that, if there is ambiguity, then the full dotted"
" name must be used where the actual class can't be deduced. Also, note "
"the ``~`` before the path - this is so that it displays just "
"``Animation`` instead of the full location in the rendering. It can be "
"removed for disambiguation purposes only."
msgstr ""
#: ../../source/contributing/references.rst:45
msgid ""
"Example: ``:class:`~.Animation```, ``:meth:`~.VMobject.set_color```, "
"``:attr:`~.VMobject.color```"
msgstr ""
#: ../../source/contributing/references.rst:48
msgid "If it's a class from a different module, specify the full dotted syntax."
msgstr ""
#: ../../source/contributing/references.rst:51
msgid "Example: ``:class:`numpy.ndarray``` for a numpy ndarray."
msgstr ""
#: ../../source/contributing/references.rst:54
msgid "Reference type specifications"
msgstr ""
#: ../../source/contributing/references.rst:56
msgid ""
"**The following instructions refer to types of attributes, parameters, "
"and return values.** When specifying a type mid-text, it does not "
"necessarily have to be typeset. However, if it's a class name, a method, "
"or an enum's attribute/variant, then it is recommended to be typeset at "
"least on the first occurrence of the name so that the users can quickly "
"jump to the related documentation."
msgstr ""
#: ../../source/contributing/references.rst:63
msgid ""
"Class names should be wrapped in ``:class:`path_goes_here```. See "
"examples in the subsection above."
msgstr ""
#: ../../source/contributing/references.rst:65
msgid ""
"Method names should be wrapped in ``:meth:`path_goes_here```. See "
"examples in the subsection above."
msgstr ""
#: ../../source/contributing/references.rst:67
msgid ""
"Attribute names should be wrapped in ``:attr:`path_goes_here```. See "
"examples in the subsection above."
msgstr ""
#: ../../source/contributing/references.rst:69
msgid ""
"If ``None`` can also be specified, use ``Optional[type]``, where ``type``"
" must follow the guidelines in the current section."
msgstr ""
#: ../../source/contributing/references.rst:72
msgid ""
"Example: ``Optional[:class:`str`]`` means you can either specify a "
"``str`` or ``None``."
msgstr ""
#: ../../source/contributing/references.rst:75
msgid ""
"If more than one type is possible, use ``Union[type_1, type_2, (...), "
"type_n]``, where all the ``type_n`` must follow the guidelines in the "
"current section. Note that, if one of these types is ``None``, then the "
"Union should be wrapped with ``Optional`` instead."
msgstr ""
#: ../../source/contributing/references.rst:81
msgid ""
"Example: ``Union[:class:`str`, :class:`int`]`` for either ``str`` or "
"``int``. ``Optional[Union[:class:`int`, :class:`bool`]]`` for either "
"``int``, ``bool`` or ``None``."
msgstr ""
#: ../../source/contributing/references.rst:85
msgid ""
"**Dictionaries:** Use ``Dict[key_type, value_type]``, where ``key_type`` "
"and ``value_type`` must follow the guidelines in the current section."
msgstr ""
#: ../../source/contributing/references.rst:89
msgid ""
"Example: ``Dict[:class:`str`, :class:`~.Mobject`]`` is a dictionary that "
"maps strings to Mobjects. ``Dict[:class:`str`, Union[:class:`int`, "
":class:`MyClass`]]`` is a dictionary that maps a string to either an int "
"or an instance of ``MyClass``."
msgstr ""
#: ../../source/contributing/references.rst:95
msgid ""
"**If the parameter is a list:** Note that it is very rare to require the "
"parameter to be exactly a ``list`` type. One could usually specify a "
"``tuple`` instead, for example. So, in order to cover all cases, "
"consider:"
msgstr ""
#: ../../source/contributing/references.rst:100
msgid ""
"If the parameter only needs to be an ``Iterable``, i.e., if the function "
"only requires being able to iterate over this parameter's value (e.g. can"
" be a ``list``, ``tuple``, ``str``, but also ``zip()``, ``iter()`` and so"
" on), then specify ``Iterable[type_here]``, where ``type_here`` is the "
"type of the iterable's yielded elements and should follow the format in "
"the present section (``Type specifications``)."
msgstr ""
#: ../../source/contributing/references.rst:108
msgid ""
"Example: ``Iterable[:class:`str`]`` for any iterable of strings; "
"``Iterable[:class:`~.Mobject`]`` for an iterable of Mobjects; etc."
msgstr ""
#: ../../source/contributing/references.rst:111
msgid ""
"If you require being able to index the parameter (i.e. ``x[n]``) or "
"retrieve its length (i.e. ``len(x)``), or even just pass it to a function"
" that requires any of those, then specify ``Sequence``, which allows any "
"list-like object to be specified (e.g. ``list``, ``tuple``...)"
msgstr ""
#: ../../source/contributing/references.rst:117
msgid ""
"Example: ``Sequence[:class:`str`]`` for a sequence of strings; "
"``Sequence[Union[:class:`str`, :class:`int`]]`` for a sequence of "
"integers or strings."
msgstr ""
#: ../../source/contributing/references.rst:121
msgid ""
"If you EXPLICITLY REQUIRE it to be a ``list`` for some reason, then use "
"``List[type]``, where ``type`` is the type that any element in the list "
"will have. It must follow the guidelines in the current section."
msgstr ""
#: ../../source/contributing/references.rst:126
msgid ""
"**If the return type is a list or tuple:** Specify ``List[type]`` for a "
"list, ``Tuple[type_a, type_b, (...), type_n]`` for a tuple (if the "
"elements are all different) or ``Tuple[type, ...]`` (if all elements have"
" the same type). Each ``type_n`` on those representations corresponds to "
"elements in the returned list/tuple and must follow the guidelines in the"
" current section."
msgstr ""
#: ../../source/contributing/references.rst:133
msgid ""
"Example: ``List[Optional[:class:`str`]]`` for a list that returns "
"elements that are either a ``str`` or ``None``; ``Tuple[:class:`str`, "
":class:`int`]`` for a tuple of type ``(str, int)``; ``Tuple[:class:`int`,"
" ...]`` for a tuple of variable length with only integers."
msgstr ""

View file

@ -1,328 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/contributing/testing.rst:3
msgid "Adding Tests"
msgstr ""
#: ../../source/contributing/testing.rst:4
msgid ""
"If you are adding new features to manim, you should add appropriate tests"
" for them. Tests prevent manim from breaking at each change by checking "
"that no other feature has been broken and/or been unintentionally "
"modified."
msgstr ""
#: ../../source/contributing/testing.rst:9
msgid "How Manim tests"
msgstr ""
#: ../../source/contributing/testing.rst:11
msgid ""
"Manim uses pytest as its testing framework. To start the testing process,"
" go to the root directory of the project and run pytest in your terminal."
" Any errors that occur during testing will be displayed in the terminal."
msgstr ""
#: ../../source/contributing/testing.rst:15
msgid "Some useful pytest flags:"
msgstr ""
#: ../../source/contributing/testing.rst:17
msgid "``-x`` will make pytest stop at the first failure it encounters"
msgstr ""
#: ../../source/contributing/testing.rst:19
msgid ""
"``-s`` will make pytest display all the print messages (including those "
"during scene generation, like DEBUG messages)"
msgstr ""
#: ../../source/contributing/testing.rst:21
msgid "``--skip_slow`` will skip the (arbitrarily) slow tests"
msgstr ""
#: ../../source/contributing/testing.rst:23
msgid ""
"``--show_diff`` will show a visual comparison in case a unit test is "
"failing."
msgstr ""
#: ../../source/contributing/testing.rst:27
msgid "How it Works"
msgstr ""
#: ../../source/contributing/testing.rst:29
msgid "At the moment there are three types of tests:"
msgstr ""
#: ../../source/contributing/testing.rst:31
msgid "Unit Tests:"
msgstr ""
#: ../../source/contributing/testing.rst:33
msgid ""
"Tests for most of the basic functionalities of manim. For example, there "
"a test for ``Mobject``, that checks if it can be added to a Scene, etc."
msgstr ""
#: ../../source/contributing/testing.rst:36
msgid ""
"Graphical unit tests: Because ``manim`` is a graphics library, we test "
"frames. To do so, we create test scenes that render a specific feature. "
"When pytest runs, it compares the result of the test to the control data,"
" either at 6 fps or just the last frame. If it matches, the tests pass. "
"If the test and control data differ, the tests fail. You can use "
"``--show_diff`` flag with ``pytest`` to visually see the differences."
msgstr ""
#: ../../source/contributing/testing.rst:42
msgid "Videos format tests:"
msgstr ""
#: ../../source/contributing/testing.rst:44
msgid ""
"As Manim is a video library, we have to test videos as well. "
"Unfortunately, we cannot directly test video content as rendered videos "
"can differ slightly depending on the system (for reasons related to "
"ffmpeg). Therefore, we only compare video configuration values, exported "
"in .json."
msgstr ""
#: ../../source/contributing/testing.rst:51
msgid "Architecture"
msgstr ""
#: ../../source/contributing/testing.rst:53
msgid "The ``manim/tests`` directory looks like this:"
msgstr ""
#: ../../source/contributing/testing.rst:122
msgid "The Main Directories"
msgstr ""
#: ../../source/contributing/testing.rst:124
msgid "``control_data/``:"
msgstr ""
#: ../../source/contributing/testing.rst:126
msgid ""
"The directory containing control data. "
"``control_data/graphical_units_data/`` contains the expected and correct "
"frame data for graphical tests, and ``control_data/videos_data/`` "
"contains the .json files used to check videos."
msgstr ""
#: ../../source/contributing/testing.rst:129
msgid "``test_graphical_units/``:"
msgstr ""
#: ../../source/contributing/testing.rst:131
msgid "Contains graphical tests."
msgstr ""
#: ../../source/contributing/testing.rst:133
msgid "``test_scene_rendering/``:"
msgstr ""
#: ../../source/contributing/testing.rst:135
msgid ""
"For tests that need to render a scene in some way, such as tests for CLI "
"flags (end-to-end tests)."
msgstr ""
#: ../../source/contributing/testing.rst:138
msgid "``utils/``:"
msgstr ""
#: ../../source/contributing/testing.rst:140
msgid "Useful internal functions used by pytest."
msgstr ""
#: ../../source/contributing/testing.rst:142
msgid "fixtures are not contained here, they are in ``conftest.py``."
msgstr ""
#: ../../source/contributing/testing.rst:144
msgid "``helpers/``:"
msgstr ""
#: ../../source/contributing/testing.rst:146
msgid "Helper functions for developers to setup graphical/video tests."
msgstr ""
#: ../../source/contributing/testing.rst:149
msgid "Adding a New Test"
msgstr ""
#: ../../source/contributing/testing.rst:152
msgid "Unit Tests"
msgstr ""
#: ../../source/contributing/testing.rst:154
msgid ""
"Pytest determines which functions are tests by searching for files whose "
"names begin with \"test\\_\", and then within those files for functions "
"beginning with \"test\" and classes beginning with \"Test\". These kinds "
"of tests must be in ``tests/`` (e.g. ``tests/test_container.py``)."
msgstr ""
#: ../../source/contributing/testing.rst:160
msgid "Graphical Unit Test"
msgstr ""
#: ../../source/contributing/testing.rst:162
msgid ""
"The test must be written in the correct file (i.e. the file that "
"corresponds to the appropriate category the feature belongs to) and "
"follow the structure of unit tests."
msgstr ""
#: ../../source/contributing/testing.rst:165
msgid ""
"For example, to test the ``Circle`` VMobject which resides in "
"``manim/mobject/geometry.py``, add the CircleTest to "
"``test/test_geometry.py``."
msgstr ""
#: ../../source/contributing/testing.rst:169
msgid ""
"The name of the module is indicated by the variable __module_test__, that"
" **must** be declared in any graphical test file. The module name is used"
" to store the graphical control data."
msgstr ""
#: ../../source/contributing/testing.rst:172
msgid ""
"You will need to use the ``frames_comparison`` decorator to create a "
"test. The test function **must** accept a parameter named ``scene`` that "
"will be used like ``self`` in a standard ``construct`` method."
msgstr ""
#: ../../source/contributing/testing.rst:175
msgid "Here's an example in ``test_geometry.py``:"
msgstr ""
#: ../../source/contributing/testing.rst:190
msgid ""
"The decorator can be used with or without parentheses. **By default, the "
"test only tests the last frame. To enable multi-frame testing, you have "
"to set ``last_frame=False`` in the parameters.**"
msgstr ""
#: ../../source/contributing/testing.rst:199
msgid ""
"You can also specify, when needed, which base scene you need "
"(ThreeDScene, for example) :"
msgstr ""
#: ../../source/contributing/testing.rst:208
msgid "Feel free to check the documentation of ``@frames_comparison`` for more."
msgstr ""
#: ../../source/contributing/testing.rst:210
msgid ""
"Note that tests name must follow the syntax ``test_<thing_to_test>``, "
"otherwise pytest will not recognize it as a test."
msgstr ""
#: ../../source/contributing/testing.rst:213
msgid ""
"If you run pytest now, you will get a ``FileNotFound`` error. This is "
"because you have not created control data for your test."
msgstr ""
#: ../../source/contributing/testing.rst:216
msgid ""
"To create the control data for your test, you have to use the flag "
"``--set_test`` along with pytest. For the example above, it would be"
msgstr ""
#: ../../source/contributing/testing.rst:223
msgid "(``-s`` is here to see manim logs, so you can see what's going on)."
msgstr ""
#: ../../source/contributing/testing.rst:225
msgid ""
"Please make sure to add the control data to git as soon as it is produced"
" with ``git add <your-control-data.npz>``."
msgstr ""
#: ../../source/contributing/testing.rst:229
msgid "Videos tests"
msgstr ""
#: ../../source/contributing/testing.rst:231
msgid ""
"To test videos generated, we use the decorator "
"``tests.utils.videos_tester.video_comparison``:"
msgstr ""
#: ../../source/contributing/testing.rst:254
msgid ""
"``assert exit*\\ code == 0, err`` is used in case of the command fails to"
" run. The decorator takes two arguments: json name and the path to where "
"the video should be generated, starting from the ``media/`` dir."
msgstr ""
#: ../../source/contributing/testing.rst:258
msgid "Note the fixtures here:"
msgstr ""
#: ../../source/contributing/testing.rst:260
msgid ""
"tmp_path is a pytest fixture to get a tmp_path. Manim will output here, "
"according to the flag ``--media_dir``."
msgstr ""
#: ../../source/contributing/testing.rst:262
msgid ""
"``manim_cfg_file`` fixture that return a path pointing to "
"``test_scene_rendering/standard_config.cfg``. It's just to shorten the "
"code, in the case multiple tests need to use this cfg file."
msgstr ""
#: ../../source/contributing/testing.rst:264
msgid ""
"``simple_scenes_path`` same as above, except for "
"``test_scene_rendering/simple_scene.py``"
msgstr ""
#: ../../source/contributing/testing.rst:266
msgid ""
"You have to generate a ``.json`` file first to be able to test your "
"video. To do that, use ``helpers.save_control_data_from_video``."
msgstr ""
#: ../../source/contributing/testing.rst:269
msgid ""
"For instance, a test that will check if the l flag works properly will "
"first require rendering a video using the -l flag from a scene. Then we "
"will test (in this case, SquareToCircle), that lives in "
"``test_scene_rendering/simple_scene.py``. Change directories to "
"``tests/``, create a file (e.g. ``create\\_data.py``) that you will "
"remove as soon as you're done. Then run:"
msgstr ""
#: ../../source/contributing/testing.rst:280
msgid ""
"Running this will save "
"``control_data/videos_data/SquareToCircleWithlFlag.json``, which will "
"look like this:"
msgstr ""
#: ../../source/contributing/testing.rst:298
msgid ""
"If you have any questions, please don't hesitate to ask on `Discord "
"<https://www.manim.community/discord/>`_, in your pull request, or in an "
"issue."
msgstr ""

View file

@ -1,92 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 18:01+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/contributing/translation.rst:3
msgid "Internationalization"
msgstr ""
#: ../../source/contributing/translation.rst:5
msgid "If you want to help with translating the docs:"
msgstr ""
#: ../../source/contributing/translation.rst:7
msgid ""
"Make sure you have a `Transifex <https://www.transifex.com/>`_ account. "
"Transifex is a tool for colaborative translation and allows the Manim "
"team to review translations."
msgstr ""
#: ../../source/contributing/translation.rst:8
msgid ""
"Open the `Manim Transifex project page <https://www.transifex.com/manim-"
"community/manim-community-documentation>`_ ."
msgstr ""
#: ../../source/contributing/translation.rst:9
msgid "Click on ``Join Team``."
msgstr ""
#: ../../source/contributing/translation.rst:10
msgid "Select the language you want to help with."
msgstr ""
#: ../../source/contributing/translation.rst:12
msgid "Congratulations! You are now a Translator for the Manim project!"
msgstr ""
#: ../../source/contributing/translation.rst:15
msgid ""
"You have access to the projects you joined just on the left of your "
"profile picture on the top bar."
msgstr ""
#: ../../source/contributing/translation.rst:22
msgid ""
"Now go to the `languages list <https://www.transifex.com/manim-community"
"/manim-community-documentation/languages/>`_ and select a language you "
"want to help with. You should see a blue button reading `Translate`; "
"click it to get started! You will see a list of resources in the project."
" You can click on any untranslated resource, then click on `Translate`. "
"You will then see something like the following:"
msgstr ""
#: ../../source/contributing/translation.rst:32
msgid ""
"The `A` panel is the list of all the strings in the resource. Click on "
"any of them to translate it. It will appear in the `B` panel, and you "
"will be able to work on your translation in the `C` panel. Once you're "
"done, click `Save changes`. Your translation will have to be reviewed "
"before being added to the docs. You can also get back to the resources "
"list by clicking `d` or change the destination language in `e`. Your"
msgstr ""
#: ../../source/contributing/translation.rst:40
msgid ""
"If you want to become a reviewer, please join `Manim's Discord server "
"<https://www.manim.community/discord/>`_ and you can ping the role "
"@Translation Admin."
msgstr ""
#: ../../source/contributing/translation.rst:43
msgid ""
"If you want to add a new language, you can go to `the project page "
"<https://www.transifex.com/manim-community/manim-community-"
"documentation>`_ If you haven't joined the project yet, you will have a "
"link which reads `Request language` which you can click. If you are "
"already in the project, this button will be in the languages page."
msgstr ""
#: ../../source/contributing/translation.rst:49
msgid ""
"We will have to manually accept the new language, so you will not be able"
" to translate instantaneously (for new languages)."
msgstr ""

View file

@ -1,174 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/examples.rst:3
msgid "Example Gallery"
msgstr ""
#: ../../source/examples.rst:5
msgid ""
"This gallery contains a collection of best practice code snippets "
"together with their corresponding video/image output, illustrating "
"different functionalities all across the library. These are all under the"
" MIT license, so feel free to copy & paste them to your projects. Enjoy "
"this taste of Manim!"
msgstr ""
#: ../../source/examples.rst:13
msgid ""
"This gallery is not the only place in our documentation where you can see"
" explicit code and video examples: there are many more in our "
":doc:`reference manual </reference>` -- see, for example, our "
"documentation for the modules :mod:`~.tex_mobject`, :mod:`~.geometry`, "
":mod:`~.moving_camera_scene`, and many more."
msgstr ""
#: ../../source/examples.rst:19
msgid ""
"Check out our `interactive Jupyter environment "
"<https://mybinder.org/v2/gh/ManimCommunity/jupyter_examples/HEAD?filepath=basic_example_scenes.ipynb>`_"
" which allows running the examples online, without requiring a local "
"installation."
msgstr ""
#: ../../source/examples.rst:23
msgid ""
"Also, visit our `Twitter <https://twitter.com/manim_community/>`_ for "
"more *manimations*!"
msgstr ""
#: ../../source/examples.rst:29
msgid "Basic Concepts"
msgstr ""
#: ../../source/examples.rst:31
msgid ""
"References: :class:`~.Brace` :meth:`~.Brace.get_text` "
":meth:`~.Brace.get_tex`"
msgstr ""
#: ../../source/examples.rst:30
msgid "References: :class:`~.ImageMobject`"
msgstr ""
#: ../../source/examples.rst:98
msgid "Animations"
msgstr ""
#: ../../source/examples.rst:30
msgid ""
"References: :meth:`~.Mobject.shift` :meth:`~.VMobject.set_fill` "
":meth:`~.Mobject.scale` :meth:`~.Mobject.rotate`"
msgstr ""
#: ../../source/examples.rst:64
msgid "References: :class:`~.Angle` :meth:`~.Mobject.rotate`"
msgstr ""
#: ../../source/examples.rst:180
msgid "You can use multiple ValueTrackers simultaneously."
msgstr ""
#: ../../source/examples.rst:38
msgid "References: :meth:`~.Mobject.add_updater` :meth:`~.Mobject.remove_updater`"
msgstr ""
#: ../../source/examples.rst:38
msgid ""
"References: :class:`~.Rotating` :meth:`~.VMobject.set_points_as_corners` "
":meth:`~.Mobject.add_updater`"
msgstr ""
#: ../../source/examples.rst:274
msgid "Plotting with Manim"
msgstr ""
#: ../../source/examples.rst:53
msgid ""
"References: :mod:`~.manim.mobject.coordinate_systems` :class:`~.MathTex` "
":meth:`~.Axes.get_graph` :meth:`~.Axes.get_vertical_line_to_graph` "
":meth:`~.Axes.input_to_graph_point` :meth:`~.Axes.get_axis_labels`"
msgstr ""
#: ../../source/examples.rst:46
msgid ""
"References: :mod:`~.manim.mobject.coordinate_systems` "
":meth:`~.Axes.get_graph` :meth:`~.Axes.get_vertical_line_to_graph` "
":meth:`~.Axes.get_area` :meth:`~.Axes.get_axis_labels`"
msgstr ""
#: ../../source/examples.rst:41
msgid ""
"References: :mod:`~.manim.mobject.coordinate_systems` "
":meth:`~.Axes.get_line_graph` :meth:`~.Axes.get_axis_labels`"
msgstr ""
#: ../../source/examples.rst:402
msgid "Special Camera Settings"
msgstr ""
#: ../../source/examples.rst:46
msgid ""
"References: :mod:`~.manim.scene.moving_camera_scene` "
":class:`~.MovingCameraScene` :class:`~.MoveAlongPath` :class:`~.Restore` "
":meth:`~.Axes.get_graph` :meth:`~.Mobject.add_updater`"
msgstr ""
#: ../../source/examples.rst:85
msgid ""
"References: :mod:`~.manim.scene.zoomed_scene` :class:`~.ZoomedScene` "
":class:`~.BackgroundRectangle` :class:`~.UpdateFromFunc` "
":meth:`~.Mobject.add_updater` "
":meth:`~.ZoomedScene.get_zoomed_display_pop_out_animation`"
msgstr ""
#: ../../source/examples.rst:30
msgid ""
"References: :class:`~.ThreeDScene` "
":meth:`~.ThreeDScene.set_camera_orientation` "
":meth:`~.ThreeDScene.add_fixed_in_frame_mobjects`"
msgstr ""
#: ../../source/examples.rst:35
msgid ""
"References: :class:`~.ThreeDScene` :class:`~.ThreeDAxes` "
":class:`~.Surface` :meth:`~.ThreeDScene.set_camera_orientation`"
msgstr ""
#: ../../source/examples.rst:33
msgid ""
"References: :class:`~.ThreeDScene` :class:`~.ThreeDAxes` "
":meth:`~.ThreeDScene.begin_ambient_camera_rotation` "
":meth:`~.ThreeDScene.stop_ambient_camera_rotation`"
msgstr ""
#: ../../source/examples.rst:31
msgid ""
"References: :class:`~.ThreeDScene` :class:`~.ThreeDAxes` "
":meth:`~.ThreeDScene.begin_3dillusion_camera_rotation` "
":meth:`~.ThreeDScene.stop_3dillusion_camera_rotation`"
msgstr ""
#: ../../source/examples.rst:46
msgid "References: :class:`~.ThreeDScene` :class:`~.Surface`"
msgstr ""
#: ../../source/examples.rst:604
msgid "Advanced Projects"
msgstr ""
#: ../../source/examples.rst:107
msgid ""
"References: :class:`~.MathTex` :class:`~.Circle` :class:`~.Dot` "
":class:`~.Line` :class:`~.VGroup` :func:`~.always_redraw` "
":meth:`~.Mobject.add_updater` :meth:`~.Mobject.remove_updater`"
msgstr ""

View file

@ -1,80 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/index.rst:7
msgid "Manim Community Overview"
msgstr ""
#: ../../source/index.rst:9
msgid ""
"Animating technical concepts is traditionally pretty tedious since it can"
" be difficult to make the animations precise enough to convey them "
"accurately. ``Manim`` uses Python to generate animations "
"programmatically, making it possible to specify exactly how each one "
"should run."
msgstr ""
#: ../../source/index.rst:14
msgid ""
"This project is still very much a work in progress, but we hope that the "
"information here will make it easier for newcomers to get started using "
"``Manim``."
msgstr ""
#: ../../source/index.rst:20
msgid ""
"All content of the docs is licensed under the MIT license. Especially for"
" the examples you encounter: Feel free to use this code in your own "
"projects!"
msgstr ""
#: ../../source/index.rst:23
msgid ""
"We are curious to see the awesome projects you build using this library, "
"feel free to share your projects with us `on Twitter "
"<https://twitter.com/manim_community>`_, `Reddit "
"<https://www.reddit.com/r/manim/>`_, or via `Discord "
"<https://www.manim.community/discord/>`_."
msgstr ""
#: ../../source/index.rst:27
msgid ""
"In case you publish your work made with Manim, we would appreciate if you"
" add a link to `our homepage <https://www.manim.community>`_ or `our "
"GitHub repository <https://github.com/ManimCommunity/manim>`_. If you use"
" Manim in a scientific context, instructions on how to cite a particular "
"release can be found `in our README "
"<https://github.com/ManimCommunity/manim/blob/main/README.md>`_."
msgstr ""
#: ../../source/index.rst:36
msgid ""
"As a quick reference, here are some often used modules, classes and "
"methods:"
msgstr ""
#: ../../source/index.rst:38
msgid ""
"Modules: :mod:`~.moving_camera_scene`, :mod:`~.tex_mobject`, "
":mod:`~.geometry`,"
msgstr ""
#: ../../source/index.rst:43
msgid ""
"Classes: :class:`~.Mobject` , :class:`~.VMobject`, "
":class:`~.ValueTracker`, :class:`~.MathTex`, :class:`~.Angle`, "
":class:`~.Tex`, :class:`~.Text`,"
msgstr ""
#: ../../source/index.rst:52
msgid "Methods: :meth:`~.Mobject.add_updater`,"
msgstr ""

View file

@ -1,140 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/installation.rst:2
msgid "Installation"
msgstr ""
#: ../../source/installation.rst:4
msgid ""
"Depending on your use case, different installation options are "
"recommended: if you just want to play around with Manim for a bit, "
"interactive in-browser notebooks are a really simple way of exploring the"
" library as they require no local installation. Head over to "
"https://try.manim.community to give our interactive tutorial a try."
msgstr ""
#: ../../source/installation.rst:10
msgid ""
"Otherwise, if you intend to use Manim to work on an animation project, we"
" recommend installing the library locally (either to your system's "
"Python, or via Docker)."
msgstr ""
#: ../../source/installation.rst:16
msgid ""
"Note that there are several different versions of Manim. The instructions"
" on this website are **only** for the *community edition*. Find out more "
"about the :doc:`differences between Manim versions "
"<installation/versions>` if you are unsure which version you should "
"install."
msgstr ""
#: ../../source/installation.rst:22
msgid ":ref:`Installing Manim to your system's Python <local-installation>`"
msgstr ""
#: ../../source/installation.rst:23
msgid ":ref:`Using Manim via Docker <docker-installation>`"
msgstr ""
#: ../../source/installation.rst:24
msgid ""
":ref:`Interactive Jupyter notebooks via Binder / Google Colab "
"<interactive-online>`"
msgstr ""
#: ../../source/installation.rst:31
msgid "Installing Manim locally"
msgstr ""
#: ../../source/installation.rst:33
msgid ""
"Manim is a Python library, and it can be `installed via pip "
"<https://pypi.org/project/manim/>`__. However, in order for Manim to work"
" properly, some additional system dependencies need to be installed "
"first. The following pages have operating system specific instructions "
"for you to follow."
msgstr ""
#: ../../source/installation.rst:41
msgid ""
"Depending on your particular setup, the installation process might be "
"slightly different. Make sure that you have tried to follow the steps on "
"the following pages carefully, but in case you hit a wall we are happy to"
" help: either `join our Discord "
"<https://www.manim.community/discord/>`__, or start a new Discussion "
"`directly on GitHub "
"<https://github.com/ManimCommunity/manim/discussions>`__."
msgstr ""
#: ../../source/installation.rst:57
msgid ""
"Once Manim is installed locally, you can proceed to our :doc:`quickstart "
"guide <tutorials/quickstart>` which walks you through rendering a first "
"simple scene."
msgstr ""
#: ../../source/installation.rst:61
msgid ""
"As mentioned above, do not worry if there are errors or other problems: "
"consult our :doc:`troubleshooting guide <installation/troubleshooting>` "
"for help, or get in touch with the community via `GitHub discussions "
"<https://github.com/ManimCommunity/manim/discussions>`__ or `Discord "
"<https://www.manim.community/discord/>`__."
msgstr ""
#: ../../source/installation.rst:73
msgid "Using Manim via Docker"
msgstr ""
#: ../../source/installation.rst:75
msgid ""
"`Docker <https://www.docker.com>`__ is a virtualization tool that allows "
"the distribution of encapsulated software environments (containers)."
msgstr ""
#: ../../source/installation.rst:78
msgid ""
"The following pages contain more information about the docker image "
"maintained by the community, ``manimcommunity/manim``:"
msgstr ""
#: ../../source/installation.rst:89
msgid "Interactive Jupyter notebooks for your browser"
msgstr ""
#: ../../source/installation.rst:91
#, python-format
msgid ""
"Manim ships with a built-in ``%%manim`` IPython magic command designed "
"for the use within `Jupyter notebooks <https://jupyter.org>`__. Our "
"interactive tutorial over at https://try.manim.community illustrates how "
"Manim can be used from within a Jupyter notebook."
msgstr ""
#: ../../source/installation.rst:96
msgid ""
"The following pages explain how you can setup interactive environments "
"like that yourself:"
msgstr ""
#: ../../source/installation.rst:105
msgid "Installation for developers"
msgstr ""
#: ../../source/installation.rst:107
msgid ""
"In order to change code in the library, it is recommended to install "
"Manim in a different way. Please follow the instructions in our "
":doc:`contribution guide <contributing>` if you are interested in that."
msgstr ""

View file

@ -1,101 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/installation/docker.rst:2
msgid "Docker"
msgstr ""
#: ../../source/installation/docker.rst:4
msgid ""
"The community maintains a docker image, which can be found `on DockerHub "
"<https://hub.docker.com/r/manimcommunity/manim>`__. For our image "
"``manimcommunity/manim``, there are the following tags:"
msgstr ""
#: ../../source/installation/docker.rst:8
msgid ""
"``latest``: the most recent version corresponding to `the main branch "
"<https://github.com/ManimCommunity/manim>`__,"
msgstr ""
#: ../../source/installation/docker.rst:10
msgid ""
"``stable``: the latest released version (according to `the releases page "
"<https://github.com/ManimCommunity/manim/releases>`__),"
msgstr ""
#: ../../source/installation/docker.rst:12
msgid ""
"``vX.Y.Z``: any particular released version (according to `the releases "
"page <https://github.com/ManimCommunity/manim/releases>`__)."
msgstr ""
#: ../../source/installation/docker.rst:17
msgid ""
"When using Manim's CLI within a Docker container, some flags like ``-p`` "
"(preview file) and ``-f`` (show output file in the file browser) are not "
"supported."
msgstr ""
#: ../../source/installation/docker.rst:23
msgid "Basic usage of the Docker container"
msgstr ""
#: ../../source/installation/docker.rst:25
msgid ""
"Assuming that you can access the docker installation on your system from "
"a terminal (bash / PowerShell) via ``docker``, you can render a scene "
"``CircleToSquare`` in a file `test_scenes.py` with the following command."
msgstr ""
#: ../../source/installation/docker.rst:36
msgid ""
"For Linux users there might be permission problems when letting the user "
"in the container write to the mounted volume. Add ``--user=\"$(id "
"-u):$(id -g)\"`` to the ``docker`` CLI arguments to prevent the creation "
"of output files not belonging to your user."
msgstr ""
#: ../../source/installation/docker.rst:42
msgid ""
"Instead of using the \"throwaway container\" approach outlined above, you"
" can also create a named container that you can modify to your liking. "
"First, run"
msgstr ""
#: ../../source/installation/docker.rst:51
msgid ""
"to obtain an interactive shell inside your container allowing you to, "
"e.g., install further dependencies (like texlive packages using "
"``tlmgr``). Exit the container as soon as you are satisfied. Then, before"
" using it, start the container by running"
msgstr ""
#: ../../source/installation/docker.rst:60
msgid ""
"which starts the container in the background. Then, to render a scene "
"``CircleToSquare`` in a file ``test_scenes.py``, run"
msgstr ""
#: ../../source/installation/docker.rst:69
msgid "Running JupyterLab via Docker"
msgstr ""
#: ../../source/installation/docker.rst:71
msgid ""
"Another alternative to using the Docker image is to spin up a local "
"JupyterLab instance. To do that, simply run"
msgstr ""
#: ../../source/installation/docker.rst:78
msgid "and then follow the instructions in the terminal."
msgstr ""

View file

@ -1,129 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/installation/jupyter.rst:2
msgid "Jupyter Notebooks"
msgstr ""
#: ../../source/installation/jupyter.rst:6
msgid "Binder"
msgstr ""
#: ../../source/installation/jupyter.rst:8
#, python-format
msgid ""
"`Binder <https://mybinder.readthedocs.io/en/latest/>`__ is an online "
"platform that hosts shareable and customizable computing environments in "
"the form of Jupyter notebooks. Manim ships with a built-in ``%%manim`` "
"Jupyter magic command which makes it easy to use in these notebooks."
msgstr ""
#: ../../source/installation/jupyter.rst:13
msgid ""
"To see an example for such an environment, visit our interactive tutorial"
" over at https://try.manim.community/."
msgstr ""
#: ../../source/installation/jupyter.rst:16
msgid ""
"It is relatively straightforward to prepare your own notebooks in a way "
"that allows them to be shared interactively via Binder as well:"
msgstr ""
#: ../../source/installation/jupyter.rst:19
msgid ""
"First, prepare a directory containing one or multiple notebooks which you"
" would like to share in an interactive environment. You can create these "
"notebooks by using Jupyter notebooks with a local installation of Manim, "
"or also by working in our pre-existing `interactive tutorial environment "
"<https://try.manim.community/>`__."
msgstr ""
#: ../../source/installation/jupyter.rst:24
msgid ""
"In the same directory containing your notebooks, add a file named "
"``Dockerfile`` with the following content:"
msgstr ""
#: ../../source/installation/jupyter.rst:33
msgid ""
"Don't forget to change the version tag ``v0.9.0`` to the version you were"
" working with locally when creating your notebooks."
msgstr ""
#: ../../source/installation/jupyter.rst:35
msgid ""
"Make the directory with your worksheets and the ``Dockerfile`` available "
"to the public (and in particular: to Binder!). There are `several "
"different options to do so "
"<https://mybinder.readthedocs.io/en/latest/introduction.html#how-"
"can-i-prepare-a-repository-for-binder>`__, within the community we "
"usually work with GitHub repositories or gists."
msgstr ""
#: ../../source/installation/jupyter.rst:41
msgid ""
"Once your material is publicly available, visit https://mybinder.org and "
"follow the instructions there to generate an interactive environment for "
"your worksheets."
msgstr ""
#: ../../source/installation/jupyter.rst:47
msgid ""
"The repository containing our `interactive tutorial "
"<https://try.manim.community>`__ can be found at "
"https://github.com/ManimCommunity/jupyter_examples."
msgstr ""
#: ../../source/installation/jupyter.rst:53
msgid "Google Colaboratory"
msgstr ""
#: ../../source/installation/jupyter.rst:55
msgid ""
"It is also possible to install Manim in a `Google Colaboratory "
"<https://colab.research.google.com/>`__ environment. In contrast to "
"Binder, where you can customize and prepare the environment beforehand "
"(such that Manim is already installed and ready to be used), you will "
"have to take care of that every time you start a new notebook in Google "
"Colab. Fortunately, this is not particularly difficult."
msgstr ""
#: ../../source/installation/jupyter.rst:63
msgid ""
"After creating a new notebook, paste the following code block in a cell, "
"then execute it."
msgstr ""
#: ../../source/installation/jupyter.rst:76
msgid ""
"You should start to see Colab installing all the dependencies specified "
"in these commands. After the execution has completed, you will be "
"prompted to restart the runtime. Click the \"restart runtime\" button at "
"the bottom of the cell output. You are now ready to use Manim in Colab!"
msgstr ""
#: ../../source/installation/jupyter.rst:81
msgid "To check that everything works as expected, first import Manim by running"
msgstr ""
#: ../../source/installation/jupyter.rst:87
msgid ""
"in a new code cell. Then create another cell containing the following "
"code::"
msgstr ""
#: ../../source/installation/jupyter.rst:101
msgid ""
"Upon running this cell, a short animation transforming a square into a "
"circle should be rendered and displayed."
msgstr ""

View file

@ -1,168 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/installation/linux.rst:2
msgid "Linux"
msgstr ""
#: ../../source/installation/linux.rst:4
msgid ""
"The installation instructions depend on your particular operating system "
"and package manager. If you happen to know exactly what you are doing, "
"you can also simply ensure that your system has:"
msgstr ""
#: ../../source/installation/linux.rst:8
msgid "a reasonably recent version of Python 3 (3.7 or above),"
msgstr ""
#: ../../source/installation/linux.rst:9
msgid ""
"with working Cairo bindings in the form of `pycairo "
"<https://cairographics.org/pycairo/>`__,"
msgstr ""
#: ../../source/installation/linux.rst:11
msgid "FFmpeg accessible from the command line as ``ffmpeg``,"
msgstr ""
#: ../../source/installation/linux.rst:12
msgid "and `Pango <https://pango.gnome.org>`__ headers."
msgstr ""
#: ../../source/installation/linux.rst:14
msgid "Then, installing Manim is just a matter of running:"
msgstr ""
#: ../../source/installation/linux.rst:22
msgid ""
"In light of the current efforts of migrating to rendering via OpenGL, "
"this list might be incomplete. Please `let us know "
"<https://github.com/ManimCommunity/manim/issues/new/choose>` if you ran "
"into missing dependencies while installing."
msgstr ""
#: ../../source/installation/linux.rst:27
msgid ""
"In any case, we have also compiled instructions for several common "
"combinations of operating systems and package managers below."
msgstr ""
#: ../../source/installation/linux.rst:31
msgid "Required Dependencies"
msgstr ""
#: ../../source/installation/linux.rst:34
msgid "apt Ubuntu / Mint / Debian"
msgstr ""
#: ../../source/installation/linux.rst:36
msgid ""
"To first update your sources, and then install Cairo, Pango, and FFmpeg "
"simply run:"
msgstr ""
#: ../../source/installation/linux.rst:44
msgid "If you don't have python3-pip installed, install it via:"
msgstr ""
#: ../../source/installation/linux.rst:50
msgid "Then, to install Manim, run:"
msgstr ""
#: ../../source/installation/linux.rst:56
#: ../../source/installation/linux.rst:90
#: ../../source/installation/linux.rst:123
msgid ""
"Continue by reading the :ref:`optional dependencies <linux-optional-"
"dependencies>` section."
msgstr ""
#: ../../source/installation/linux.rst:60
msgid "dnf  Fedora / CentOS / RHEL"
msgstr ""
#: ../../source/installation/linux.rst:62
msgid "To install Cairo and Pango:"
msgstr ""
#: ../../source/installation/linux.rst:68
msgid ""
"In order to successfully build the ``pycairo`` wheel, you will also need "
"the Python development headers:"
msgstr ""
#: ../../source/installation/linux.rst:75
msgid ""
"FFmpeg is only available via the RPMfusion repository which you have to "
"configure first please consult https://rpmfusion.org/Configuration/ for"
" instructions. Then, install FFmpeg:"
msgstr ""
#: ../../source/installation/linux.rst:83
msgid ""
"At this point you have all required dependencies and can install Manim by"
" running:"
msgstr ""
#: ../../source/installation/linux.rst:94
msgid "pacman  Arch / Manjaro"
msgstr ""
#: ../../source/installation/linux.rst:98
msgid ""
"Thanks to *groctel*, there is a `dedicated Manim package on the AUR! "
"<https://aur.archlinux.org/packages/manim/>`"
msgstr ""
#: ../../source/installation/linux.rst:101
msgid ""
"If you don't want to use the packaged version from AUR, here is what you "
"need to do manually: Update your package sources, then install Cairo, "
"Pango, and FFmpeg:"
msgstr ""
#: ../../source/installation/linux.rst:110
msgid "If you don't have ``python-pip`` installed, get it by running:"
msgstr ""
#: ../../source/installation/linux.rst:116
msgid "then simply install Manim via:"
msgstr ""
#: ../../source/installation/linux.rst:130
msgid "Optional Dependencies"
msgstr ""
#: ../../source/installation/linux.rst:132
msgid ""
"In order to make use of Manim's interface to LaTeX for, e.g., rendering "
"equations, LaTeX has to be installed as well. Note that this is an "
"optional dependency: if you don't intend to use LaTeX, you don't have to "
"install it."
msgstr ""
#: ../../source/installation/linux.rst:136
msgid ""
"You can use whichever LaTeX distribution you like or whichever is easiest"
" to install with your package manager. Usually, `TeX Live "
"<https://www.tug.org/texlive/>`__ is a good candidate if you don't care "
"too much about disk space."
msgstr ""
#: ../../source/installation/linux.rst:141
msgid ""
"Should you choose to work with some smaller TeX distribution like "
"`TinyTeX <https://yihui.org/tinytex/>`__ , the full list of LaTeX "
"packages which Manim interacts with in some way (a subset might be "
"sufficient for your particular application) is::"
msgstr ""

View file

@ -1,125 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/installation/macos.rst:2
msgid "MacOS"
msgstr ""
#: ../../source/installation/macos.rst:4
msgid ""
"For the sake of simplicity, the following instructions assume that you "
"have the popular `package manager Homebrew <https://brew.sh>`__ "
"installed. While you can certainly also install all dependencies without "
"it, using Homebrew makes the process much easier."
msgstr ""
#: ../../source/installation/macos.rst:9
msgid ""
"If you want to use Homebrew but do not have it installed yet, please "
"follow `Homebrew's installation instructions "
"<https://docs.brew.sh/Installation>`__."
msgstr ""
#: ../../source/installation/macos.rst:14
msgid ""
"For a while after Apple released its new ARM-based processors (the *\"M1 "
"chip\"*), the recommended way of installing Manim relied on *Rosetta*, "
"Apple's compatibility layer between Intel and ARM architectures. This is "
"no longer necessary, Manim can (and is recommended to) be installed "
"natively."
msgstr ""
#: ../../source/installation/macos.rst:21
msgid "Required Dependencies"
msgstr ""
#: ../../source/installation/macos.rst:23
msgid ""
"To install all required dependencies for installing Manim (namely: "
"ffmpeg, Python, and some required Python packages), run:"
msgstr ""
#: ../../source/installation/macos.rst:30
msgid ""
"On *Apple Silicon* based machines (i.e., devices with the M1 chip or "
"similar; if you are unsure which processor you have check by opening the "
"Apple menu, select *About This Mac* and check the entry next to *Chip*), "
"some additional dependencies are required, namely:"
msgstr ""
#: ../../source/installation/macos.rst:39
msgid "After all required dependencies are installed, simply run:"
msgstr ""
#: ../../source/installation/macos.rst:45
msgid "to install Manim."
msgstr ""
#: ../../source/installation/macos.rst:49
msgid ""
"A frequent source for installation problems is if ``pip3`` does not point"
" to the correct Python installation on your system. To check this, run "
"``pip3 -V``: for MacOS Intel, the path should start with ``/usr/local``, "
"and for Apple Silicon with ``/opt/homebrew``. If this is not the case, "
"you either forgot to modify your shell profile (``.zprofile``) during the"
" installation of Homebrew, or did not reload your shell (e.g., by opening"
" a new terminal) after doing so. It is also possible that some other "
"software (like Pycharm) changed the ``PATH`` variable to fix this, make"
" sure that the Homebrew-related lines in your ``.zprofile`` are at the "
"very end of the file."
msgstr ""
#: ../../source/installation/macos.rst:63
msgid "Optional Dependencies"
msgstr ""
#: ../../source/installation/macos.rst:65
msgid ""
"In order to make use of Manim's interface to LaTeX for, e.g., rendering "
"equations, LaTeX has to be installed as well. Note that this is an "
"optional dependency: if you don't intend to use LaTeX, you don't have to "
"install it."
msgstr ""
#: ../../source/installation/macos.rst:69
msgid ""
"For MacOS, the recommended LaTeX distribution is `MacTeX "
"<http://www.tug.org/mactex/>`__. You can install it by following the "
"instructions from the link, or alternatively also via Homebrew by "
"running:"
msgstr ""
#: ../../source/installation/macos.rst:80
msgid ""
"MacTeX is a *full* LaTeX distribution and will require more than 4GB of "
"disk space. If this is an issue for you, consider installing a smaller "
"distribution like `BasicTeX "
"<http://www.tug.org/mactex/morepackages.html>`__."
msgstr ""
#: ../../source/installation/macos.rst:85
msgid ""
"Should you choose to work with some partial TeX distribution, the full "
"list of LaTeX packages which Manim interacts with in some way (a subset "
"might be sufficient for your particular application) is::"
msgstr ""
#: ../../source/installation/macos.rst:96
msgid "Working with Manim"
msgstr ""
#: ../../source/installation/macos.rst:98
msgid ""
"At this point, you should have a working installation of Manim. Head over"
" to our :doc:`Quickstart Tutorial <../tutorials/quickstart>` to learn how"
" to make your own *Manimations*!"
msgstr ""

View file

@ -1,284 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/installation/troubleshooting.rst:2
msgid "Troubleshooting"
msgstr ""
#: ../../source/installation/troubleshooting.rst:5
msgid "Version incompatibility"
msgstr ""
#: ../../source/installation/troubleshooting.rst:7
msgid ""
"Confusion and conflict between versions is by far the most common reason "
"for installation failures. Some signs and errors resulting from this are "
"as follows:"
msgstr ""
#: ../../source/installation/troubleshooting.rst:11
msgid "``There are no scenes in that module``"
msgstr ""
#: ../../source/installation/troubleshooting.rst:12
msgid "``ModuleNotFoundError: No module named 'manim'``"
msgstr ""
#: ../../source/installation/troubleshooting.rst:13
msgid "``ModuleNotFoundError: No module named 'manimlib'``"
msgstr ""
#: ../../source/installation/troubleshooting.rst:14
msgid ""
"You followed any tutorial created before October 2020 (because the "
"community edition did not exist before then)"
msgstr ""
#: ../../source/installation/troubleshooting.rst:15
msgid ""
"You cloned a repository on GitHub (installation of the community version "
"for normal use does not require the cloning of any repository)"
msgstr ""
#: ../../source/installation/troubleshooting.rst:16
msgid "Different import statements (explained below)"
msgstr ""
#: ../../source/installation/troubleshooting.rst:17
msgid ""
"You used documentation for multiple versions (such as the readme for "
"3b1b/manim and this documentation)"
msgstr ""
#: ../../source/installation/troubleshooting.rst:20
msgid ""
"As this is the documentation for the community version, we can only help "
"with the installation of this library. If you would like to install other"
" versions of manim, please refer to their documentation."
msgstr ""
#: ../../source/installation/troubleshooting.rst:25
msgid "Identifying files written for a different version of manim"
msgstr ""
#: ../../source/installation/troubleshooting.rst:27
msgid ""
"There are some distinctive features of different versions of manim that "
"can help in identifying what version of manim files are written for:"
msgstr ""
#: ../../source/installation/troubleshooting.rst:31
msgid "Feature"
msgstr ""
#: ../../source/installation/troubleshooting.rst:31
msgid "ManimCE (this version)"
msgstr ""
#: ../../source/installation/troubleshooting.rst:31
msgid "ManimGL"
msgstr ""
#: ../../source/installation/troubleshooting.rst:31
msgid "ManimCairo"
msgstr ""
#: ../../source/installation/troubleshooting.rst:33
msgid "Import statement"
msgstr ""
#: ../../source/installation/troubleshooting.rst:33
msgid "``from manim import *``"
msgstr ""
#: ../../source/installation/troubleshooting.rst:33
msgid "``from manimlib import *``"
msgstr ""
#: ../../source/installation/troubleshooting.rst:33
msgid "``from manimlib.imports import *``"
msgstr ""
#: ../../source/installation/troubleshooting.rst:37
msgid ""
"If you are a beginner, you should only attempt to run files written for "
"your version. Files written for a different version of manim will "
"generally not work without some modification."
msgstr ""
#: ../../source/installation/troubleshooting.rst:42
msgid "Identifying the version you are running"
msgstr ""
#: ../../source/installation/troubleshooting.rst:44
msgid ""
"The community edition of manim should always state `Manim Community "
"<version_number>` as its first line of any command you run."
msgstr ""
#: ../../source/installation/troubleshooting.rst:48
msgid "Identifying and removing conflicting versions of manim"
msgstr ""
#: ../../source/installation/troubleshooting.rst:50
msgid ""
"Within the system or environment you are using to run manim, run the "
"following command in the terminal:"
msgstr ""
#: ../../source/installation/troubleshooting.rst:57
msgid ""
"The correct package for the community edition is simply ``manim``. If you"
" do not see this package listed, please refer back to our installation "
"guide to install it. If you see ``manimlib`` or ``manimce`` (actually an "
"old version of the community edition), you should remove them with:"
msgstr ""
#: ../../source/installation/troubleshooting.rst:68
msgid ""
"If you have cloned a repository from GitHub, you should either remove it "
"or run manim outside that folder."
msgstr ""
#: ../../source/installation/troubleshooting.rst:72
msgid "Other errors"
msgstr ""
#: ../../source/installation/troubleshooting.rst:75
msgid "``pip install manim`` fails when installing manimpango?"
msgstr ""
#: ../../source/installation/troubleshooting.rst:76
msgid ""
"Most likely this means that pip was not able to use our pre-built wheels "
"of ``manimpango``. Let us know (via our `Discord "
"<https://www.manim.community/discord/>`_ or by opening a `new issue on "
"GitHub <https://github.com/ManimCommunity/ManimPango/issues/new>`_) which"
" architecture you would like to see supported, and we'll see what we can "
"do about it."
msgstr ""
#: ../../source/installation/troubleshooting.rst:83
msgid ""
"To fix errors when installing ``manimpango``, you need to make sure you "
"have all the necessary build requirements. Check out the detailed "
"instructions given in `the BUILDING section "
"<https://github.com/ManimCommunity/ManimPango#BUILDING>`_ of the "
"corresponding `GitHub repository "
"<https://github.com/ManimCommunity/ManimPango>`_."
msgstr ""
#: ../../source/installation/troubleshooting.rst:91
msgid "(Windows) OSError: dlopen() failed to load a library: pango?"
msgstr ""
#: ../../source/installation/troubleshooting.rst:93
msgid ""
"This should be fixed in Manim's latest version, update using ``pip "
"install --upgrade manim``."
msgstr ""
#: ../../source/installation/troubleshooting.rst:99
msgid "Some letters are missing from Text/Tex output?"
msgstr ""
#: ../../source/installation/troubleshooting.rst:101
msgid ""
"If you have recently installed TeX you may need to build the fonts it "
"uses. Which can be done by running:"
msgstr ""
#: ../../source/installation/troubleshooting.rst:112
msgid "Installation does not support converting PDF to SVG?"
msgstr ""
#: ../../source/installation/troubleshooting.rst:114
msgid "First, make sure your ``dvisvgm`` version is at least 2.4:"
msgstr ""
#: ../../source/installation/troubleshooting.rst:121
msgid ""
"If you do not know how to update ``dvisvgm``, please refer to your "
"operating system's documentation."
msgstr ""
#: ../../source/installation/troubleshooting.rst:123
msgid ""
"Second, check whether your ``dvisvgm`` supports PostScript specials. This"
" is needed to convert from PDF to SVG."
msgstr ""
#: ../../source/installation/troubleshooting.rst:131
msgid ""
"If the output to this command does **not** contain ``ps dvips PostScript"
" specials``, this is a bad sign. In this case, run"
msgstr ""
#: ../../source/installation/troubleshooting.rst:139
msgid ""
"If the output does **not** contain ``--libgs=filename``, this means your "
"``dvisvgm`` does not currently support PostScript. You must get another "
"binary."
msgstr ""
#: ../../source/installation/troubleshooting.rst:142
msgid ""
"If, however, ``--libgs=filename`` appears in the help, that means that "
"your ``dvisvgm`` needs the Ghostscript library to support PostScript. "
"Search for ``libgs.so`` (on Linux, probably in ``/usr/local/lib`` or "
"``/usr/lib``) or ``gsdll32.dll`` (on 32-bit Windows, probably in "
"``C:\\windows\\system32``) or ``gsdll64.dll`` (on 64-bit Windows, "
"probably in ``c:\\windows\\system32`` -- yes 32) or ``libgsl.dylib`` (on "
"Mac OS, probably in ``/usr/local/lib`` or ``/opt/local/lib``). Please "
"look carefully, as the file might be located elsewhere, e.g. in the "
"directory where Ghostscript is installed."
msgstr ""
#: ../../source/installation/troubleshooting.rst:151
msgid "As soon as you have found the library, try (on Mac OS or Linux)"
msgstr ""
#: ../../source/installation/troubleshooting.rst:158
msgid "or (on Windows)"
msgstr ""
#: ../../source/installation/troubleshooting.rst:166
msgid ""
"You should now see ``ps dvips PostScript specials`` in the output. "
"Refer to your operating system's documentation to find out how you can "
"set or export the environment variable ``LIBGS`` automatically whenever "
"you open a shell."
msgstr ""
#: ../../source/installation/troubleshooting.rst:170
msgid "As a last check, you can run"
msgstr ""
#: ../../source/installation/troubleshooting.rst:176
msgid ""
"while still having ``LIBGS`` set to the correct path, of course. If "
"``dvisvgm`` can find your Ghostscript installation, it will be shown in "
"the output together with the version number."
msgstr ""
#: ../../source/installation/troubleshooting.rst:180
msgid ""
"If you do not have the necessary library on your system, please refer to "
"your operating system's documentation to find out where you can get it "
"and how you have to install it."
msgstr ""
#: ../../source/installation/troubleshooting.rst:184
msgid ""
"If you are unable to solve your problem, check out the `dvisvgm FAQ "
"<https://dvisvgm.de/FAQ/>`_."
msgstr ""

View file

@ -1,120 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/installation/versions.rst:2
msgid "Differences between Manim Versions"
msgstr ""
#: ../../source/installation/versions.rst:4
msgid ""
"While originally a single library, there are now three main versions of "
"manim, each with their own advantages, disadvantages, and ideal use "
"cases. It is important to understand these differences in order to select"
" the best version for your use case and avoid confusion arising from "
"version mismatches."
msgstr ""
#: ../../source/installation/versions.rst:10
msgid "A brief history of Manim"
msgstr ""
#: ../../source/installation/versions.rst:12
msgid ""
"Manim was originally created by Grant Sanderson as a personal project and"
" for use in his YouTube channel, `3Blue1Brown "
"<https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw>`_. As his "
"channel gained popularity, many grew to like the style of his animations "
"and wanted to use manim for their own projects. However, as manim was "
"only intended for personal use, it was very difficult for other users to "
"install and use it."
msgstr ""
#: ../../source/installation/versions.rst:18
msgid ""
"In late 2019, Grant started working on faster OpenGL rendering in a new "
"branch, known as the shaders branch. In mid-2020, a group of developers "
"forked it into what is now the community edition; this is the version "
"documented on this website. In early 2021, Grant merged the shaders "
"branch back into master, making it the default branch in his repository. "
"The old version is still available as the branch ``cairo-backend``."
msgstr ""
#: ../../source/installation/versions.rst:25
msgid "The three versions of Manim"
msgstr ""
#: ../../source/installation/versions.rst:27
msgid "There are currently three main versions of manim. They are as follows:"
msgstr ""
#: ../../source/installation/versions.rst:29
msgid ""
"**ManimCE**: The community edition of manim. This is the version "
"documented by this website, and is named `manim "
"<https://pypi.org/project/manim/>`_ on pip."
msgstr ""
#: ../../source/installation/versions.rst:30
msgid ""
"`ManimGL <https://github.com/3b1b/manim>`_: The current version of manim "
"that is used by 3blue1brown. It supports OpenGL rendering and "
"interactivity, and is named ``manimgl`` on pip. You can find "
"documentation for it `here <https://3b1b.github.io/manim/index.html>`_."
msgstr ""
#: ../../source/installation/versions.rst:31
msgid ""
"`ManimCairo <https://github.com/3b1b/manim/tree/cairo-backend>`_: The old"
" version of manim originally used by 3blue1brown. It is not available on "
"pip."
msgstr ""
#: ../../source/installation/versions.rst:34
msgid "Which version to use"
msgstr ""
#: ../../source/installation/versions.rst:35
msgid ""
"We recommend using the community edition for most purposes, as it has "
"been developed to be more stable, better tested, quicker to respond to "
"community contributions, and easier for beginners to use. It also has "
"partial experimental OpenGL support and should have full support shortly "
"(as of April 2021)."
msgstr ""
#: ../../source/installation/versions.rst:39
msgid ""
"If you would like to use a version with full OpenGL support or render "
"recent 3Blue1Brown videos (2020 onwards), you should use ManimGL."
msgstr ""
#: ../../source/installation/versions.rst:41
msgid ""
"If you would like to render old 3Blue1Brown projects (2019 and before), "
"you should use ManimCairo."
msgstr ""
#: ../../source/installation/versions.rst:44
msgid "Notes on installation, documentation, and use"
msgstr ""
#: ../../source/installation/versions.rst:45
msgid ""
"If you are a beginner, it is very important that you only use the "
"documentation for your desired version. Trying to install or learn manim "
"using documentation or guides made for different versions will likely "
"fail and only lead to more confusion. As many tutorials and guides on the"
" internet are outdated, we do not recommend you follow them. You should "
"only read tutorials and documentation for other versions once you are "
"aware of the differences between them and know how to adapt code for your"
" desired version."
msgstr ""

View file

@ -1,190 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/installation/windows.rst:2
msgid "Windows"
msgstr ""
#: ../../source/installation/windows.rst:4
msgid ""
"The easiest way of installing Manim and its dependencies is by using a "
"package manager like `Chocolatey <https://chocolatey.org/>`__ or `Scoop "
"<https://scoop.sh>`__. If you are not afraid of editing your System's "
"``PATH``, a manual installation is also possible. In fact, if you already"
" have an existing Python installation (3.7 or newer), it might be the "
"easiest way to get everything up and running."
msgstr ""
#: ../../source/installation/windows.rst:12
msgid ""
"If you choose to use one of the package managers, please follow their "
"installation instructions (`for Chocolatey "
"<https://chocolatey.org/install#install-step2>`__, `for Scoop <https"
"://scoop-docs.now.sh/docs/getting-started/Quick-Start.html>`__) to make "
"one of them available on your system."
msgstr ""
#: ../../source/installation/windows.rst:20
msgid "Required Dependencies"
msgstr ""
#: ../../source/installation/windows.rst:22
msgid ""
"Manim requires a recent version of Python (3.7 or above) and ``ffmpeg`` "
"in order to work."
msgstr ""
#: ../../source/installation/windows.rst:26
msgid "Chocolatey"
msgstr ""
#: ../../source/installation/windows.rst:28
msgid "Manim can be installed via Chocolatey simply by running:"
msgstr ""
#: ../../source/installation/windows.rst:34
msgid ""
"That's it, no further steps required. You can continue with installing "
"the :ref:`optional dependencies <win-optional-dependencies>` below."
msgstr ""
#: ../../source/installation/windows.rst:38
msgid "Scoop"
msgstr ""
#: ../../source/installation/windows.rst:40
msgid ""
"While there is no recipe for installing Manim with Scoop directly, you "
"can install all requirements by running:"
msgstr ""
#: ../../source/installation/windows.rst:47
msgid "and then Manim can be installed by running:"
msgstr ""
#: ../../source/installation/windows.rst:53
msgid ""
"Manim should now be installed on your system. Continue reading the "
":ref:`optional dependencies <win-optional-dependencies>` section below."
msgstr ""
#: ../../source/installation/windows.rst:58
msgid "Manual Installation"
msgstr ""
#: ../../source/installation/windows.rst:60
msgid ""
"As mentioned above, Manim needs a reasonably recent version of Python 3 "
"(3.7 or above) and FFmpeg."
msgstr ""
#: ../../source/installation/windows.rst:63
msgid ""
"**Python:** Head over to https://www.python.org, download an installer "
"for Python 3.7 (or newer), and follow its instructions to get Python "
"installed on your system."
msgstr ""
#: ../../source/installation/windows.rst:69
msgid ""
"We have received reports of problems caused by using the version of "
"Python that can be installed from the Windows Store. At this point, we "
"recommend staying away from the Windows Store version. Instead, install "
"Python directly from the `official website <https://www.python.org>`__."
msgstr ""
#: ../../source/installation/windows.rst:75
msgid ""
"**FFmpeg:** In order to install FFmpeg, you can get a pre-compiled and "
"ready-to-use version from one of the resources linked at "
"https://ffmpeg.org/download.html#build-windows, such as `the version "
"available here <https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-"
"essentials.7z>`__ (recommended), or if you know exactly what you are "
"doing you can alternatively get the source code from "
"https://ffmpeg.org/download.html and compile it yourself."
msgstr ""
#: ../../source/installation/windows.rst:85
msgid ""
"After downloading the pre-compiled archive, `unzip it "
"<https://www.7-zip.org>`__ and, if you like, move the extracted directory"
" to some more permanent place (e.g., ``C:\\Program Files\\``). Next, edit"
" the ``PATH`` environment variable: first, visit ``Control Panel`` > "
"``System`` > ``System settings`` > ``Environment Variables``, then add "
"the full path to the ``bin`` directory inside of the (moved) ffmpeg "
"directory to the ``PATH`` variable. Finally, save your changes and exit."
msgstr ""
#: ../../source/installation/windows.rst:94
msgid ""
"If you now open a new command line prompt (or PowerShell) and run "
"``ffmpeg``, the command should be recognized."
msgstr ""
#: ../../source/installation/windows.rst:97
msgid ""
"At this point, you have all the required dependencies and can now install"
" Manim via"
msgstr ""
#: ../../source/installation/windows.rst:108
msgid "Optional Dependencies"
msgstr ""
#: ../../source/installation/windows.rst:110
msgid ""
"In order to make use of Manim's interface to LaTeX to, for example, "
"render equations, LaTeX has to be installed as well. Note that this is an"
" optional dependency: if you don't intend to use LaTeX, you don't have to"
" install it."
msgstr ""
#: ../../source/installation/windows.rst:114
msgid ""
"For Windows, the recommended LaTeX distribution is `MiKTeX "
"<https://miktex.org/download>`__. You can install it by using the "
"installer from the linked MiKTeX site, or by using the package manager of"
" your choice (Chocolatey: ``choco install miktex.install``, Scoop: "
"``scoop install latex``)."
msgstr ""
#: ../../source/installation/windows.rst:120
msgid ""
"If you are concerned about disk space, there are some alternative, "
"smaller distributions of LaTeX like `TinyTeX "
"<https://yihui.org/tinytex/>`__ (Chocolatey: ``choco install tinytex``, "
"Scoop: first ``scoop bucket add r-bucket "
"https://github.com/cderv/r-bucket.git``, then ``scoop install tinytex``)."
" In this case, you will have to manage the LaTeX packages installed on "
"your system yourself via ``tlmgr``. Therefore we only recommend this "
"option if you know what you are doing. The full list of LaTeX packages "
"which Manim interacts with in some way (a subset might be sufficient for "
"your particular application) is::"
msgstr ""
#: ../../source/installation/windows.rst:137
msgid ""
"For Chocolatey there is a dedicated ``manim-latex`` package providing a "
"small LaTeX distribution based on TinyTeX which contains these packages; "
"if you use Chocolatey you can get it with ``choco install manim-latex``."
msgstr ""
#: ../../source/installation/windows.rst:143
msgid "Working with Manim"
msgstr ""
#: ../../source/installation/windows.rst:145
msgid ""
"At this point, you should have a working installation of Manim, head over"
" to our :doc:`Quickstart Tutorial <../tutorials/quickstart>` to learn how"
" to make your own *Manimations*!"
msgstr ""

View file

@ -1,141 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/plugins.rst:5
msgid "Plugins"
msgstr ""
#: ../../source/plugins.rst:7
msgid ""
"Plugins are features that extend Manim's core functionality. Since Manim "
"is extensible and not everything belongs in its core, we'll go over how "
"to install, use, and create your own plugins."
msgstr ""
#: ../../source/plugins.rst:13
msgid ""
"The standard naming convention for plugins is to prefix the plugin with "
"``manim-``. This makes them easy for users to find on package "
"repositories such as PyPI."
msgstr ""
#: ../../source/plugins.rst:19
msgid ""
"The plugin feature is new and under active development. Expect updates "
"for the best practices on installing, using, and creating plugins; as "
"well as new subcommands/flags for ``manim plugins``"
msgstr ""
#: ../../source/plugins.rst:25
msgid "See https://plugins.manim.community/ for the list of plugins available."
msgstr ""
#: ../../source/plugins.rst:28
msgid "Installing Plugins"
msgstr ""
#: ../../source/plugins.rst:29
msgid "Plugins can be easily installed via the ``pip`` command:"
msgstr ""
#: ../../source/plugins.rst:36
msgid ""
"After installing a plugin, you may use the ``manim plugins`` command to "
"list your available plugins, see the following help output:"
msgstr ""
#: ../../source/plugins.rst:52
msgid "You can list plugins as such:"
msgstr ""
#: ../../source/plugins.rst:61
msgid "Using Plugins in Projects"
msgstr ""
#: ../../source/plugins.rst:62
msgid ""
"For enabling a plugin ``manim.cfg`` or command line parameters should be "
"used."
msgstr ""
#: ../../source/plugins.rst:66
msgid "The plugins should be module name of the plugin and not PyPi name."
msgstr ""
#: ../../source/plugins.rst:68
msgid "Enabling plugins through ``manim.cfg``"
msgstr ""
#: ../../source/plugins.rst:75
msgid "For specifying multiple plugins, command separated values must be used."
msgstr ""
#: ../../source/plugins.rst:83
msgid "Creating Plugins"
msgstr ""
#: ../../source/plugins.rst:84
msgid ""
"Plugins are intended to extend Manim's core functionality. If you aren't "
"sure whether a feature should be included in Manim's core, feel free to "
"ask over on the `Discord server <https://www.manim.community/discord/>`_."
" Visit `manim-plugintemplate <https://pypi.org/project/manim-"
"plugintemplate/>`_ on PyPI.org which serves as an in-depth tutorial for "
"creating plugins."
msgstr ""
#: ../../source/plugins.rst:94
msgid ""
"The only requirement of manim plugins is that they specify an entry point"
" with the group, ``\"manim.plugins\"``. This allows Manim to discover "
"plugins available in the user's environment. Everything regarding the "
"plugin's directory structure, build system, and naming are completely up "
"to your discretion as an author. The aforementioned template plugin is "
"only a model using Poetry since this is the build system Manim uses. The "
"plugin's `entry point <https://packaging.python.org/specifications/entry-"
"points/>`_ can be specified in poetry as:"
msgstr ""
#: ../../source/plugins.rst:108
msgid "Here ``name`` is the name of the module of the plugin."
msgstr ""
#: ../../source/plugins.rst:110
msgid ""
"Here ``object_reference`` can point to either a function in a module or a"
" module itself. For example,"
msgstr ""
#: ../../source/plugins.rst:118
msgid ""
"Here a module is used as ``object_reference``, and when this plugin is "
"enabled, Manim will look for ``__all__`` keyword defined in "
"``manim_plugintemplate`` and everything as a global variable one by one."
msgstr ""
#: ../../source/plugins.rst:122
msgid ""
"If ``object_reference`` is a function, Manim calls the function and "
"expects the function to return a list of modules or functions that need "
"to be defined globally."
msgstr ""
#: ../../source/plugins.rst:125
msgid "For example,"
msgstr ""
#: ../../source/plugins.rst:132
msgid ""
"Here, Manim will call the function ``setup_things`` defined in "
"``manim_awesomeplugin.imports`` and calls that. It returns a list of "
"function or modules which will be imported globally."
msgstr ""

View file

@ -1,27 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference.rst:2
msgid "Reference Manual"
msgstr ""
#: ../../source/reference.rst:4
msgid ""
"This reference manual details modules, functions, and variables included "
"in Manim, describing what they are and what they do. For learning how to"
" use Manim, see :doc:`tutorials`. For a list of changes since the last "
"release, see the :doc:`changelog`."
msgstr ""
#: ../../source/reference.rst:9
msgid "The pages linked to here are currently a work in progress."
msgstr ""

View file

@ -1,88 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim._config.logger_utils.JSONFormatter.rst:2
msgid "JSONFormatter"
msgstr ""
#: ../../source/reference/manim._config.logger_utils.JSONFormatter.rst:4
msgid "Qualified name: ``manim.\\_config.logger\\_utils.JSONFormatter``"
msgstr ""
#: manim._config.logger_utils.JSONFormatter:1 of
msgid "Bases: :class:`logging.Formatter`"
msgstr ""
#: manim._config.logger_utils.JSONFormatter:1 of
msgid "A formatter that outputs logs in a custom JSON format."
msgstr ""
#: manim._config.logger_utils.JSONFormatter:3 of
msgid "This class is used internally for testing purposes."
msgstr ""
#: manim._config.logger_utils.JSONFormatter:6 of
msgid "Initialize the formatter with specified format strings."
msgstr ""
#: manim._config.logger_utils.JSONFormatter:8 of
msgid ""
"Initialize the formatter either with the specified format string, or a "
"default as described above. Allow for specialized date formatting with "
"the optional datefmt argument. If datefmt is omitted, you get an "
"ISO8601-like (or RFC 3339-like) format."
msgstr ""
#: manim._config.logger_utils.JSONFormatter:13 of
#, python-format
msgid ""
"Use a style parameter of '%', '{' or '$' to specify that you want to use "
"one of %-formatting, :meth:`str.format` (``{}``) formatting or "
":class:`string.Template` formatting in your format string."
msgstr ""
#: manim._config.logger_utils.JSONFormatter:17 of
msgid "Added the ``style`` parameter."
msgstr ""
#: ../../source/reference/manim._config.logger_utils.JSONFormatter.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim._config.logger_utils.JSONFormatter.rst:20:<autosummary>:1
#: manim._config.logger_utils.JSONFormatter.format:1 of
msgid "Format the record in a custom JSON format."
msgstr ""
#: ../../source/reference/manim._config.logger_utils.JSONFormatter.rst:22
msgid "Attributes"
msgstr ""
#: manim._config.logger_utils.JSONFormatter.format:1:<autosummary>:1 of
msgid ""
":obj:`default_msec_format "
"<manim._config.logger_utils.JSONFormatter.default_msec_format>`\\"
msgstr ""
#: manim._config.logger_utils.JSONFormatter.format:1:<autosummary>:1 of
msgid ""
":obj:`default_time_format "
"<manim._config.logger_utils.JSONFormatter.default_time_format>`\\"
msgstr ""
#: manim._config.logger_utils.JSONFormatter.format of
msgid "Parameters"
msgstr ""
#: manim._config.logger_utils.JSONFormatter.format of
msgid "Return type"
msgstr ""

View file

@ -1,131 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim._config.logger_utils.rst:2
msgid "logger\\_utils"
msgstr ""
#: manim._config.logger_utils:1 of
msgid "Utilities to create and set the logger."
msgstr ""
#: manim._config.logger_utils:3 of
msgid ""
"Manim's logger can be accessed as ``manim.logger``, or as "
"``logging.getLogger(\"manim\")``, once the library has been imported. "
"Manim also exports a second object, ``console``, which should be used to "
"print on screen messages that need not be logged."
msgstr ""
#: manim._config.logger_utils:8 of
msgid ""
"Both ``logger`` and ``console`` use the ``rich`` library to produce rich "
"text format."
msgstr ""
#: ../../source/reference/manim._config.logger_utils.rst:15
msgid "Classes"
msgstr ""
#: ../../source/reference/manim._config.logger_utils.rst:26:<autosummary>:1
msgid "A formatter that outputs logs in a custom JSON format."
msgstr ""
#: ../../source/reference/manim._config.logger_utils.rst:29
msgid "Functions"
msgstr ""
#: manim._config.logger_utils.make_logger:1 of
msgid "Make the manim logger and console."
msgstr ""
#: manim._config.logger_utils.make_logger
#: manim._config.logger_utils.parse_theme
#: manim._config.logger_utils.set_file_logger of
msgid "Parameters"
msgstr ""
#: manim._config.logger_utils.make_logger:3
#: manim._config.logger_utils.parse_theme:3 of
msgid "A parser containing any .cfg files in use."
msgstr ""
#: manim._config.logger_utils.make_logger:5
#: manim._config.logger_utils.set_file_logger:7 of
msgid "The verbosity level of the logger."
msgstr ""
#: manim._config.logger_utils.make_logger
#: manim._config.logger_utils.parse_theme of
msgid "Returns"
msgstr ""
#: manim._config.logger_utils.make_logger:8 of
msgid ""
"The manim logger and consoles. The first console outputs to stdout, the "
"second to stderr. All use the theme returned by :func:`parse_theme`."
msgstr ""
#: manim._config.logger_utils.make_logger
#: manim._config.logger_utils.parse_theme
#: manim._config.logger_utils.set_file_logger of
msgid "Return type"
msgstr ""
#: manim._config.logger_utils.make_logger:11 of
msgid ":class:`logging.Logger`, :class:`rich.Console`, :class:`rich.Console`"
msgstr ""
#: manim._config.logger_utils.make_logger:16
#: manim._config.logger_utils.set_file_logger:11 of
msgid "Notes"
msgstr ""
#: manim._config.logger_utils.make_logger:17 of
msgid ""
"The ``parser`` is assumed to contain only the options related to "
"configuring the logger at the top level."
msgstr ""
#: manim._config.logger_utils.parse_theme:1 of
msgid "Configure the rich style of logger and console output."
msgstr ""
#: manim._config.logger_utils.parse_theme:6 of
msgid "The rich theme to be used by the manim logger."
msgstr ""
#: manim._config.logger_utils.parse_theme:7 of
msgid ":class:`rich.Theme`"
msgstr ""
#: manim._config.logger_utils.parse_theme:9 of
msgid ":func:`make_logger`"
msgstr ""
#: manim._config.logger_utils.set_file_logger:1 of
msgid "Add a file handler to manim logger."
msgstr ""
#: manim._config.logger_utils.set_file_logger:3 of
msgid "The path to the file is built using ``config.log_dir``."
msgstr ""
#: manim._config.logger_utils.set_file_logger:5 of
msgid "The global config, used to determine the log file path."
msgstr ""
#: manim._config.logger_utils.set_file_logger:12 of
msgid ""
"Calling this function changes the verbosity of all handlers assigned to "
"manim logger."
msgstr ""

View file

@ -1,57 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim._config.rst:2
msgid "\\_config"
msgstr ""
#: manim._config:1 of
msgid "Set the global config and logger."
msgstr ""
#: ../../source/reference/manim._config.rst:20
msgid "Functions"
msgstr ""
#: manim._config.tempconfig:1 of
msgid "Context manager that temporarily modifies the global ``config`` object."
msgstr ""
#: manim._config.tempconfig:3 of
msgid ""
"Inside the ``with`` statement, the modified config will be used. After "
"context manager exits, the config will be restored to its original state."
msgstr ""
#: manim._config.tempconfig of
msgid "Parameters"
msgstr ""
#: manim._config.tempconfig:6 of
msgid ""
"Object whose keys will be used to temporarily update the global "
"``config``."
msgstr ""
#: manim._config.tempconfig of
msgid "Return type"
msgstr ""
#: manim._config.tempconfig:11 of
msgid "Examples"
msgstr ""
#: manim._config.tempconfig:12 of
msgid ""
"Use ``with tempconfig({...})`` to temporarily change the default values "
"of certain config options."
msgstr ""

View file

@ -1,934 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-19 16:33+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim._config.utils.ManimConfig.rst:2
msgid "ManimConfig"
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:4
msgid "Qualified name: ``manim.\\_config.utils.ManimConfig``"
msgstr ""
#: manim._config.utils.ManimConfig:1 of
msgid "Bases: :class:`collections.abc.MutableMapping`"
msgstr ""
#: manim._config.utils.ManimConfig:1 of
msgid "Dict-like class storing all config options."
msgstr ""
#: manim._config.utils.ManimConfig:3 of
msgid ""
"The global ``config`` object is an instance of this class, and acts as a "
"single source of truth for all of the library's customizable behavior."
msgstr ""
#: manim._config.utils.ManimConfig:6 of
msgid ""
"The global ``config`` object is capable of digesting different types of "
"sources and converting them into a uniform interface. These sources are "
"(in ascending order of precedence): configuration files, command line "
"arguments, and programmatic changes. Regardless of how the user chooses "
"to set a config option, she can access its current value using "
":class:`ManimConfig`'s attributes and properties."
msgstr ""
#: manim._config.utils.ManimConfig:14 manim._config.utils.ManimConfig.copy:9
#: manim._config.utils.ManimConfig.digest_args:15
#: manim._config.utils.ManimConfig.digest_file:16
#: manim._config.utils.ManimConfig.digest_parser:18
#: manim._config.utils.ManimConfig.get_dir:19 of
msgid "Notes"
msgstr ""
#: manim._config.utils.ManimConfig:15 of
msgid "Each config option is implemented as a property of this class."
msgstr ""
#: manim._config.utils.ManimConfig:17 of
msgid ""
"Each config option can be set via a config file, using the full name of "
"the property. If a config option has an associated CLI flag, then the "
"flag is equal to the full name of the property. Those that admit an "
"alternative flag or no flag at all are documented in the individual "
"property's docstring."
msgstr ""
#: manim._config.utils.ManimConfig:24
#: manim._config.utils.ManimConfig.digest_parser:25
#: manim._config.utils.ManimConfig.get_dir:25 of
msgid "Examples"
msgstr ""
#: manim._config.utils.ManimConfig:25 of
msgid ""
"Each config option allows for dict syntax and attribute syntax. For "
"example, the following two lines are equivalent,"
msgstr ""
#: manim._config.utils.ManimConfig:34 of
msgid ""
"The former is preferred; the latter is provided mostly for backwards "
"compatibility."
msgstr ""
#: manim._config.utils.ManimConfig:37 of
msgid ""
"The config options are designed to keep internal consistency. For "
"example, setting ``frame_y_radius`` will affect ``frame_height``:"
msgstr ""
#: manim._config.utils.ManimConfig:48 of
msgid ""
"There are many ways of interacting with config options. Take for example"
" the config option ``background_color``. There are three ways to change "
"it: via a config file, via CLI flags, or programmatically."
msgstr ""
#: manim._config.utils.ManimConfig:52 of
msgid ""
"To set the background color via a config file, save the following "
"``manim.cfg`` file with the following contents."
msgstr ""
#: manim._config.utils.ManimConfig:60 of
msgid ""
"In order to have this ``.cfg`` file apply to a manim scene, it needs to "
"be placed in the same directory as the script,"
msgstr ""
#: manim._config.utils.ManimConfig:69 of
msgid "Now, when the user executes"
msgstr ""
#: manim._config.utils.ManimConfig:75 of
msgid ""
"the background of the scene will be set to ``WHITE``. This applies "
"regardless of where the manim command is invoked from."
msgstr ""
#: manim._config.utils.ManimConfig:78 of
msgid ""
"Command line arguments override ``.cfg`` files. In the previous example,"
" executing"
msgstr ""
#: manim._config.utils.ManimConfig:85 of
msgid ""
"will set the background color to BLUE, regardless of the contents of "
"``manim.cfg``."
msgstr ""
#: manim._config.utils.ManimConfig:88 of
msgid ""
"Finally, any programmatic changes made within the scene script itself "
"will override the command line arguments. For example, if ``scene.py`` "
"contains the following"
msgstr ""
#: manim._config.utils.ManimConfig:101 of
msgid ""
"the background color will be set to RED, regardless of the contents of "
"``manim.cfg`` or the CLI arguments used when invoking manim."
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:26:<autosummary>:1
#: manim._config.utils.ManimConfig.copy:1 of
msgid "Deepcopy the contents of this ManimConfig."
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:26:<autosummary>:1
#: manim._config.utils.ManimConfig.digest_args:1 of
msgid "Process the config options present in CLI arguments."
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:26:<autosummary>:1
#: manim._config.utils.ManimConfig.digest_file:1 of
msgid "Process the config options present in a ``.cfg`` file."
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:26:<autosummary>:1
#: manim._config.utils.ManimConfig.digest_parser:1 of
msgid "Process the config options present in a :class:`ConfigParser` object."
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:26:<autosummary>:1
#: manim._config.utils.ManimConfig.get_dir:1 of
msgid "Resolve a config option that stores a directory."
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:26:<autosummary>:1
msgid ""
":obj:`resolve_movie_file_extension "
"<manim._config.utils.ManimConfig.resolve_movie_file_extension>`"
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:26:<autosummary>:1
#: manim._config.utils.ManimConfig.update:1 of
msgid "Digest the options found in another :class:`ManimConfig` or in a dict."
msgstr ""
#: ../../source/reference/manim._config.utils.ManimConfig.rst:28
msgid "Attributes"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Aspect ratio (width / height) in pixels (--resolution, -r)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.assets_dir:1 of
msgid "Directory to locate video assets (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`background_color "
"<manim._config.utils.ManimConfig.background_color>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.background_color:1 of
msgid "Background color of the scene (-c)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`background_opacity "
"<manim._config.utils.ManimConfig.background_opacity>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.background_opacity:1 of
msgid "A number between 0.0 (fully transparent) and 1.0 (fully opaque)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.bottom:1 of
msgid "Coordinate at the center bottom of the frame."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.custom_folders:1 of
msgid "Whether to use custom folder output."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.disable_caching:1 of
msgid "Whether to use scene caching."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`disable_caching_warning "
"<manim._config.utils.ManimConfig.disable_caching_warning>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.disable_caching_warning:1 of
msgid "Whether a warning is raised if there are too much submobjects to hash."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.dry_run:1 of
msgid "Whether dry run is enabled."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.enable_gui:1
#: manim._config.utils.ManimConfig.gui_location:1 of
msgid "Enable GUI interaction."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`enable_wireframe "
"<manim._config.utils.ManimConfig.enable_wireframe>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.enable_wireframe:1 of
msgid "Enable wireframe debugging mode in opengl."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.ffmpeg_loglevel:1 of
msgid "Verbosity level of ffmpeg (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.flush_cache:1 of
msgid "Whether to delete all the cached partial movie files."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.format:1 of
msgid "File format; \"png\", \"gif\", \"mp4\", \"webm\" or \"mov\"."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.frame_height:1 of
msgid "Frame height in logical units (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.frame_rate:1 of
msgid "Frame rate in frames per second."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.frame_size:1 of
msgid "Tuple with (pixel width, pixel height) (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.frame_width:1 of
msgid "Frame width in logical units (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.frame_x_radius:1 of
msgid "Half the frame width (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.frame_y_radius:1 of
msgid "Half the frame height (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`from_animation_number "
"<manim._config.utils.ManimConfig.from_animation_number>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.from_animation_number:1 of
msgid "Start rendering animations at this number (-n)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.fullscreen:1 of
msgid "Expand the window to its maximum possible size."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Directory to place images (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.input_file:1 of
msgid "Input file name."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.left_side:1 of
msgid "Coordinate at the middle left of the frame."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Directory to place logs."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.log_to_file:1 of
msgid "Whether to save logs to a file."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`max_files_cached "
"<manim._config.utils.ManimConfig.max_files_cached>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Maximum number of files cached."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Main output directory."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.media_width:1 of
msgid "Media width in Jupyter notebook"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`movie_file_extension "
"<manim._config.utils.ManimConfig.movie_file_extension>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.movie_file_extension:1 of
msgid "Either .mp4, .webm or .mov."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`notify_outdated_version "
"<manim._config.utils.ManimConfig.notify_outdated_version>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.notify_outdated_version:1 of
msgid "Whether to notify if there is a version update available."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.output_file:1 of
msgid "Output file name (-o)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`partial_movie_dir "
"<manim._config.utils.ManimConfig.partial_movie_dir>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Directory to place partial movie files (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.pixel_height:1 of
msgid "Frame height in pixels (--resolution, -r)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.pixel_width:1 of
msgid "Frame width in pixels (--resolution, -r)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.plugins:1 of
msgid "List of plugins to enable."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.preview:1 of
msgid "Whether to play the rendered movie (-p)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.progress_bar:1 of
msgid "Whether to show progress bars while rendering animations."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.quality:1 of
msgid "Video quality (-q)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.renderer:1 of
msgid "\"cairo\", \"opengl\", \"webgl"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.right_side:1 of
msgid "Coordinate at the middle right of the frame."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.save_as_gif:1 of
msgid "Whether to save the rendered scene in .gif format (-i)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.save_last_frame:1 of
msgid "Whether to save the last frame of the scene as an image file (-s)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.save_pngs:1 of
msgid "Whether to save all frames in the scene as images files (-g)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.scene_names:1 of
msgid "Scenes to play from file."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`show_in_file_browser "
"<manim._config.utils.ManimConfig.show_in_file_browser>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.show_in_file_browser:1 of
msgid "Whether to show the output file in the file browser (-f)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Directory to place tex (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Template used when rendering Tex."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`tex_template_file "
"<manim._config.utils.ManimConfig.tex_template_file>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "File to read Tex template from (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Directory to place text (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.top:1 of
msgid "Coordinate at the center top of the frame."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.transparent:1 of
msgid "Whether the background opacity is 0.0 (-t)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`upto_animation_number "
"<manim._config.utils.ManimConfig.upto_animation_number>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Stop rendering animations at this nmber."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`use_opengl_renderer "
"<manim._config.utils.ManimConfig.use_opengl_renderer>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.use_opengl_renderer:1 of
msgid "Whether or not to use the OpenGL renderer."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`use_projection_fill_shaders "
"<manim._config.utils.ManimConfig.use_projection_fill_shaders>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.use_projection_fill_shaders:1 of
msgid ""
"Use shaders for OpenGLVMobject fill which are compatible with "
"transformation matrices."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`use_projection_stroke_shaders "
"<manim._config.utils.ManimConfig.use_projection_stroke_shaders>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.use_projection_stroke_shaders:1 of
msgid ""
"Use shaders for OpenGLVMobject stroke which are compatible with "
"transformation matrices."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`use_webgl_renderer "
"<manim._config.utils.ManimConfig.use_webgl_renderer>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.use_webgl_renderer:1 of
msgid "Whether or not to use WebGL renderer."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.verbosity:1 of
msgid ""
"Logger verbosity; \"DEBUG\", \"INFO\", \"WARNING\", \"ERROR\", or "
"\"CRITICAL\" (-v)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Directory to place videos (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid ""
":obj:`webgl_renderer_path "
"<manim._config.utils.ManimConfig.webgl_renderer_path>`\\"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.webgl_renderer_path:1 of
msgid "Path to WebGL renderer."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.window_monitor:1 of
msgid "The monitor on which the scene will be rendered"
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "Set the position of preview window."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "The size of the opengl window."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.write_all:1 of
msgid "Whether to render all scenes in the input file (-a)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1
#: manim._config.utils.ManimConfig.write_to_movie:1 of
msgid "Whether to render the scene to a movie file (-w)."
msgstr ""
#: manim._config.utils.ManimConfig.aspect_ratio:1:<autosummary>:1 of
msgid "PNG zero padding."
msgstr ""
#: manim._config.utils.ManimConfig manim._config.utils.ManimConfig.copy
#: manim._config.utils.ManimConfig.digest_args
#: manim._config.utils.ManimConfig.digest_file
#: manim._config.utils.ManimConfig.digest_parser
#: manim._config.utils.ManimConfig.get_dir
#: manim._config.utils.ManimConfig.update of
msgid "Return type"
msgstr ""
#: manim._config.utils.ManimConfig.copy
#: manim._config.utils.ManimConfig.digest_args
#: manim._config.utils.ManimConfig.digest_file
#: manim._config.utils.ManimConfig.digest_parser
#: manim._config.utils.ManimConfig.get_dir
#: manim._config.utils.ManimConfig.update of
msgid "Returns"
msgstr ""
#: manim._config.utils.ManimConfig.copy:3 of
msgid "A copy of this object containing no shared references."
msgstr ""
#: manim._config.utils.ManimConfig.copy:4
#: manim._config.utils.ManimConfig.digest_args:7
#: manim._config.utils.ManimConfig.digest_file:11
#: manim._config.utils.ManimConfig.digest_parser:13 of
msgid ":class:`ManimConfig`"
msgstr ""
#: manim._config.utils.ManimConfig.copy:6 of
msgid ":func:`tempconfig`"
msgstr ""
#: manim._config.utils.ManimConfig.copy:10 of
msgid "This is the main mechanism behind :func:`tempconfig`."
msgstr ""
#: manim._config.utils.ManimConfig.digest_args
#: manim._config.utils.ManimConfig.digest_file
#: manim._config.utils.ManimConfig.digest_parser
#: manim._config.utils.ManimConfig.get_dir
#: manim._config.utils.ManimConfig.update of
msgid "Parameters"
msgstr ""
#: manim._config.utils.ManimConfig.digest_args:3 of
msgid "An object returned by :func:`.main_utils.parse_args()`."
msgstr ""
#: manim._config.utils.ManimConfig.digest_args:6
#: manim._config.utils.ManimConfig.digest_parser:12 of
msgid "**self** -- This object, after processing the contents of ``parser``."
msgstr ""
#: manim._config.utils.ManimConfig.digest_args:11 of
msgid ""
":func:`.main_utils.parse_args()`, :meth:`~.ManimConfig.digest_parser`, "
":meth:`~.ManimConfig.digest_file`"
msgstr ""
#: manim._config.utils.ManimConfig.digest_args:16 of
msgid ""
"If ``args.config_file`` is a non-empty string, ``ManimConfig`` tries to "
"digest the contents of said file with :meth:`~ManimConfig.digest_file` "
"before digesting any other CLI arguments."
msgstr ""
#: manim._config.utils.ManimConfig.digest_file:3 of
msgid ""
"This method processes a single ``.cfg`` file, whereas "
":meth:`~ManimConfig.digest_parser` can process arbitrary parsers, built "
"perhaps from multiple ``.cfg`` files."
msgstr ""
#: manim._config.utils.ManimConfig.digest_file:7 of
msgid "Path to the ``.cfg`` file."
msgstr ""
#: manim._config.utils.ManimConfig.digest_file:10 of
msgid "**self** -- This object, after processing the contents of ``filename``."
msgstr ""
#: manim._config.utils.ManimConfig.digest_file:13 of
msgid ""
":meth:`~ManimConfig.digest_file`, :meth:`~ManimConfig.digest_args`, "
":func:`make_config_parser`"
msgstr ""
#: manim._config.utils.ManimConfig.digest_file:17 of
msgid ""
"If there are multiple ``.cfg`` files to process, it is always more "
"efficient to parse them into a single :class:`ConfigParser` object first "
"and digesting them with one call to :meth:`~ManimConfig.digest_parser`, "
"instead of calling this method multiple times."
msgstr ""
#: manim._config.utils.ManimConfig.digest_parser:3 of
msgid ""
"This method processes arbitrary parsers, not only those read from a "
"single file, whereas :meth:`~ManimConfig.digest_file` can only process "
"one file at a time."
msgstr ""
#: manim._config.utils.ManimConfig.digest_parser:7 of
msgid ""
"An object reflecting the contents of one or many ``.cfg`` files. In "
"particular, it may reflect the contents of multiple files that have been "
"parsed in a cascading fashion."
msgstr ""
#: manim._config.utils.ManimConfig.digest_parser:15 of
msgid ""
":func:`make_config_parser`, :meth:`~.ManimConfig.digest_file`, "
":meth:`~.ManimConfig.digest_args`"
msgstr ""
#: manim._config.utils.ManimConfig.digest_parser:19 of
msgid ""
"If there are multiple ``.cfg`` files to process, it is always more "
"efficient to parse them into a single :class:`ConfigParser` object first,"
" and then call this function once (instead of calling "
":meth:`~.ManimConfig.digest_file` multiple times)."
msgstr ""
#: manim._config.utils.ManimConfig.digest_parser:26 of
msgid ""
"To digest the config options set in two files, first create a "
"ConfigParser and parse both files and then digest the parser:"
msgstr ""
#: manim._config.utils.ManimConfig.digest_parser:35 of
msgid "In fact, the global ``config`` object is initialized like so:"
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:3 of
msgid ""
"Config options that store directories may depend on one another. This "
"method is used to provide the actual directory to the end user."
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:6 of
msgid ""
"The config option to be resolved. Must be an option ending in "
"``'_dir'``, for example ``'media_dir'`` or ``'video_dir'``."
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:9 of
msgid "Any strings to be used when resolving the directory."
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:12 of
msgid ""
"Path to the requested directory. If the path resolves to the empty "
"string, return ``None`` instead."
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:14 of
msgid ":class:`pathlib.Path`"
msgstr ""
#: manim._config.utils.ManimConfig.get_dir
#: manim._config.utils.ManimConfig.update of
msgid "Raises"
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:16 of
msgid ""
"When ``key`` is not a config option that stores a directory and thus "
":meth:`~ManimConfig.get_dir` is not appropriate; or when ``key`` is "
"appropriate but there is not enough information to resolve the "
"directory."
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:20 of
msgid ""
"Standard :meth:`str.format` syntax is used to resolve the paths so the "
"paths may contain arbitrary placeholders using f-string notation. "
"However, these will require ``kwargs`` to contain the required values."
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:26 of
msgid ""
"The value of ``config.tex_dir`` is ``'{media_dir}/Tex'`` by default, i.e."
" it is a subfolder of wherever ``config.media_dir`` is located. In order"
" to get the *actual* directory, use :meth:`~ManimConfig.get_dir`."
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:40 of
msgid ""
"Resolving directories is done in a lazy way, at the last possible moment,"
" to reflect any changes in other config options:"
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:49 of
msgid ""
"Some directories depend on information that is not available to "
":class:`ManimConfig`. For example, the default value of `video_dir` "
"includes the name of the input file and the video quality (e.g. 480p15). "
"This informamtion has to be supplied via ``kwargs``:"
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:64 of
msgid ""
"Note the quality does not need to be passed as keyword argument since "
":class:`ManimConfig` does store information about quality."
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:67 of
msgid ""
"Directories may be recursively defined. For example, the config option "
"``partial_movie_dir`` depends on ``video_dir``, which in turn depends on "
"``media_dir``:"
msgstr ""
#: manim._config.utils.ManimConfig.get_dir:83 of
msgid ""
"Standard f-string syntax is used. Arbitrary names can be used when "
"defining directories, as long as the corresponding values are passed to "
":meth:`ManimConfig.get_dir` via ``kwargs``."
msgstr ""
#: manim._config.utils.ManimConfig.images_dir:1 of
msgid "Directory to place images (no flag). See :meth:`ManimConfig.get_dir`."
msgstr ""
#: manim._config.utils.ManimConfig.log_dir:1 of
msgid "Directory to place logs. See :meth:`ManimConfig.get_dir`."
msgstr ""
#: manim._config.utils.ManimConfig.max_files_cached:1 of
msgid "Maximum number of files cached. Use -1 for infinity (no flag)."
msgstr ""
#: manim._config.utils.ManimConfig.media_dir:1 of
msgid "Main output directory. See :meth:`ManimConfig.get_dir`."
msgstr ""
#: manim._config.utils.ManimConfig.partial_movie_dir:1 of
msgid ""
"Directory to place partial movie files (no flag). See "
":meth:`ManimConfig.get_dir`."
msgstr ""
#: manim._config.utils.ManimConfig.renderer of
msgid "type"
msgstr ""
#: manim._config.utils.ManimConfig.renderer:3 of
msgid "Renderer"
msgstr ""
#: manim._config.utils.ManimConfig.tex_dir:1 of
msgid "Directory to place tex (no flag). See :meth:`ManimConfig.get_dir`."
msgstr ""
#: manim._config.utils.ManimConfig.tex_template:1 of
msgid "Template used when rendering Tex. See :class:`.TexTemplate`."
msgstr ""
#: manim._config.utils.ManimConfig.tex_template_file:1 of
msgid ""
"File to read Tex template from (no flag). See "
":class:`.TexTemplateFromFile`."
msgstr ""
#: manim._config.utils.ManimConfig.text_dir:1 of
msgid "Directory to place text (no flag). See :meth:`ManimConfig.get_dir`."
msgstr ""
#: manim._config.utils.ManimConfig.update:3 of
msgid ""
"Similar to :meth:`dict.update`, replaces the values of this object with "
"those of ``obj``."
msgstr ""
#: manim._config.utils.ManimConfig.update:6 of
msgid "The object to copy values from."
msgstr ""
#: manim._config.utils.ManimConfig.update:12 of
msgid ""
"If ``obj`` is a dict but contains keys that do not belong to any "
"config options."
msgstr ""
#: manim._config.utils.ManimConfig.update:14 of
msgid ""
":meth:`~ManimConfig.digest_file`, :meth:`~ManimConfig.digest_args`, "
":meth:`~ManimConfig.digest_parser`"
msgstr ""
#: manim._config.utils.ManimConfig.upto_animation_number:1 of
msgid "Stop rendering animations at this nmber. Use -1 to avoid skipping (-n)."
msgstr ""
#: manim._config.utils.ManimConfig.video_dir:1 of
msgid "Directory to place videos (no flag). See :meth:`ManimConfig.get_dir`."
msgstr ""
#: manim._config.utils.ManimConfig.window_position:1 of
msgid ""
"Set the position of preview window. You can use directions, e.g. "
"UL/DR/ORIGIN/LEFT...or the position(pixel) of the upper left corner of "
"the window, e.g. '960,540'"
msgstr ""
#: manim._config.utils.ManimConfig.window_size:1 of
msgid ""
"The size of the opengl window. 'default' to automatically scale the "
"window based on the display monitor."
msgstr ""
#: manim._config.utils.ManimConfig.zero_pad:1 of
msgid ""
"PNG zero padding. A number between 0 (no zero padding) and 9 (9 columns "
"minimum)."
msgstr ""

View file

@ -1,150 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim._config.utils.rst:2
msgid "utils"
msgstr ""
#: manim._config.utils:1 of
msgid "Utilities to create and set the config."
msgstr ""
#: manim._config.utils:3 of
msgid ""
"The main class exported by this module is :class:`ManimConfig`. This "
"class contains all configuration options, including frame geometry (e.g. "
"frame height/width, frame rate), output (e.g. directories, logging), "
"styling (e.g. background color, transparency), and general behavior (e.g."
" writing a movie vs writing a single frame)."
msgstr ""
#: manim._config.utils:9 of
msgid ""
"See :doc:`/tutorials/configuration` for an introduction to Manim's "
"configuration system."
msgstr ""
#: ../../source/reference/manim._config.utils.rst:15
msgid "Classes"
msgstr ""
#: ../../source/reference/manim._config.utils.rst:28:<autosummary>:1
msgid "Dict-like class storing all config options."
msgstr ""
#: ../../source/reference/manim._config.utils.rst:31
msgid "Functions"
msgstr ""
#: manim._config.utils.config_file_paths:1 of
msgid "The paths where ``.cfg`` files will be searched for."
msgstr ""
#: manim._config.utils.config_file_paths:3 of
msgid ""
"When manim is first imported, it processes any ``.cfg`` files it finds. "
"This function returns the locations in which these files are searched "
"for. In ascending order of precedence, these are: the library-wide "
"config file, the user-wide config file, and the folder-wide config file."
msgstr ""
#: manim._config.utils.config_file_paths:8 of
msgid ""
"The library-wide config file determines manim's default behavior. The "
"user-wide config file is stored in the user's home folder, and determines"
" the behavior of manim whenever the user invokes it from anywhere in the "
"system. The folder-wide config file only affects scenes that are in the "
"same folder. The latter two files are optional."
msgstr ""
#: manim._config.utils.config_file_paths:14 of
msgid ""
"These files, if they exist, are meant to loaded into a single "
":class:`configparser.ConfigParser` object, and then processed by "
":class:`ManimConfig`."
msgstr ""
#: manim._config.utils.config_file_paths manim._config.utils.make_config_parser
#: of
msgid "Returns"
msgstr ""
#: manim._config.utils.config_file_paths:18 of
msgid ""
"List of paths which may contain ``.cfg`` files, in ascending order of "
"precedence."
msgstr ""
#: manim._config.utils.config_file_paths manim._config.utils.make_config_parser
#: of
msgid "Return type"
msgstr ""
#: manim._config.utils.config_file_paths:20 of
msgid "List[:class:`Path`]"
msgstr ""
#: manim._config.utils.config_file_paths:22 of
msgid ""
":func:`make_config_parser`, :meth:`ManimConfig.digest_file`, "
":meth:`ManimConfig.digest_parser`"
msgstr ""
#: manim._config.utils.config_file_paths:25 of
msgid "Notes"
msgstr ""
#: manim._config.utils.config_file_paths:26 of
msgid "The location of the user-wide config file is OS-specific."
msgstr ""
#: manim._config.utils.make_config_parser:1 of
msgid "Make a :class:`ConfigParser` object and load any ``.cfg`` files."
msgstr ""
#: manim._config.utils.make_config_parser:3 of
msgid ""
"The user-wide file, if it exists, overrides the library-wide file. The "
"folder-wide file, if it exists, overrides the other two."
msgstr ""
#: manim._config.utils.make_config_parser:6 of
msgid ""
"The folder-wide file can be ignored by passing ``custom_file``. However,"
" the user-wide and library-wide config files cannot be ignored."
msgstr ""
#: manim._config.utils.make_config_parser of
msgid "Parameters"
msgstr ""
#: manim._config.utils.make_config_parser:9 of
msgid ""
"Path to a custom config file. If used, the folder-wide file in the "
"relevant directory will be ignored, if it exists. If None, the folder-"
"wide file will be used, if it exists."
msgstr ""
#: manim._config.utils.make_config_parser:14 of
msgid ""
"A parser containing the config options found in the .cfg files that were "
"found. It is guaranteed to contain at least the config options found in "
"the library-wide file."
msgstr ""
#: manim._config.utils.make_config_parser:17 of
msgid ":class:`ConfigParser`"
msgstr ""
#: manim._config.utils.make_config_parser:19 of
msgid ":func:`config_file_paths`"
msgstr ""

View file

@ -1,388 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.animation.Animation.rst:2
msgid "Animation"
msgstr ""
#: ../../source/reference/manim.animation.animation.Animation.rst:4
msgid "Qualified name: ``manim.animation.animation.Animation``"
msgstr ""
#: manim.animation.animation.Animation:1 of
msgid "Bases: :class:`object`"
msgstr ""
#: manim.animation.animation.Animation:1 of
msgid "An animation."
msgstr ""
#: manim.animation.animation.Animation:3 of
msgid "Animations have a fixed time span."
msgstr ""
#: manim.animation.animation.Animation.clean_up_from_scene
#: manim.animation.animation.Animation.get_sub_alpha
#: manim.animation.animation.Animation.interpolate
#: manim.animation.animation.Animation.interpolate_mobject
#: manim.animation.animation.Animation.set_name
#: manim.animation.animation.Animation.set_rate_func
#: manim.animation.animation.Animation.set_run_time
#: manim.animation.animation.Animation.update_mobjects of
msgid "Parameters"
msgstr ""
#: manim.animation.animation.Animation:5 of
msgid ""
"The mobject to be animated. This is not required for all types of "
"animations."
msgstr ""
#: manim.animation.animation.Animation:6 of
msgid ""
"Defines the delay after which the animation is applied to submobjects. "
"This lag is relative to the duration of the animation. This does not "
"influence the total runtime of the animation. Instead the runtime of "
"individual animations is adjusted so that the complete animation has the "
"defined run time."
msgstr ""
#: manim.animation.animation.Animation:6 of
msgid ""
"Defines the delay after which the animation is applied to submobjects. "
"This lag is relative to the duration of the animation."
msgstr ""
#: manim.animation.animation.Animation:9 of
msgid ""
"This does not influence the total runtime of the animation. Instead the "
"runtime of individual animations is adjusted so that the complete "
"animation has the defined run time."
msgstr ""
#: manim.animation.animation.Animation:12 of
msgid "The duration of the animation in seconds."
msgstr ""
#: manim.animation.animation.Animation:13 of
msgid ""
"The function defining the animation progress based on the relative "
"runtime (see :mod:`~.rate_functions`) . For example ``rate_func(0.5)`` "
"is the proportion of the animation that is done after half of the "
"animations run time."
msgstr ""
#: manim.animation.animation.Animation:13 of
msgid ""
"The function defining the animation progress based on the relative "
"runtime (see :mod:`~.rate_functions`) ."
msgstr ""
#: manim.animation.animation.Animation:15 of
msgid ""
"For example ``rate_func(0.5)`` is the proportion of the animation that is"
" done after half of the animations run time."
msgstr ""
#: manim.animation.animation.Animation:17 of
msgid ""
"The name of the animation. This gets displayed while rendering the "
"animation. Defaults to <class-name>(<Mobject-name>)."
msgstr ""
#: manim.animation.animation.Animation:19 of
msgid ""
"Whether the given mobject should be removed from the scene after this "
"animation."
msgstr ""
#: manim.animation.animation.Animation:20 of
msgid "Whether updaters of the mobject should be suspended during the animation."
msgstr ""
#: manim.animation.animation.Animation:23 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.animation.Animation.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.animation.Animation.begin:1
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid "Begin the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid ""
":obj:`clean_up_from_scene "
"<manim.animation.animation.Animation.clean_up_from_scene>`"
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.clean_up_from_scene:1 of
msgid "Clean up the :class:`~.Scene` after finishing the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.copy:1 of
msgid "Create a copy of the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid ""
":obj:`create_starting_mobject "
"<manim.animation.animation.Animation.create_starting_mobject>`"
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.finish:1 of
msgid "Finish the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid ""
":obj:`get_all_families_zipped "
"<manim.animation.animation.Animation.get_all_families_zipped>`"
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid ""
":obj:`get_all_mobjects "
"<manim.animation.animation.Animation.get_all_mobjects>`"
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.get_all_mobjects:1 of
msgid "Get all mobjects involved in the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid ""
":obj:`get_all_mobjects_to_update "
"<manim.animation.animation.Animation.get_all_mobjects_to_update>`"
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.get_all_mobjects_to_update:1 of
msgid "Get all mobjects to be updated during the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.get_rate_func:1 of
msgid "Get the rate function of the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.get_run_time:1 of
msgid "Get the run time of the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.get_sub_alpha:1 of
msgid "Get the animation progress of any submobjects subanimation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.interpolate:1 of
msgid "Set the animation progress."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid ""
":obj:`interpolate_mobject "
"<manim.animation.animation.Animation.interpolate_mobject>`"
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.interpolate_mobject:1 of
msgid "Interpolates the mobject of the :class:`Animation` based on alpha value."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid ""
":obj:`interpolate_submobject "
"<manim.animation.animation.Animation.interpolate_submobject>`"
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.is_remover:1 of
msgid "Test if a the animation is a remover."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.set_name:1 of
msgid "Set the name of the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.set_rate_func:1 of
msgid "Set the rate function of the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1
#: manim.animation.animation.Animation.set_run_time:1 of
msgid "Set the run time of the animation."
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid ""
":obj:`update_mobjects "
"<manim.animation.animation.Animation.update_mobjects>`"
msgstr ""
#: manim.animation.animation.Animation.begin:1:<autosummary>:1 of
msgid "Updates things like starting_mobject, and (for Transforms) target_mobject."
msgstr ""
#: manim.animation.animation.Animation.begin:3 of
msgid ""
"This method is called right as an animation is being played. As much "
"initialization as possible, especially any mobject copying, should live "
"in this method."
msgstr ""
#: manim.animation.animation.Animation.begin
#: manim.animation.animation.Animation.clean_up_from_scene
#: manim.animation.animation.Animation.copy
#: manim.animation.animation.Animation.finish
#: manim.animation.animation.Animation.get_all_mobjects
#: manim.animation.animation.Animation.get_all_mobjects_to_update
#: manim.animation.animation.Animation.get_rate_func
#: manim.animation.animation.Animation.get_run_time
#: manim.animation.animation.Animation.get_sub_alpha
#: manim.animation.animation.Animation.interpolate
#: manim.animation.animation.Animation.interpolate_mobject
#: manim.animation.animation.Animation.is_remover
#: manim.animation.animation.Animation.set_name
#: manim.animation.animation.Animation.set_rate_func
#: manim.animation.animation.Animation.set_run_time
#: manim.animation.animation.Animation.update_mobjects of
msgid "Return type"
msgstr ""
#: manim.animation.animation.Animation.clean_up_from_scene:3 of
msgid ""
"This includes to :meth:`~.Scene.remove` the Animation's "
":class:`~.Mobject` if the animation is a remover."
msgstr ""
#: manim.animation.animation.Animation.clean_up_from_scene:6 of
msgid "The scene the animation should be cleaned up from."
msgstr ""
#: manim.animation.animation.Animation.copy
#: manim.animation.animation.Animation.get_all_mobjects
#: manim.animation.animation.Animation.get_all_mobjects_to_update
#: manim.animation.animation.Animation.get_rate_func
#: manim.animation.animation.Animation.get_run_time
#: manim.animation.animation.Animation.get_sub_alpha
#: manim.animation.animation.Animation.is_remover
#: manim.animation.animation.Animation.set_name
#: manim.animation.animation.Animation.set_rate_func
#: manim.animation.animation.Animation.set_run_time of
msgid "Returns"
msgstr ""
#: manim.animation.animation.Animation.copy:3 of
msgid "A copy of ``self``"
msgstr ""
#: manim.animation.animation.Animation.finish:3 of
msgid "This method gets called when the animation is over."
msgstr ""
#: manim.animation.animation.Animation.get_all_mobjects:3 of
msgid "Ordering must match the ordering of arguments to interpolate_submobject"
msgstr ""
#: manim.animation.animation.Animation.get_all_mobjects:5 of
msgid "The sequence of mobjects."
msgstr ""
#: manim.animation.animation.Animation.get_all_mobjects_to_update:3 of
msgid "The list of mobjects to be updated during the animation."
msgstr ""
#: manim.animation.animation.Animation.get_rate_func:3 of
msgid "The rate function of the animation."
msgstr ""
#: manim.animation.animation.Animation.get_run_time:3 of
msgid "The time the animation takes in seconds."
msgstr ""
#: manim.animation.animation.Animation.get_sub_alpha:3 of
msgid "The overall animation progress"
msgstr ""
#: manim.animation.animation.Animation.get_sub_alpha:4 of
msgid "The index of the subanimation."
msgstr ""
#: manim.animation.animation.Animation.get_sub_alpha:5 of
msgid "The total count of subanimations."
msgstr ""
#: manim.animation.animation.Animation.get_sub_alpha:7 of
msgid "The progress of the subanimation."
msgstr ""
#: manim.animation.animation.Animation.interpolate:3 of
msgid "This method gets called for every frame during an animation."
msgstr ""
#: manim.animation.animation.Animation.interpolate:5 of
msgid ""
"The relative time to set the aniamtion to, 0 meaning the start, 1 meaning"
" the end."
msgstr ""
#: manim.animation.animation.Animation.interpolate_mobject:3 of
msgid ""
"A float between 0 and 1 expressing the ratio to which the animation is "
"completed. For example, alpha-values of 0, 0.5, and 1 correspond to the "
"animation being completed 0%, 50%, and 100%, respectively."
msgstr ""
#: manim.animation.animation.Animation.is_remover:3 of
msgid "``True`` if the animation is a remover, ``False`` otherwise."
msgstr ""
#: manim.animation.animation.Animation.set_name:3 of
msgid "The new name of the animation."
msgstr ""
#: manim.animation.animation.Animation.set_name:5
#: manim.animation.animation.Animation.set_rate_func:5
#: manim.animation.animation.Animation.set_run_time:7 of
msgid "``self``"
msgstr ""
#: manim.animation.animation.Animation.set_rate_func:3
#: manim.animation.animation.Animation.set_run_time:3 of
msgid "The new time the animation should take in seconds."
msgstr ""
#: manim.animation.animation.Animation.set_run_time:4 of
msgid ""
"The run_time of an animation should not be changed while it is already "
"running."
msgstr ""
#: manim.animation.animation.Animation.update_mobjects:1 of
msgid ""
"Updates things like starting_mobject, and (for Transforms) "
"target_mobject. Note, since typically (always?) self.mobject will have "
"its updating suspended during the animation, this will do nothing to "
"self.mobject."
msgstr ""

View file

@ -1,110 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.animation.Wait.rst:2
msgid "Wait"
msgstr ""
#: ../../source/reference/manim.animation.animation.Wait.rst:4
msgid "Qualified name: ``manim.animation.animation.Wait``"
msgstr ""
#: manim.animation.animation.Wait:1 of
msgid "Bases: :class:`manim.animation.animation.Animation`"
msgstr ""
#: ../../source/reference/manim.animation.animation.Wait.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.animation.Wait.begin:1
#: manim.animation.animation.Wait.begin:1:<autosummary>:1 of
msgid "Begin the animation."
msgstr ""
#: manim.animation.animation.Wait.begin:1:<autosummary>:1 of
msgid ""
":obj:`clean_up_from_scene "
"<manim.animation.animation.Wait.clean_up_from_scene>`"
msgstr ""
#: manim.animation.animation.Wait.begin:1:<autosummary>:1
#: manim.animation.animation.Wait.clean_up_from_scene:1 of
msgid "Clean up the :class:`~.Scene` after finishing the animation."
msgstr ""
#: manim.animation.animation.Wait.begin:1:<autosummary>:1
#: manim.animation.animation.Wait.finish:1 of
msgid "Finish the animation."
msgstr ""
#: manim.animation.animation.Wait.begin:1:<autosummary>:1
#: manim.animation.animation.Wait.interpolate:1 of
msgid "Set the animation progress."
msgstr ""
#: manim.animation.animation.Wait.begin:1:<autosummary>:1 of
msgid "Updates things like starting_mobject, and (for Transforms) target_mobject."
msgstr ""
#: manim.animation.animation.Wait.begin:3 of
msgid ""
"This method is called right as an animation is being played. As much "
"initialization as possible, especially any mobject copying, should live "
"in this method."
msgstr ""
#: manim.animation.animation.Wait.begin
#: manim.animation.animation.Wait.clean_up_from_scene
#: manim.animation.animation.Wait.finish
#: manim.animation.animation.Wait.interpolate
#: manim.animation.animation.Wait.update_mobjects of
msgid "Return type"
msgstr ""
#: manim.animation.animation.Wait.clean_up_from_scene:3 of
msgid ""
"This includes to :meth:`~.Scene.remove` the Animation's "
":class:`~.Mobject` if the animation is a remover."
msgstr ""
#: manim.animation.animation.Wait.clean_up_from_scene
#: manim.animation.animation.Wait.interpolate
#: manim.animation.animation.Wait.update_mobjects of
msgid "Parameters"
msgstr ""
#: manim.animation.animation.Wait.clean_up_from_scene:6 of
msgid "The scene the animation should be cleaned up from."
msgstr ""
#: manim.animation.animation.Wait.finish:3 of
msgid "This method gets called when the animation is over."
msgstr ""
#: manim.animation.animation.Wait.interpolate:3 of
msgid "This method gets called for every frame during an animation."
msgstr ""
#: manim.animation.animation.Wait.interpolate:5 of
msgid ""
"The relative time to set the aniamtion to, 0 meaning the start, 1 meaning"
" the end."
msgstr ""
#: manim.animation.animation.Wait.update_mobjects:1 of
msgid ""
"Updates things like starting_mobject, and (for Transforms) "
"target_mobject. Note, since typically (always?) self.mobject will have "
"its updating suspended during the animation, this will do nothing to "
"self.mobject."
msgstr ""

View file

@ -1,82 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.animation.rst:2
msgid "animation"
msgstr ""
#: manim.animation.animation:1 of
msgid "Animate mobjects."
msgstr ""
#: ../../source/reference/manim.animation.animation.rst:15
msgid "Classes"
msgstr ""
#: ../../source/reference/manim.animation.animation.rst:28:<autosummary>:1
msgid "An animation."
msgstr ""
#: ../../source/reference/manim.animation.animation.rst:31
msgid "Functions"
msgstr ""
#: manim.animation.animation.override_animation:1 of
msgid ""
"Decorator used to mark methods as overrides for specific "
":class:`~.Animation` types."
msgstr ""
#: manim.animation.animation.override_animation:3 of
msgid ""
"Should only be used to decorate methods of classes derived from "
":class:`~.Mobject`. ``Animation`` overrides get inherited to subclasses "
"of the ``Mobject`` who defined them. They don't override subclasses of "
"the ``Animation`` they override."
msgstr ""
#: manim.animation.animation.override_animation:7 of
msgid ":meth:`~.Mobject.add_animation_override`"
msgstr ""
#: manim.animation.animation.override_animation
#: manim.animation.animation.prepare_animation of
msgid "Parameters"
msgstr ""
#: manim.animation.animation.override_animation:9 of
msgid "The animation to be overridden."
msgstr ""
#: manim.animation.animation.override_animation of
msgid "Returns"
msgstr ""
#: manim.animation.animation.override_animation:11 of
msgid "The actual decorator. This marks the method as overriding an animation."
msgstr ""
#: manim.animation.animation.override_animation
#: manim.animation.animation.prepare_animation of
msgid "Return type"
msgstr ""
#: manim.animation.animation.override_animation:15
#: manim.animation.animation.prepare_animation:5 of
msgid "Examples"
msgstr ""
#: manim.animation.animation.prepare_animation:1 of
msgid ""
"Returns either an unchanged animation, or the animation built from a "
"passed animation factory."
msgstr ""

View file

@ -1,165 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.composition.AnimationGroup.rst:2
msgid "AnimationGroup"
msgstr ""
#: ../../source/reference/manim.animation.composition.AnimationGroup.rst:4
msgid "Qualified name: ``manim.animation.composition.AnimationGroup``"
msgstr ""
#: manim.animation.composition.AnimationGroup:1 of
msgid "Bases: :class:`manim.animation.animation.Animation`"
msgstr ""
#: ../../source/reference/manim.animation.composition.AnimationGroup.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1 of
msgid "Begin the animation."
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1 of
msgid ""
":obj:`build_animations_with_timings "
"<manim.animation.composition.AnimationGroup.build_animations_with_timings>`"
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1
#: manim.animation.composition.AnimationGroup.build_animations_with_timings:1
#: of
msgid "Creates a list of triplets of the form (anim, start_time, end_time)"
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1 of
msgid ""
":obj:`clean_up_from_scene "
"<manim.animation.composition.AnimationGroup.clean_up_from_scene>`"
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1
#: manim.animation.composition.AnimationGroup.clean_up_from_scene:1 of
msgid "Clean up the :class:`~.Scene` after finishing the animation."
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1
#: manim.animation.composition.AnimationGroup.finish:1 of
msgid "Finish the animation."
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1 of
msgid ""
":obj:`get_all_mobjects "
"<manim.animation.composition.AnimationGroup.get_all_mobjects>`"
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1
#: manim.animation.composition.AnimationGroup.get_all_mobjects:1 of
msgid "Get all mobjects involved in the animation."
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1 of
msgid ""
":obj:`init_run_time "
"<manim.animation.composition.AnimationGroup.init_run_time>`"
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1 of
msgid ""
":obj:`interpolate "
"<manim.animation.composition.AnimationGroup.interpolate>`"
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1
#: manim.animation.composition.AnimationGroup.interpolate:1 of
msgid "Set the animation progress."
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1 of
msgid ""
":obj:`update_mobjects "
"<manim.animation.composition.AnimationGroup.update_mobjects>`"
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:1:<autosummary>:1 of
msgid "Updates things like starting_mobject, and (for Transforms) target_mobject."
msgstr ""
#: manim.animation.composition.AnimationGroup.begin:3 of
msgid ""
"This method is called right as an animation is being played. As much "
"initialization as possible, especially any mobject copying, should live "
"in this method."
msgstr ""
#: manim.animation.composition.AnimationGroup.begin
#: manim.animation.composition.AnimationGroup.build_animations_with_timings
#: manim.animation.composition.AnimationGroup.clean_up_from_scene
#: manim.animation.composition.AnimationGroup.finish
#: manim.animation.composition.AnimationGroup.get_all_mobjects
#: manim.animation.composition.AnimationGroup.interpolate
#: manim.animation.composition.AnimationGroup.update_mobjects of
msgid "Return type"
msgstr ""
#: manim.animation.composition.AnimationGroup.clean_up_from_scene:3 of
msgid ""
"This includes to :meth:`~.Scene.remove` the Animation's "
":class:`~.Mobject` if the animation is a remover."
msgstr ""
#: manim.animation.composition.AnimationGroup.clean_up_from_scene
#: manim.animation.composition.AnimationGroup.interpolate
#: manim.animation.composition.AnimationGroup.update_mobjects of
msgid "Parameters"
msgstr ""
#: manim.animation.composition.AnimationGroup.clean_up_from_scene:6 of
msgid "The scene the animation should be cleaned up from."
msgstr ""
#: manim.animation.composition.AnimationGroup.finish:3 of
msgid "This method gets called when the animation is over."
msgstr ""
#: manim.animation.composition.AnimationGroup.get_all_mobjects:3 of
msgid "Ordering must match the ordering of arguments to interpolate_submobject"
msgstr ""
#: manim.animation.composition.AnimationGroup.get_all_mobjects of
msgid "Returns"
msgstr ""
#: manim.animation.composition.AnimationGroup.get_all_mobjects:5 of
msgid "The sequence of mobjects."
msgstr ""
#: manim.animation.composition.AnimationGroup.interpolate:3 of
msgid "This method gets called for every frame during an animation."
msgstr ""
#: manim.animation.composition.AnimationGroup.interpolate:5 of
msgid ""
"The relative time to set the aniamtion to, 0 meaning the start, 1 meaning"
" the end."
msgstr ""
#: manim.animation.composition.AnimationGroup.update_mobjects:1 of
msgid ""
"Updates things like starting_mobject, and (for Transforms) "
"target_mobject. Note, since typically (always?) self.mobject will have "
"its updating suspended during the animation, this will do nothing to "
"self.mobject."
msgstr ""

View file

@ -1,105 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.composition.Succession.rst:2
msgid "Succession"
msgstr ""
#: ../../source/reference/manim.animation.composition.Succession.rst:4
msgid "Qualified name: ``manim.animation.composition.Succession``"
msgstr ""
#: manim.animation.composition.Succession:1 of
msgid "Bases: :class:`manim.animation.composition.AnimationGroup`"
msgstr ""
#: ../../source/reference/manim.animation.composition.Succession.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.composition.Succession.begin:1
#: manim.animation.composition.Succession.begin:1:<autosummary>:1 of
msgid "Begin the animation."
msgstr ""
#: manim.animation.composition.Succession.begin:1:<autosummary>:1
#: manim.animation.composition.Succession.finish:1 of
msgid "Finish the animation."
msgstr ""
#: manim.animation.composition.Succession.begin:1:<autosummary>:1
#: manim.animation.composition.Succession.interpolate:1 of
msgid "Set the animation progress."
msgstr ""
#: manim.animation.composition.Succession.begin:1:<autosummary>:1 of
msgid ""
":obj:`next_animation "
"<manim.animation.composition.Succession.next_animation>`"
msgstr ""
#: manim.animation.composition.Succession.begin:1:<autosummary>:1 of
msgid ""
":obj:`update_active_animation "
"<manim.animation.composition.Succession.update_active_animation>`"
msgstr ""
#: manim.animation.composition.Succession.begin:1:<autosummary>:1 of
msgid ""
":obj:`update_mobjects "
"<manim.animation.composition.Succession.update_mobjects>`"
msgstr ""
#: manim.animation.composition.Succession.begin:1:<autosummary>:1 of
msgid "Updates things like starting_mobject, and (for Transforms) target_mobject."
msgstr ""
#: manim.animation.composition.Succession.begin:3 of
msgid ""
"This method is called right as an animation is being played. As much "
"initialization as possible, especially any mobject copying, should live "
"in this method."
msgstr ""
#: manim.animation.composition.Succession.begin
#: manim.animation.composition.Succession.finish
#: manim.animation.composition.Succession.interpolate
#: manim.animation.composition.Succession.update_mobjects of
msgid "Return type"
msgstr ""
#: manim.animation.composition.Succession.finish:3 of
msgid "This method gets called when the animation is over."
msgstr ""
#: manim.animation.composition.Succession.interpolate:3 of
msgid "This method gets called for every frame during an animation."
msgstr ""
#: manim.animation.composition.Succession.interpolate
#: manim.animation.composition.Succession.update_mobjects of
msgid "Parameters"
msgstr ""
#: manim.animation.composition.Succession.interpolate:5 of
msgid ""
"The relative time to set the aniamtion to, 0 meaning the start, 1 meaning"
" the end."
msgstr ""
#: manim.animation.composition.Succession.update_mobjects:1 of
msgid ""
"Updates things like starting_mobject, and (for Transforms) "
"target_mobject. Note, since typically (always?) self.mobject will have "
"its updating suspended during the animation, this will do nothing to "
"self.mobject."
msgstr ""

View file

@ -1,45 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.AddTextLetterByLetter.rst:2
msgid "AddTextLetterByLetter"
msgstr ""
#: ../../source/reference/manim.animation.creation.AddTextLetterByLetter.rst:4
msgid "Qualified name: ``manim.animation.creation.AddTextLetterByLetter``"
msgstr ""
#: manim.animation.creation.AddTextLetterByLetter:1 of
msgid "Bases: :class:`manim.animation.creation.ShowIncreasingSubsets`"
msgstr ""
#: manim.animation.creation.AddTextLetterByLetter:1 of
msgid "Show a :class:`~.Text` letter by letter on the scene."
msgstr ""
#: manim.animation.creation.AddTextLetterByLetter of
msgid "Parameters"
msgstr ""
#: manim.animation.creation.AddTextLetterByLetter:3 of
msgid "Frequency of appearance of the letters."
msgstr ""
#: manim.animation.creation.AddTextLetterByLetter:5 of
msgid ""
"This is currently only possible for class:`~.Text` and not for "
"class:`~.MathTex`"
msgstr ""
#: ../../source/reference/manim.animation.creation.AddTextLetterByLetter.rst:14
msgid "Methods"
msgstr ""

View file

@ -1,51 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.Create.rst:2
msgid "Create"
msgstr ""
#: ../../source/reference/manim.animation.creation.Create.rst:4
msgid "Qualified name: ``manim.animation.creation.Create``"
msgstr ""
#: manim.animation.creation.Create:1 of
msgid "Bases: :class:`manim.animation.creation.ShowPartial`"
msgstr ""
#: manim.animation.creation.Create:1 of
msgid "Incrementally show a VMobject."
msgstr ""
#: ../../source/reference/manim.animation.creation.Create.rst
msgid "Parameters"
msgstr ""
#: manim.animation.creation.Create:3 of
msgid "The VMobject to animate."
msgstr ""
#: ../../source/reference/manim.animation.creation.Create.rst
msgid "Raises"
msgstr ""
#: manim.animation.creation.Create:6 of
msgid "If ``mobject`` is not an instance of :class:`~.VMobject`."
msgstr ""
#: manim.animation.creation.Create:9 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.creation.Create.rst:14
msgid "Methods"
msgstr ""

View file

@ -1,93 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.DrawBorderThenFill.rst:2
msgid "DrawBorderThenFill"
msgstr ""
#: ../../source/reference/manim.animation.creation.DrawBorderThenFill.rst:4
msgid "Qualified name: ``manim.animation.creation.DrawBorderThenFill``"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill:1 of
msgid "Bases: :class:`manim.animation.animation.Animation`"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill:1 of
msgid "Draw the border first and then show the fill."
msgstr ""
#: manim.animation.creation.DrawBorderThenFill:4 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.creation.DrawBorderThenFill.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.begin:1
#: manim.animation.creation.DrawBorderThenFill.begin:1:<autosummary>:1 of
msgid "Begin the animation."
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.begin:1:<autosummary>:1 of
msgid ""
":obj:`get_all_mobjects "
"<manim.animation.creation.DrawBorderThenFill.get_all_mobjects>`"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.begin:1:<autosummary>:1
#: manim.animation.creation.DrawBorderThenFill.get_all_mobjects:1 of
msgid "Get all mobjects involved in the animation."
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.begin:1:<autosummary>:1 of
msgid ""
":obj:`get_outline "
"<manim.animation.creation.DrawBorderThenFill.get_outline>`"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.begin:1:<autosummary>:1 of
msgid ""
":obj:`get_stroke_color "
"<manim.animation.creation.DrawBorderThenFill.get_stroke_color>`"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.begin:1:<autosummary>:1 of
msgid ""
":obj:`interpolate_submobject "
"<manim.animation.creation.DrawBorderThenFill.interpolate_submobject>`"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.begin:3 of
msgid ""
"This method is called right as an animation is being played. As much "
"initialization as possible, especially any mobject copying, should live "
"in this method."
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.begin
#: manim.animation.creation.DrawBorderThenFill.get_all_mobjects of
msgid "Return type"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.get_all_mobjects:3 of
msgid "Ordering must match the ordering of arguments to interpolate_submobject"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.get_all_mobjects of
msgid "Returns"
msgstr ""
#: manim.animation.creation.DrawBorderThenFill.get_all_mobjects:5 of
msgid "The sequence of mobjects."
msgstr ""

View file

@ -1,72 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.ShowIncreasingSubsets.rst:2
msgid "ShowIncreasingSubsets"
msgstr ""
#: ../../source/reference/manim.animation.creation.ShowIncreasingSubsets.rst:4
msgid "Qualified name: ``manim.animation.creation.ShowIncreasingSubsets``"
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets:1 of
msgid "Bases: :class:`manim.animation.animation.Animation`"
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets:1 of
msgid ""
"Show one submobject at a time, leaving all previous ones displayed on "
"screen."
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets:4 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.creation.ShowIncreasingSubsets.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets.interpolate_mobject:1:<autosummary>:1
#: of
msgid ""
":obj:`interpolate_mobject "
"<manim.animation.creation.ShowIncreasingSubsets.interpolate_mobject>`"
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets.interpolate_mobject:1
#: manim.animation.creation.ShowIncreasingSubsets.interpolate_mobject:1:<autosummary>:1
#: of
msgid "Interpolates the mobject of the :class:`Animation` based on alpha value."
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets.interpolate_mobject:1:<autosummary>:1
#: of
msgid ""
":obj:`update_submobject_list "
"<manim.animation.creation.ShowIncreasingSubsets.update_submobject_list>`"
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets.interpolate_mobject of
msgid "Parameters"
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets.interpolate_mobject:3 of
msgid ""
"A float between 0 and 1 expressing the ratio to which the animation is "
"completed. For example, alpha-values of 0, 0.5, and 1 correspond to the "
"animation being completed 0%, 50%, and 100%, respectively."
msgstr ""
#: manim.animation.creation.ShowIncreasingSubsets.interpolate_mobject of
msgid "Return type"
msgstr ""

View file

@ -1,49 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.ShowPartial.rst:2
msgid "ShowPartial"
msgstr ""
#: ../../source/reference/manim.animation.creation.ShowPartial.rst:4
msgid "Qualified name: ``manim.animation.creation.ShowPartial``"
msgstr ""
#: manim.animation.creation.ShowPartial:1 of
msgid "Bases: :class:`manim.animation.animation.Animation`"
msgstr ""
#: manim.animation.creation.ShowPartial:1 of
msgid "Abstract class for Animations that show the VMobject partially."
msgstr ""
#: manim.animation.creation.ShowPartial of
msgid "Raises"
msgstr ""
#: manim.animation.creation.ShowPartial:3 of
msgid "If ``mobject`` is not an instance of :class:`~.VMobject`."
msgstr ""
#: manim.animation.creation.ShowPartial:5 of
msgid ":class:`Create`, :class:`~.ShowPassingFlash`"
msgstr ""
#: ../../source/reference/manim.animation.creation.ShowPartial.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.creation.ShowPartial.rst:18:<autosummary>:1
msgid ""
":obj:`interpolate_submobject "
"<manim.animation.creation.ShowPartial.interpolate_submobject>`"
msgstr ""

View file

@ -1,39 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.ShowSubmobjectsOneByOne.rst:2
msgid "ShowSubmobjectsOneByOne"
msgstr ""
#: ../../source/reference/manim.animation.creation.ShowSubmobjectsOneByOne.rst:4
msgid "Qualified name: ``manim.animation.creation.ShowSubmobjectsOneByOne``"
msgstr ""
#: manim.animation.creation.ShowSubmobjectsOneByOne:1 of
msgid "Bases: :class:`manim.animation.creation.ShowIncreasingSubsets`"
msgstr ""
#: manim.animation.creation.ShowSubmobjectsOneByOne:1 of
msgid ""
"Show one submobject at a time, removing all previously displayed ones "
"from screen."
msgstr ""
#: ../../source/reference/manim.animation.creation.ShowSubmobjectsOneByOne.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.creation.ShowSubmobjectsOneByOne.rst:18:<autosummary>:1
msgid ""
":obj:`update_submobject_list "
"<manim.animation.creation.ShowSubmobjectsOneByOne.update_submobject_list>`"
msgstr ""

View file

@ -1,39 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.Uncreate.rst:2
msgid "Uncreate"
msgstr ""
#: ../../source/reference/manim.animation.creation.Uncreate.rst:4
msgid "Qualified name: ``manim.animation.creation.Uncreate``"
msgstr ""
#: manim.animation.creation.Uncreate:1 of
msgid "Bases: :class:`manim.animation.creation.Create`"
msgstr ""
#: manim.animation.creation.Uncreate:1 of
msgid "Like :class:`Create` but in reverse."
msgstr ""
#: manim.animation.creation.Uncreate:4 of
msgid "Examples"
msgstr ""
#: manim.animation.creation.Uncreate:11 of
msgid ":class:`Create`"
msgstr ""
#: ../../source/reference/manim.animation.creation.Uncreate.rst:14
msgid "Methods"
msgstr ""

View file

@ -1,45 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.Unwrite.rst:2
msgid "Unwrite"
msgstr ""
#: ../../source/reference/manim.animation.creation.Unwrite.rst:4
msgid "Qualified name: ``manim.animation.creation.Unwrite``"
msgstr ""
#: manim.animation.creation.Unwrite:1 of
msgid "Bases: :class:`manim.animation.creation.Write`"
msgstr ""
#: manim.animation.creation.Unwrite:1 of
msgid "Simulate erasing by hand a :class:`~.Text` or a :class:`~.VMobject`."
msgstr ""
#: ../../source/reference/manim.animation.creation.Unwrite.rst
msgid "Parameters"
msgstr ""
#: manim.animation.creation.Unwrite:3 of
msgid ""
"Set True to have the animation start erasing from the last submobject "
"first."
msgstr ""
#: manim.animation.creation.Unwrite:7 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.creation.Unwrite.rst:14
msgid "Methods"
msgstr ""

View file

@ -1,69 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.Write.rst:2
msgid "Write"
msgstr ""
#: ../../source/reference/manim.animation.creation.Write.rst:4
msgid "Qualified name: ``manim.animation.creation.Write``"
msgstr ""
#: manim.animation.creation.Write:1 of
msgid "Bases: :class:`manim.animation.creation.DrawBorderThenFill`"
msgstr ""
#: manim.animation.creation.Write:1 of
msgid ""
"Simulate hand-writing a :class:`~.Text` or hand-drawing a "
":class:`~.VMobject`."
msgstr ""
#: manim.animation.creation.Write:4 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.creation.Write.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.creation.Write.begin:1
#: manim.animation.creation.Write.begin:1:<autosummary>:1 of
msgid "Begin the animation."
msgstr ""
#: manim.animation.creation.Write.begin:1:<autosummary>:1
#: manim.animation.creation.Write.finish:1 of
msgid "Finish the animation."
msgstr ""
#: manim.animation.creation.Write.begin:1:<autosummary>:1 of
msgid ""
":obj:`reverse_submobjects "
"<manim.animation.creation.Write.reverse_submobjects>`"
msgstr ""
#: manim.animation.creation.Write.begin:3 of
msgid ""
"This method is called right as an animation is being played. As much "
"initialization as possible, especially any mobject copying, should live "
"in this method."
msgstr ""
#: manim.animation.creation.Write.begin manim.animation.creation.Write.finish
#: of
msgid "Return type"
msgstr ""
#: manim.animation.creation.Write.finish:3 of
msgid "This method gets called when the animation is over."
msgstr ""

View file

@ -1,87 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.creation.rst:2
msgid "creation"
msgstr ""
#: manim.animation.creation:1 of
msgid "Animate the display or removal of a mobject from a scene."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:15
msgid "Classes"
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid ""
":obj:`AddTextLetterByLetter "
"<manim.animation.creation.AddTextLetterByLetter>`"
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid "Show a :class:`~.Text` letter by letter on the scene."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid "Show a :class:`~.Text` word by word on the scene."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid "Incrementally show a VMobject."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid "Draw the border first and then show the fill."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid ""
":obj:`ShowIncreasingSubsets "
"<manim.animation.creation.ShowIncreasingSubsets>`"
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid ""
"Show one submobject at a time, leaving all previous ones displayed on "
"screen."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid "Abstract class for Animations that show the VMobject partially."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid ""
":obj:`ShowSubmobjectsOneByOne "
"<manim.animation.creation.ShowSubmobjectsOneByOne>`"
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid ""
"Show one submobject at a time, removing all previously displayed ones "
"from screen."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid "Like :class:`Create` but in reverse."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid "Simulate erasing by hand a :class:`~.Text` or a :class:`~.VMobject`."
msgstr ""
#: ../../source/reference/manim.animation.creation.rst:38:<autosummary>:1
msgid ""
"Simulate hand-writing a :class:`~.Text` or hand-drawing a "
":class:`~.VMobject`."
msgstr ""

View file

@ -1,69 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.fading.FadeIn.rst:2
msgid "FadeIn"
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeIn.rst:4
msgid "Qualified name: ``manim.animation.fading.FadeIn``"
msgstr ""
#: manim.animation.fading.FadeIn:1 of
msgid "Bases: :class:`manim.animation.fading._Fade`"
msgstr ""
#: manim.animation.fading.FadeIn:1 of
msgid "Fade in :class:`~.Mobject` s."
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeIn.rst
msgid "Parameters"
msgstr ""
#: manim.animation.fading.FadeIn:3 of
msgid "The mobjects to be faded in."
msgstr ""
#: manim.animation.fading.FadeIn:4 of
msgid "The vector by which the mobject shifts while being faded in."
msgstr ""
#: manim.animation.fading.FadeIn:5 of
msgid ""
"The position from which the mobject starts while being faded in. In case "
"another mobject is given as target position, its center is used."
msgstr ""
#: manim.animation.fading.FadeIn:7 of
msgid ""
"The factor by which the mobject is scaled initially before being "
"rescaling to its original size while being faded in."
msgstr ""
#: manim.animation.fading.FadeIn:11 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeIn.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeIn.rst:21:<autosummary>:1
msgid ""
":obj:`create_starting_mobject "
"<manim.animation.fading.FadeIn.create_starting_mobject>`"
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeIn.rst:23
msgid "Attributes"
msgstr ""

View file

@ -1,86 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.fading.FadeOut.rst:2
msgid "FadeOut"
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeOut.rst:4
msgid "Qualified name: ``manim.animation.fading.FadeOut``"
msgstr ""
#: manim.animation.fading.FadeOut:1 of
msgid "Bases: :class:`manim.animation.fading._Fade`"
msgstr ""
#: manim.animation.fading.FadeOut:1 of
msgid "Fade out :class:`~.Mobject` s."
msgstr ""
#: manim.animation.fading.FadeOut.clean_up_from_scene of
msgid "Parameters"
msgstr ""
#: manim.animation.fading.FadeOut:3 of
msgid "The mobjects to be faded out."
msgstr ""
#: manim.animation.fading.FadeOut:4 of
msgid "The vector by which the mobject shifts while being faded out."
msgstr ""
#: manim.animation.fading.FadeOut:5 of
msgid ""
"The position to which the mobject moves while being faded out. In case "
"another mobject is given as target position, its center is used."
msgstr ""
#: manim.animation.fading.FadeOut:7 of
msgid "The factor by which the mobject is scaled while being faded out."
msgstr ""
#: manim.animation.fading.FadeOut:10 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeOut.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeOut.rst:21:<autosummary>:1
msgid ""
":obj:`clean_up_from_scene "
"<manim.animation.fading.FadeOut.clean_up_from_scene>`"
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeOut.rst:21:<autosummary>:1
#: manim.animation.fading.FadeOut.clean_up_from_scene:1 of
msgid "Clean up the :class:`~.Scene` after finishing the animation."
msgstr ""
#: ../../source/reference/manim.animation.fading.FadeOut.rst:23
msgid "Attributes"
msgstr ""
#: manim.animation.fading.FadeOut.clean_up_from_scene:3 of
msgid ""
"This includes to :meth:`~.Scene.remove` the Animation's "
":class:`~.Mobject` if the animation is a remover."
msgstr ""
#: manim.animation.fading.FadeOut.clean_up_from_scene:6 of
msgid "The scene the animation should be cleaned up from."
msgstr ""
#: manim.animation.fading.FadeOut.clean_up_from_scene of
msgid "Return type"
msgstr ""

View file

@ -1,37 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.growing.GrowArrow.rst:2
msgid "GrowArrow"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowArrow.rst:4
msgid "Qualified name: ``manim.animation.growing.GrowArrow``"
msgstr ""
#: manim.animation.growing.GrowArrow:1 of
msgid "Bases: :class:`manim.animation.growing.GrowFromPoint`"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowArrow.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowArrow.rst:20:<autosummary>:1
msgid ""
":obj:`create_starting_mobject "
"<manim.animation.growing.GrowArrow.create_starting_mobject>`"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowArrow.rst:22
msgid "Attributes"
msgstr ""

View file

@ -1,31 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.growing.GrowFromCenter.rst:2
msgid "GrowFromCenter"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromCenter.rst:4
msgid "Qualified name: ``manim.animation.growing.GrowFromCenter``"
msgstr ""
#: manim.animation.growing.GrowFromCenter:1 of
msgid "Bases: :class:`manim.animation.growing.GrowFromPoint`"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromCenter.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromCenter.rst:21
msgid "Attributes"
msgstr ""

View file

@ -1,31 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.growing.GrowFromEdge.rst:2
msgid "GrowFromEdge"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromEdge.rst:4
msgid "Qualified name: ``manim.animation.growing.GrowFromEdge``"
msgstr ""
#: manim.animation.growing.GrowFromEdge:1 of
msgid "Bases: :class:`manim.animation.growing.GrowFromPoint`"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromEdge.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromEdge.rst:21
msgid "Attributes"
msgstr ""

View file

@ -1,37 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.growing.GrowFromPoint.rst:2
msgid "GrowFromPoint"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromPoint.rst:4
msgid "Qualified name: ``manim.animation.growing.GrowFromPoint``"
msgstr ""
#: manim.animation.growing.GrowFromPoint:1 of
msgid "Bases: :class:`manim.animation.transform.Transform`"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromPoint.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromPoint.rst:21:<autosummary>:1
msgid ""
":obj:`create_starting_mobject "
"<manim.animation.growing.GrowFromPoint.create_starting_mobject>`"
msgstr ""
#: ../../source/reference/manim.animation.growing.GrowFromPoint.rst:23
msgid "Attributes"
msgstr ""

View file

@ -1,31 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.growing.SpinInFromNothing.rst:2
msgid "SpinInFromNothing"
msgstr ""
#: ../../source/reference/manim.animation.growing.SpinInFromNothing.rst:4
msgid "Qualified name: ``manim.animation.growing.SpinInFromNothing``"
msgstr ""
#: manim.animation.growing.SpinInFromNothing:1 of
msgid "Bases: :class:`manim.animation.growing.GrowFromCenter`"
msgstr ""
#: ../../source/reference/manim.animation.growing.SpinInFromNothing.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.growing.SpinInFromNothing.rst:21
msgid "Attributes"
msgstr ""

View file

@ -1,23 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.growing.rst:2
msgid "growing"
msgstr ""
#: manim.animation.growing:1 of
msgid "Animations that grow mobjects."
msgstr ""
#: ../../source/reference/manim.animation.growing.rst:15
msgid "Classes"
msgstr ""

View file

@ -1,71 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.indication.ApplyWave.rst:2
msgid "ApplyWave"
msgstr ""
#: ../../source/reference/manim.animation.indication.ApplyWave.rst:4
msgid "Qualified name: ``manim.animation.indication.ApplyWave``"
msgstr ""
#: manim.animation.indication.ApplyWave:1 of
msgid "Bases: :class:`manim.animation.movement.Homotopy`"
msgstr ""
#: manim.animation.indication.ApplyWave:1 of
msgid "Send a wave through the Mobject distorting it temporarily."
msgstr ""
#: ../../source/reference/manim.animation.indication.ApplyWave.rst
msgid "Parameters"
msgstr ""
#: manim.animation.indication.ApplyWave:3 of
msgid "The mobject to be distorted."
msgstr ""
#: manim.animation.indication.ApplyWave:4 of
msgid "The direction in which the wave nudges points of the shape"
msgstr ""
#: manim.animation.indication.ApplyWave:5 of
msgid "The distance points of the shape get shifted"
msgstr ""
#: manim.animation.indication.ApplyWave:6 of
msgid "The function defining the shape of one wave flank."
msgstr ""
#: manim.animation.indication.ApplyWave:7 of
msgid "The length of the wave relative to the width of the mobject."
msgstr ""
#: manim.animation.indication.ApplyWave:8 of
msgid "The number of ripples of the wave"
msgstr ""
#: manim.animation.indication.ApplyWave:9 of
msgid "The duration of the animation."
msgstr ""
#: manim.animation.indication.ApplyWave:12 of
msgid "Examples"
msgstr ""
#: manim.animation.indication.ApplyWave:31 of
msgid "Homotopy is a function from (x, y, z, t) to (x', y', z')"
msgstr ""
#: ../../source/reference/manim.animation.indication.ApplyWave.rst:14
msgid "Methods"
msgstr ""

View file

@ -1,83 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.indication.Circumscribe.rst:2
msgid "Circumscribe"
msgstr ""
#: ../../source/reference/manim.animation.indication.Circumscribe.rst:4
msgid "Qualified name: ``manim.animation.indication.Circumscribe``"
msgstr ""
#: manim.animation.indication.Circumscribe:1 of
msgid "Bases: :class:`manim.animation.composition.Succession`"
msgstr ""
#: manim.animation.indication.Circumscribe:1 of
msgid "Draw a temporary line surrounding the mobject."
msgstr ""
#: ../../source/reference/manim.animation.indication.Circumscribe.rst
msgid "Parameters"
msgstr ""
#: manim.animation.indication.Circumscribe:3 of
msgid "The mobject to be circumscribed."
msgstr ""
#: manim.animation.indication.Circumscribe:4 of
msgid ""
"The shape with which to surrond the given mobject. Should be either "
":class:`~.Rectangle` or :class:`~.Circle`"
msgstr ""
#: manim.animation.indication.Circumscribe:6 of
msgid ""
"Whether to make the surrounding shape to fade in. It will be drawn "
"otherwise."
msgstr ""
#: manim.animation.indication.Circumscribe:7 of
msgid ""
"Whether to make the surrounding shape to fade out. It will be undrawn "
"otherwise."
msgstr ""
#: manim.animation.indication.Circumscribe:8 of
msgid ""
"The time_width of the drawing and undrawing. Gets ignored if either "
"`fade_in` or `fade_out` is `True`."
msgstr ""
#: manim.animation.indication.Circumscribe:9 of
msgid "The distance between the surrounding shape and the given mobject."
msgstr ""
#: manim.animation.indication.Circumscribe:10 of
msgid "The color of the surrounding shape."
msgstr ""
#: manim.animation.indication.Circumscribe:11 of
msgid "The duration of the entire animation."
msgstr ""
#: manim.animation.indication.Circumscribe:12 of
msgid "Additional arguments to be passed to the :class:`~.Succession` constructor"
msgstr ""
#: manim.animation.indication.Circumscribe:16 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.indication.Circumscribe.rst:14
msgid "Methods"
msgstr ""

View file

@ -1,85 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.indication.Flash.rst:2
msgid "Flash"
msgstr ""
#: ../../source/reference/manim.animation.indication.Flash.rst:4
msgid "Qualified name: ``manim.animation.indication.Flash``"
msgstr ""
#: manim.animation.indication.Flash:1 of
msgid "Bases: :class:`manim.animation.composition.AnimationGroup`"
msgstr ""
#: manim.animation.indication.Flash:1 of
msgid "Send out lines in all directions."
msgstr ""
#: ../../source/reference/manim.animation.indication.Flash.rst
msgid "Parameters"
msgstr ""
#: manim.animation.indication.Flash:3 of
msgid ""
"The center of the flash lines. If it is a :class:`.~Mobject` its center "
"will be used."
msgstr ""
#: manim.animation.indication.Flash:4 of
msgid "The length of the flash lines."
msgstr ""
#: manim.animation.indication.Flash:5 of
msgid "The number of flash lines."
msgstr ""
#: manim.animation.indication.Flash:6 of
msgid "The distance from `point` at which the flash lines start."
msgstr ""
#: manim.animation.indication.Flash:7 of
msgid "The stroke width of the flash lines."
msgstr ""
#: manim.animation.indication.Flash:8 of
msgid "The color of the flash lines."
msgstr ""
#: manim.animation.indication.Flash:9 of
msgid ""
"The time width used for the flash lines. See :class:`.~ShowPassingFlash` "
"for more details."
msgstr ""
#: manim.animation.indication.Flash:10 of
msgid "The duration of the animation."
msgstr ""
#: manim.animation.indication.Flash:11 of
msgid "Additional arguments to be passed to the :class:`~.Succession` constructor"
msgstr ""
#: manim.animation.indication.Flash:15 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.indication.Flash.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.indication.Flash.rst:19:<autosummary>:1
msgid ""
":obj:`create_line_anims "
"<manim.animation.indication.Flash.create_line_anims>`"
msgstr ""

View file

@ -1,71 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.indication.FocusOn.rst:2
msgid "FocusOn"
msgstr ""
#: ../../source/reference/manim.animation.indication.FocusOn.rst:4
msgid "Qualified name: ``manim.animation.indication.FocusOn``"
msgstr ""
#: manim.animation.indication.FocusOn:1 of
msgid "Bases: :class:`manim.animation.transform.Transform`"
msgstr ""
#: manim.animation.indication.FocusOn:1 of
msgid "Shrink a spotlight to a position."
msgstr ""
#: ../../source/reference/manim.animation.indication.FocusOn.rst
msgid "Parameters"
msgstr ""
#: manim.animation.indication.FocusOn:3 of
msgid ""
"The point at which to shrink the spotlight. If it is a :class:`.~Mobject`"
" its center will be used."
msgstr ""
#: manim.animation.indication.FocusOn:4 of
msgid "The opacity of the spotlight."
msgstr ""
#: manim.animation.indication.FocusOn:5 of
msgid "The color of the spotlight."
msgstr ""
#: manim.animation.indication.FocusOn:6 of
msgid "The duration of the animation."
msgstr ""
#: manim.animation.indication.FocusOn:7 of
msgid "Additional arguments to be passed to the :class:`~.Succession` constructor"
msgstr ""
#: manim.animation.indication.FocusOn:11 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.indication.FocusOn.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.indication.FocusOn.rst:21:<autosummary>:1
msgid ""
":obj:`create_starting_mobject "
"<manim.animation.indication.FocusOn.create_starting_mobject>`"
msgstr ""
#: ../../source/reference/manim.animation.indication.FocusOn.rst:23
msgid "Attributes"
msgstr ""

View file

@ -1,27 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.indication.ShowCreationThenFadeOut.rst:2
msgid "ShowCreationThenFadeOut"
msgstr ""
#: ../../source/reference/manim.animation.indication.ShowCreationThenFadeOut.rst:4
msgid "Qualified name: ``manim.animation.indication.ShowCreationThenFadeOut``"
msgstr ""
#: manim.animation.indication.ShowCreationThenFadeOut:1 of
msgid "Bases: :class:`manim.animation.composition.Succession`"
msgstr ""
#: ../../source/reference/manim.animation.indication.ShowCreationThenFadeOut.rst:14
msgid "Methods"
msgstr ""

View file

@ -1,60 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.indication.ShowPassingFlash.rst:2
msgid "ShowPassingFlash"
msgstr ""
#: ../../source/reference/manim.animation.indication.ShowPassingFlash.rst:4
msgid "Qualified name: ``manim.animation.indication.ShowPassingFlash``"
msgstr ""
#: manim.animation.indication.ShowPassingFlash:1 of
msgid "Bases: :class:`manim.animation.creation.ShowPartial`"
msgstr ""
#: manim.animation.indication.ShowPassingFlash:1 of
msgid "Show only a sliver of the VMobject each frame."
msgstr ""
#: manim.animation.indication.ShowPassingFlash.finish of
msgid "Parameters"
msgstr ""
#: manim.animation.indication.ShowPassingFlash:3 of
msgid "The mobject whose stroke is animated."
msgstr ""
#: manim.animation.indication.ShowPassingFlash:4 of
msgid "The length of the sliver relative to the length of the stroke."
msgstr ""
#: manim.animation.indication.ShowPassingFlash:7 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.indication.ShowPassingFlash.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.indication.ShowPassingFlash.finish:1
#: manim.animation.indication.ShowPassingFlash.finish:1:<autosummary>:1 of
msgid "Finish the animation."
msgstr ""
#: manim.animation.indication.ShowPassingFlash.finish:3 of
msgid "This method gets called when the animation is over."
msgstr ""
#: manim.animation.indication.ShowPassingFlash.finish of
msgid "Return type"
msgstr ""

View file

@ -1,29 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.indication.ShowPassingFlashWithThinningStrokeWidth.rst:2
msgid "ShowPassingFlashWithThinningStrokeWidth"
msgstr ""
#: ../../source/reference/manim.animation.indication.ShowPassingFlashWithThinningStrokeWidth.rst:4
msgid ""
"Qualified name: "
"``manim.animation.indication.ShowPassingFlashWithThinningStrokeWidth``"
msgstr ""
#: manim.animation.indication.ShowPassingFlashWithThinningStrokeWidth:1 of
msgid "Bases: :class:`manim.animation.composition.AnimationGroup`"
msgstr ""
#: ../../source/reference/manim.animation.indication.ShowPassingFlashWithThinningStrokeWidth.rst:14
msgid "Methods"
msgstr ""

View file

@ -1,85 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.indication.Wiggle.rst:2
msgid "Wiggle"
msgstr ""
#: ../../source/reference/manim.animation.indication.Wiggle.rst:4
msgid "Qualified name: ``manim.animation.indication.Wiggle``"
msgstr ""
#: manim.animation.indication.Wiggle:1 of
msgid "Bases: :class:`manim.animation.animation.Animation`"
msgstr ""
#: manim.animation.indication.Wiggle:1 of
msgid "Wiggle a Mobject."
msgstr ""
#: ../../source/reference/manim.animation.indication.Wiggle.rst
msgid "Parameters"
msgstr ""
#: manim.animation.indication.Wiggle:3 of
msgid "The mobject to wiggle."
msgstr ""
#: manim.animation.indication.Wiggle:5 of
msgid "The factor by which the mobject will be temporarily scaled."
msgstr ""
#: manim.animation.indication.Wiggle:6 of
msgid "The wiggle angle."
msgstr ""
#: manim.animation.indication.Wiggle:7 of
msgid "The number of wiggles."
msgstr ""
#: manim.animation.indication.Wiggle:8 of
msgid "The point about which the mobject gets scaled."
msgstr ""
#: manim.animation.indication.Wiggle:9 of
msgid "The point around which the mobject gets rotated."
msgstr ""
#: manim.animation.indication.Wiggle:10 of
msgid "The duration of the animation"
msgstr ""
#: manim.animation.indication.Wiggle:13 of
msgid "Examples"
msgstr ""
#: ../../source/reference/manim.animation.indication.Wiggle.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.indication.Wiggle.rst:20:<autosummary>:1
msgid ""
":obj:`get_rotate_about_point "
"<manim.animation.indication.Wiggle.get_rotate_about_point>`"
msgstr ""
#: ../../source/reference/manim.animation.indication.Wiggle.rst:20:<autosummary>:1
msgid ""
":obj:`get_scale_about_point "
"<manim.animation.indication.Wiggle.get_scale_about_point>`"
msgstr ""
#: ../../source/reference/manim.animation.indication.Wiggle.rst:20:<autosummary>:1
msgid ""
":obj:`interpolate_submobject "
"<manim.animation.indication.Wiggle.interpolate_submobject>`"
msgstr ""

View file

@ -1,43 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.movement.Homotopy.rst:2
msgid "Homotopy"
msgstr ""
#: ../../source/reference/manim.animation.movement.Homotopy.rst:4
msgid "Qualified name: ``manim.animation.movement.Homotopy``"
msgstr ""
#: manim.animation.movement.Homotopy:1 of
msgid "Bases: :class:`manim.animation.animation.Animation`"
msgstr ""
#: manim.animation.movement.Homotopy:1 of
msgid "Homotopy is a function from (x, y, z, t) to (x', y', z')"
msgstr ""
#: ../../source/reference/manim.animation.movement.Homotopy.rst:14
msgid "Methods"
msgstr ""
#: ../../source/reference/manim.animation.movement.Homotopy.rst:19:<autosummary>:1
msgid ""
":obj:`function_at_time_t "
"<manim.animation.movement.Homotopy.function_at_time_t>`"
msgstr ""
#: ../../source/reference/manim.animation.movement.Homotopy.rst:19:<autosummary>:1
msgid ""
":obj:`interpolate_submobject "
"<manim.animation.movement.Homotopy.interpolate_submobject>`"
msgstr ""

View file

@ -1,61 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"POT-Creation-Date: 2021-09-16 14:16+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
#: ../../source/reference/manim.animation.movement.MoveAlongPath.rst:2
msgid "MoveAlongPath"
msgstr ""
#: ../../source/reference/manim.animation.movement.MoveAlongPath.rst:4
msgid "Qualified name: ``manim.animation.movement.MoveAlongPath``"
msgstr ""
#: manim.animation.movement.MoveAlongPath:1 of
msgid "Bases: :class:`manim.animation.animation.Animation`"
msgstr ""
#: manim.animation.movement.MoveAlongPath:1 of
msgid ""
"Make one mobject move along the path of another mobject. .. rubric:: "
"Example"
msgstr ""
#: ../../source/reference/manim.animation.movement.MoveAlongPath.rst:14
msgid "Methods"
msgstr ""
#: manim.animation.movement.MoveAlongPath.interpolate_mobject:1:<autosummary>:1
#: of
msgid ""
":obj:`interpolate_mobject "
"<manim.animation.movement.MoveAlongPath.interpolate_mobject>`"
msgstr ""
#: manim.animation.movement.MoveAlongPath.interpolate_mobject:1
#: manim.animation.movement.MoveAlongPath.interpolate_mobject:1:<autosummary>:1
#: of
msgid "Interpolates the mobject of the :class:`Animation` based on alpha value."
msgstr ""
#: manim.animation.movement.MoveAlongPath.interpolate_mobject of
msgid "Parameters"
msgstr ""
#: manim.animation.movement.MoveAlongPath.interpolate_mobject:3 of
msgid ""
"A float between 0 and 1 expressing the ratio to which the animation is "
"completed. For example, alpha-values of 0, 0.5, and 1 correspond to the "
"animation being completed 0%, 50%, and 100%, respectively."
msgstr ""
#: manim.animation.movement.MoveAlongPath.interpolate_mobject of
msgid "Return type"
msgstr ""

Some files were not shown because too many files have changed in this diff Show more