Back to Manim

v0.9.0

docs/source/changelog/0.9.0-changelog.rst

0.20.19.2 KB
Original Source

v0.9.0


:Date: August 02, 2021

Contributors

A total of 35 people contributed to this release. People with a '+' by their names authored a patch for the first time.

  • Alex Lembcke
  • Benjamin Hackl
  • Darylgolden
  • Devin Neal
  • Harivinay +
  • Hugues Devimeux
  • Jared Hughes +
  • Jason Villanueva
  • Kadatatlu Kishore +
  • KingWampy
  • LED Me Explain +
  • Laith Bahodi
  • Mohammad Al-Fetyani
  • Noam Zaks
  • Oliver
  • PaulCMurdoch
  • Raghav Prabhakar +
  • Ryan McCauley
  • Suhail Sherif +
  • Taektiek +
  • Udeshya Dhungana +
  • UraniumCronorum +
  • Vinh H. Pham (Vincent) +
  • ccn +
  • icedcoffeeee +
  • sahilmakhijani +
  • sparshg

The patches included in this release have been reviewed by the following contributors.

  • Abhijith Muthyala
  • Alex Lembcke
  • Benjamin Hackl
  • Darylgolden
  • Devin Neal
  • Harivinay
  • Hugues Devimeux
  • Jan-Hendrik Müller
  • Jason Villanueva
  • KingWampy
  • Laith Bahodi
  • Lino
  • Mohammad Al-Fetyani
  • Oliver
  • Raghav Goel
  • Suhail Sherif
  • icedcoffeeee
  • sahilmakhijani
  • sparshg

Pull requests merged

A total of 55 pull requests were merged for this release.

Highlights

  • :pr:1677: Added a new :class:~.Table mobject 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.

Deprecated classes and functions

  • :pr:1848: Deprecated parameters for :class:~.DashedLine and :class:~.DashedVMobject

    • dash_spacing is an unused parameter
    • positive_space_ratio has been replaced with the shorter name dashed_ratio
  • :pr:1773: Remove all classes and functions that were deprecated until v0.7.0 and v0.8.0 The classes FadeInFrom, FadeOutAndShift, FadeOutToPoint, FadeInFromPoint, FadeInFromLarge, VFadeIn, VFadeOut, VFadeInThenOut have been removed, use :class:~.FadeIn or :class:~.FadeOut with appropriate keyword arguments instead.

    The classes CircleIndicate, ShowCreationThenDestruction, AnimationOnSurroundingRectangle, ShowPassingFlashAround, ShowCreationThenDestructionAround, ShowCreationThenFadeAround, WiggleOutThenIn, TurnInsideOut have been removed. Use :class:~.Circumscribe, :class:~.ShowPassingFlash, or :class:~.Wiggle instead.

    The classes OpenGLTexMobject and OpenGLTextMobject have been removed, use :class:~.MathTex and :class:~.Tex instead. Also, VMobjectFromSVGPathstring has been removed, use :class:~.SVGPathMobject instead.

    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.

  • :pr:1731: Deprecated :class:~.ParametricSurface parameters

    • u_min and u_max have been replaced by u_range.
    • v_min and v_max have been replaced by v_range.

New features

  • :pr:1780: Allow non-numerical values to be added to :class:~.NumberLine and :class:~.Axes

    • Added :meth:.NumberLine.add_labels method to :class:~.NumberLine which accepts a dictionary of positions/values.
    • :meth:.CoordinateSystem.add_coordinates now accepts a dictionary too.
  • :pr:1719: Added a :class:~.Broadcast animation

  • :pr:1765: Added a static method :meth:.Circle.from_three_points for defining a circle from three points

    • Added a new :func:~.perpendicular_bisector function in space_ops.py
  • :pr:1686: Added :meth:.ParametricSurface.set_fill_by_value 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.

Enhancements

  • :pr:1833: Added OpenGL compatibility for :class:~.VDict, :meth:~.Axes.get_line_graph and :class:~.FocusOn

  • :pr:1760: Added window_size flag to manually adjust the size of the OpenGL window Accepts a tuple in the form: x,y.

  • :pr:1823: Reworked :class:~.DashedVMobject Rewritten the logic to generate dashes

  • :pr:1808: OpenGL renderer updates

    • Adds model matrices to all OpenGLVMobjects
    • Improved performance on vectorized mobject shaders
    • Added updaters that are part of the scene rather than a mobject
  • :pr:1787: Made :class:~.DecimalNumber apply color to the ellipsis Made color apply to the dots when show_ellipsis is set to true in DecimalNumber

  • :pr:1775: Let :class:~.Create work on :class:~.OpenGLSurface

  • :pr:1757: Added warning when there is a large number of items to hash.

  • :pr:1774: Add the reverse parameter to :class:~.Write

