* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* replace old with new
* dropped redundant files
* replace examples in example_Scenes
* replace opengl_ in test
* ammend __init__
* opengl_compatibilty for Surface
* make resolution a tuple for opengl compat
* resolution changes in opengl.py
* rework sphere and enable dual renderer for 3d shapes
* adjust res for Torus
* actually drop file
* flip cairo_sphere resolution
* changes
* render each submobject individually
* make BraceLabel appear
* remove if config.renderer==opengl from mobject.py
* rewrite tests
* properly deprecate ParametricSurface
* revert rendering each submobject individually
* initialize OpenGLRenderer in Scene if config.renderer is opengl
* fix bases when config.renderer is changed
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* actually push test
* remove unused bounding_box + data from mobject.py
* overwrite tests
* use #1899 to switch renderer at runtime to make tests work
* attempt at fixing tests
* add renderer=cairo at the end of the test??
* rewrite failing test
* remove self.attr = self.attr for bracelabel
* remove accidental line in test
* remove unecessary bloat and make set_fill_by_value dual compatible
* update to remove deprecation warning
* add ParametricSurface to __all__
* deprecate ParametricSurface
* change some examples
* adjust docs
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>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* refactor numbers.py, numbers.py now uses font_size, adjust constants in tex_mobject.py and text_mobject, remove uses of number_scale_value in favour of font_size
* adjust PolarPlane to use font_size instead of scaling
* some of the docs have been changed to use font_size, adjust constant and add font_size to markup text
* accurate scale factors
* code mobject compatibility with font_size
* number_line now takes font_size
* make tests work
* cleanup
* deprecated test raised error, fixed
* typing for NumberLine
* fix misbehaving test
* actually fix set_value
* use native font_size scaling for text_mobject.py
* add constant and adjust BraceLabel
* fix change_label
* drop scale_factor for Title
* add some supers
* maybe fixes import issues
* numberplanetest
* the merge conflict is over and the tests run
* add test for tex_size
* some changes to the docs
* properly deprecate instead of removing
* move deprecations to __init__
* drop the config
* deprecate number_Scale_value
* update version number for deprecation
* adjust test precision
* if TYPE_CHECKING check
* adjust Using Text
* add font_size parameters for numberline and fix bug with decimal_number_config
* make set_value work with opengl
* make kwarg
* fix typo
* another typo
* change dates
* add font_size property for tex_mobjects
* _font_size instead of font_size (prep for prop)
* accidental bugfix, handle separately)
* generalize text2svg
* add font_size property for text_mobject.py
* add check for greater than 0
* Attribute error in dd_labels
* str for attr in hasattr
* rewrite and fix tests
* remove debugging print
* fix error when self.height ==0
* Apply suggestions from code review
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
* revert accidental @deprecated change
* fix error in line_spacing
* slight fixes
* use private attribute when checking for font_size in add_labels()
* raise a Value error when font_size < 0 + improve docs
* Apply suggestions from code review
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* deprecate azimuth_label_scale and use more descriptive deprecation message
* wrong number of dots for an import
* add font_size property for decimalmobject
* return to using public attribute
* remove redundant constant
* add comment
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>
* Upgrade to modern Python syntax
* [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>
* finish draft implementation
* use @wrapss to remove docs problems
* reduce complexity and add doc deprecation
* Docs deprecated_params
* add decoratos to __init__
* Add decorators to documentation
* Finish detailed docs
* Apply suggestions from code review
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* change since/until/message param docs
* Mark get_callable_info and deprecation_text_component as private
* change how until is included in warning messages
* Add The to parameter descriptions
* make params docs more readable
* make redirections docs clearer
* update dependency list
* order dependencies
* update examples
* fix dependency problem
* fix duplicate problem
* change decorator version
* updated lock file
* enhance function / method separation
* fix typo and double underscores
* rename message_ and replacement_
* Change warning to custom admonition
* remove [] as default parameters
* Remove "" around type
* fix bug and move to inspect
* doc string => docstring
* rename to deprecate
* change module docstring
* change to deprecation.py
* remove tests again
* Rename decorators.py to deprecate.py
* Update poetry.lock
* Test if deprecated class outputs the correct warning when used
* Rename deprecate to deprecation
* Shorten conditional for msg, since, util
* Specify decorator arguments in test
* Add tests for since and until as arguments
* Add test for msg argument for class
* Add test for replacement argument for class
* Remove unneeded docstring in deprecated class
* Add test for deprecate method, no args
* Update docstring examples, move deprecated method outside class
* Add test for method in class, since and message args
* Add test for deprecating nested class
* Add test for deprecated method in nested class
* Test deprecation of nested function
* Test param deprecation, only params argument
* Test deprecation of single method param
* Rename single param test method name
* Fix deprecated_params docstring whitespace
* Test parameter redirection using tuple
* Update warning msgs in deprecated_params docstring
* Test parameter redirection using lambda function
* Test param redirection from many to one
* Test param redirection from one to many
* Update Top.foo to deprecate with message
* FadeIn & FadeOut overhaul and deprecations
* Adjust examples
* Add docs
* Add simple example
* handle empty docstrings
* Update poetry.lock
* Deprecate ShowCreation using decorator to test the docs
* Test docstrings
* add examples
* Update example_scenes/basic.py
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: Ricky Chon <rickychon99@gmail.com>
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
* Add Scene.embed_2
* Don't overwrite Scene methods
* Checks
* Remove extra test
* Add docstring
* Allow rerunning the same Scene
* Allow rerunning with file changes
* Found how to kill terminal thread
* Allow for skipping part of a preview
* Add warning
* break out of the loop if no rerun is requested
* Add test shader code
* Port a shader from shadertoy
* Save in-progress work
* Add Shader and Mesh classes
* Rotation matrices
* #INSERT -> #include
* Render with Mesh instead of render groups
* Add mesh updaters and FullscreenQuad
* Beginning OrbitControls
* OribitControls working
* Attempt using a symmetric perpective projection
* Fix OrbitControls and perspective projection
* Remove unecessary changes
* Add docstring for RerunSceneHandler
* Move OrbitControls into Scene, simplify examples
* Modification to matrix code, converting attributes to homogeneous coords
* Add better camera controls
* Check depth test
* Debug some shaders
* Cleanup for PR
* Address pre-commit checks
* Review comments
* iterdir
* Fixed flake8 in files outside of manim/manim
* Removed linter/formatter workflows
* Small update to pre-commit in contributing guideline
* Better English/grammar in doc
* Added click dependency and command structure
* Refactored code for separation of concerns
* Shortened plugins command to plugin, added render options
* first draft for render -h
* First successful render using click
* Cleaned main
* Moved flush_cache to option, ran black
* Removed argparse logic, scattered print statements
* corrected tests, all passing
* merge upstream
* fixed test with click's clirunner
* Fixed doctest configuration.rst
* Temporarily add in main_utils
* Removed main_utils.parse_args, used ManimConfig.digest_args
* fixed progress bar
* Fix jupyter
* black
* Fixed incorrectly merged merge conflict
* updated README command.png image
* updated configuration.rst expected output
* Fixed test_plugins and config_file expected type
* Refixed the jupyter fix
* Apply 3/5 suggestions
Remove stray print
Improve readability of test code
Added module docs for the subcommands
* Updated `main` to `manim` for tests
* Forced `file` positional argument to be Path type
* Fixed main -> manim
* Added libpango to linux dependency
* Updated poetry.lock
* Changed configuration.rst test
* Fixed test_a_flag test
minor space issue
added media_width to configuration.rst
* Fixed fps flag in Cairo rendering
* Fixed more outdated rst in sphinx docs
Removed default for fps option, always overwrote quality
Fixed doctest control_data
* Fixed more incorrect rst orderings
* Update tests/test_commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Added suggestions
* Removed unused imports
* Reverted entry point back to main
* Update manim/_config/default.cfg
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* Adjusted ipython_magic's call to the entry_point
* Converted frame_rate to int if integer
* run black
* Fixed doctest
* Fixed issue with command name from CliRunner
* Fixed multiple video windows opening from upstream merge
* to black or not to black
* Added deprecation warning to render subcommand
* warning instead of warn
* Applied Naveen's suggestions
* Made `manim render` show the help page
* Update manim/cli/render/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update manim/cli/cfg/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update manim/cli/cfg/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update manim/cli/plugins/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Addressed some style changes
* add back in write_to_movie temporarily for OpenGL support
* Removed sound flag, deprecated use_opengl_renderer, added renderer option
* revert webgl_renderer_path removal
* Fixed cfg export
Fixed readme usage of CLI
* Flake8/black
* Fixed bug in setting renderer choice
* Removed log message due to default option
Removed default option of background color
Fixed write_to_movie flag default
* Fix log_to_file tests
* Make '-c' option for config_file, not background_color
* print colored version always
* Remove -v = --version shorthand, conflicts with verbosity
* Use subprocess.run instead of Click's CliRunner for stdout
* Refactor cli/render to use Cloup instead of click-option-group
1) There's a new file for each option group
2) render is now a cloup.Command, not a Group
Fixed issue when an animation is cached, manim can't merge the partial movie files. (#1192)
* fixed issue
* fixed tests
* Update manim/renderer/cairo_renderer.py
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* added tests
* imrpoved test
* fixed logic
* added new test
* check if the file has been outputed
* added test when caching is enabled
* fixed tests on windows
* black
* Update manim/renderer/cairo_renderer.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update tests/assert_utils.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: KingWampy <9156604+WampyCakes@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Added :ref_methods: to the manim directive (#1209)
* fix manim_directive for methods
* added ref_methods to Angle example
* black
* added new ref_methods references
* sort out ref_functions vs ref_methods in examples.rst
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Fixed issue when an animation is cached, manim can't merge the partial movie files. (#1192)
* fixed issue
* fixed tests
* Update manim/renderer/cairo_renderer.py
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* added tests
* imrpoved test
* fixed logic
* added new test
* check if the file has been outputed
* added test when caching is enabled
* fixed tests on windows
* black
* Update manim/renderer/cairo_renderer.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update tests/assert_utils.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: KingWampy <9156604+WampyCakes@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Added :ref_methods: to the manim directive (#1209)
* fix manim_directive for methods
* added ref_methods to Angle example
* black
* added new ref_methods references
* sort out ref_functions vs ref_methods in examples.rst
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Fixed unnecessary args dict
* Fixed bug that changed caching hashing result
* Revert doctest logic for fps filename output
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Gianluca Gippetto <gianluca.gippetto@gmail.com>
* Update mobject.py
* 2 test failed
* Update mobject.py
* fix set_rgba_array
* finish
* no errors with cairo so far
* SurfaceExample partially works
* SquareToCircle works
* Update opengl_mobject.py
* SurfaceExample works without Textures
* More updates
* all opengl examples work pefectly
* Update opengl_surface.py
* fix test case
* fix flake8 and refactor code
* remove all OpenGLMobject related code
* add functions from OpenGL
* remove comments
* Fix bug
* Deprecated ShowCreation in favor of Create
* Fixed Black formatting and logger error
* Fixed relative import issue of logger
* Renamed CreateThen.. calls to previous names
* Fixed __all__ classes, fixed Create inheritance
* Update manim/animation/creation.py
Move logger warning to class initializer
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Changed manimce links in the docs to docs.manim.community, replaced manimce with manim where applicable
* black is extra finicky today
Co-authored-by: Aron Fischer <cobordism@github, co-bordism@gitlab>