Back to Manim

v0.2.0

docs/source/changelog/0.2.0-changelog.rst

0.20.14.5 KB
Original Source

v0.2.0


:Date: January 1, 2021

The changes since Manim Community release v0.1.1 are listed below.

Breaking Changes

  • Remove all CONFIG dictionaries and all calls to digest_config and allow passing options directly to the constructor of the corresponding classes (:pr:783).

    Practically, this means that old constructions using CONFIG like::

    class SomeMobject(Thing):
        CONFIG = {
            "my_awesome_property": 42
        }
    

    where corresponding objects were then instantiated as my_mobject = SomeMobject() should now be created simply using my_mobject = SomeMobject(my_awesome_property=42).

  • Remove old syntax for animating mobject methods by passing the methods and arguments to self.play, and use a new syntax featuring the animate property (:pr:881).

    For example: the old-style play call ::

    self.play(my_square.shift, LEFT)
    

    should be replaced with the new following call using the animate property::

    self.play(my_square.animate.shift(LEFT))
    

New Features

  • Added creation animation for :class:~.ManimBanner (:pr:814)
  • Added some documentation to :meth:~.Scene.construct (:pr:753)
  • Added a black and white monochromatic version of Manim's logo (:pr:826)
  • Added support for a plugin system (manim plugin subcommand + documentation) (:pr:784)
  • Implemented __add__, __iadd__, __sub__, and __isub__ for :class:~.Mobject (allowing for notation like some_vgroup + some_mobject) (:pr:790)
  • Added type hints to several files in the library (:pr:835)
  • Added some examples to :mod:~.animation.creation (:pr:820)
  • Added some examples to :class:~.DashedLine and :class:~.CurvesAsSubmobjects (:pr:833)
  • Added new implementation for text rendered with Pango, :class:~.MarkupText, which can be formatted with an HTML-like syntax (:pr:855)
  • Added Fading in and out examples and deprecation of FadeInFromDown and FadeOutAndShiftDown (:pr:827)
  • Added example for :class:~.MoveAlongPath to the docs (:pr:873)
  • Added ambient rotate for other angles - theta, phi, gamma (:pr:660)
  • Use custom bindings for Pango (:pr:878)
  • Added :class:~.Graph, a basic implementation for (graph theory) graphs (:pr:861)
  • Allow for chaining methods when using the new .animate syntax in :meth:~.Scene.play (:pr:889)

Bugfixes

  • Fix doctests in .rst files (:pr:797)
  • Fix failing doctest after adding manim plugin subcommand (:pr:831)
  • Normalize the direction vector in :meth:~.mobject_update_utils.always_shift (:pr:839)
  • Add disable_ligatures to :class:~.Text (via :pr:804)
  • Make scene caching aware of order of Mobjects (:pr:845)
  • Fix :class:~.CairoText to work with new config structure (:pr:858)
  • Added missing argument to classes inheriting from :class:~.Matrix (:pr:859)
  • Fixed: z_index of mobjects contained in others as submobjects is now properly respected (:pr:872)
  • Let :meth:~.ParametricSurface.set_fill_by_checkboard return the modified surface to allow method chaining (:pr:883)
  • Mobjects added during an updater are added to Scene.moving_mobjects (:pr:838)
  • Pass background color to JS renderer (:pr:876)
  • Small fixes to docstrings. Tiny cleanups. Remove digest_mobject_attrs. (:pr:834)
  • Added closed shape detection in :class:~.DashedVMobject in order to achieve an even dash pattern (:pr:884)
  • Fix Spelling in docstrings and variables across the library (:pr:890)

Other changes

  • Change library name to manim (:pr:811)
  • Docker: use local files when building an image (:pr:803)
  • Let ffmpeg render partial movie files directly instead of temp files (:pr:817)
  • manimce to manim & capitalizing Manim in readme (:pr:794)
  • Added flowchart for different docstring categories (:pr:828)
  • Improve example in module docstring of :mod:~.animation.creation + explicitly document buff parameter in :meth:~.Mobject.arrange (:pr:825)
  • Disable CI pipeline for Python 3.6 (:pr:823)
  • Update URLs in docs (:pr:832)
  • Move upcoming changelog to GitHub-wiki (:pr:822)
  • Change badges in readme (:pr:854)
  • Exclude generated gRPC files from source control (:pr:868)
  • Added linguist-generated attribute to .gitattributes (:pr:877)
  • Cleanup: removed inheritance from object for some classes, refactor some imports (:pr:795)
  • Change several str.format() to f-strings (:pr:867)
  • Update javascript renderer (:pr:830)
  • Bump version number to 0.2.0, update changelog (:pr:894)