Fixed bugs

  • :pr:1722: Fixed remover=True for :class:~.AnimationGroup

  • :pr:1727: Fixed some hot reload issues and compatibility with IDEs

    • Fixed interactive embed issue where it would fail when running on non-tty terminals
    • Fixed issue where file observer would error after the second run as the first observer was not closed
  • :pr:1844: Fixed the oversized :class:~.Code window with the OpenGL renderer

  • :pr:1821: Fixed issues concerning frame_center in :class:~.ThreeDScene

    • Changing frame_center in a :class:~.ThreeDScene now actually changes the camera position.
    • An animation with only frame_center animated will now be rendered properly.
    • A black dot is not created at the origin once frame_center is animated.
  • :pr:1826: Fixed scaling issue with :meth:.BarChart.change_bar_values

  • :pr:1839: Allow passing arguments to .animate with the OpenGL renderer

  • :pr:1791: :meth:~.Mobject.set_z_index now sets all submobjects' z_index value

  • :pr:1792: Fixed bug that caused dry runs to fail when using the PNG format

  • :pr:1790: Fixed an import from manimlib

  • :pr:1782: Fixed :class:~.Tex not working properly with the OpenGL renderer

  • :pr:1783: Fixed :meth:~.OpenGLMobject.shuffle function and added :meth:~.Mobject.invert to OpenGL

  • :pr:1786: Fixed :class:~.DecimalNumber not working properly when the number of digits changes

  • :pr:1763: Fixed not being able to set some CLI flags in the configuration file

  • :pr:1776: :meth:.CoordinateSystem.get_riemann_rectangles now uses the graph's range instead of the axes range If no range specified, get_riemann_rectangles generates the rectangles only where the area is correctly bounded

  • :pr:1770: Rewrote :meth:.OpenGLMobject.put_start_and_end_on to work correctly in 3D

  • :pr:1736: Fixed :class:~.LinearTransformationScene crashing on multiple animations

  • :pr:1852: Fixed docs for :meth:.Coordinate_system.add_coordinates and moved :class: ~.Code example

  • :pr:1807: Updated installation instructions

    • Added a warning about the incompatibility of different versions of Manim in the README
    • Modified the admonition warning in the documentation
    • Removed duplicated information from the README (pip install manim is already covered in the docs)
  • :pr:1739: Added a section on creating a custom animation to the "Manim's building blocks" tutorial

  • :pr:1835: Updated documentation with information about reworked graphical unit test system

  • :pr:1845: Improve ThreeDSurfacePlot example in example gallery

  • :pr:1842: Removed instructions on installing Poetry from Developer Installation documentation, reference Poetry's documentation instead

  • :pr:1829: Switch the order of Scoop and Chocolatey in the docs for the Windows Installation

  • :pr:1827: Added robots.txt to prevent old versions of documentation from showing in search results

  • :pr:1819: Removed mention of -h CLI flag from documentation

  • :pr:1813: Removed unused variables from tutorial

  • :pr:1815: Added codespell to the list of used linters in the contribution guidelines

  • :pr:1778: Improve sidebar structure of the documentation's reference manual

  • :pr:1749: Added documentation and example for :meth:.VMobject.set_fill

  • :pr:1743: Edited the developer installation instructions to include information on cloning the repository

  • :pr:1706: Rework example for :class:~.Variable

Changes concerning the testing system

  • :pr:1836: Converted all the graphical tests to the new syntax

  • :pr:1802: Refactored graphical unit testing system, and implemented multi frames tests 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.

Changes to our development infrastructure

  • :pr:1830: Be more concise about the documentation URL in the PR template

Code quality improvements and similar refactors

  • :pr:1851: Renamed Tabular to :class:~.Table

  • :pr:1817: Remove pillow version requirement

  • :pr:1806: Fixed spelling mistake

  • :pr:1745: Updated the BibTeX template in the README to Manim v0.9.0

New releases

  • :pr:1850: Bump version number to v0.9.0 and generate changelog