* 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>
* 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>
* 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>
* 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>
* 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
* 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>
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.
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
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.
* 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>
* 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>