Back to Manim

v0.16.0

docs/source/changelog/0.16.0-changelog.rst

0.20.17.3 KB
Original Source

v0.16.0


:Date: July 13, 2022

Contributors

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

  • Alex Lembcke
  • Baroudi Aymen +
  • Benjamin Hackl
  • Charalampos Georgiou +
  • Cindy Park +
  • Ejar +
  • Francesco Frassinelli +
  • Francisco Manríquez Novoa +
  • Jacob Evan Shreve +
  • Jaime Santos +
  • Jonathan Alpert
  • Joshua Mankelow +
  • Kevin Lubick +
  • Laith Bahodi
  • Lingren Kong +
  • Logen +
  • Naveen M K
  • Noam Zaks
  • Pedro Lamkowski +
  • Raghav Goel
  • Simeon Widdis
  • Sparsh Goenka
  • TornaxO7 +
  • Tristan Schulz +
  • WillSoltas
  • ad_chaos
  • conor-oneill-2 +
  • fcrozatier +
  • mooncaker816 +
  • niklebedenko +
  • nyabkun +
  • quark67

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

  • Alex Lembcke
  • Benjamin Hackl
  • Darylgolden
  • Francesco Frassinelli
  • Francisco Manríquez Novoa
  • Gianluca Gippetto
  • Jan-Hendrik Müller
  • Jonathan Alpert
  • Kevin Lubick
  • Laith Bahodi
  • Naveen M K
  • Pedro Lamkowski
  • Philipp Imhof
  • Raghav Goel
  • Ryan McCauley
  • Sparsh Goenka
  • TornaxO7
  • Tristan Schulz
  • ad_chaos
  • hickmott99

Pull requests merged

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

Highlights

  • :pr:2550: New thematic guide: a deep dive into the internals of the library This new :doc:thematic guide </guides/deep_dive> aims to be a comprehensive walkthrough describing all the things that Manim does when you run it to produce a video.

  • :pr:2732: Improved overall structure of deployed documentation; added a dedicated :doc:FAQ section </faq/index>

  • :pr:2749: Added :class:.ChangeSpeed, an animation wrapper that allows to smoothly change the speed at which an animation is played The speed of any animation can be changed by wrapping the animation with :class:.ChangeSpeed and passing a dictionary as speedinfo whose keys are the relative animation run time stamps and whose values are the absolute speed factors; e.g., {0.5: 2, 0.75: 0.25} smoothly speeds up the animation by a factor of 2 once it has been completed to 50%, and then it is smoothly slowed down to 1/4 of the default run speed after 75% of the animation are completed. The run_time of the animation will be adjusted to match the changed play speed.

    It is also possible to add time-based updaters that respect the change in speed, use the auxiliary :meth:.ChangeSpeed.add_updater method to do so.

New features

  • :pr:2667: Made FFmpeg executable path configurable

  • :pr:2739: Added vectorized plotting functionality via keyword argument use_vectorized to improve performance

Enhancements

  • :pr:2186: Enabled filling color by value for :class:.OpenGLSurface, replaced colors keyword argument of :meth:.Surface.set_fill_by_value with colorscale

  • :pr:2288: Added warning when attempting to add same mobject as child twice

  • :pr:2707: Fixed missing get_nth_curve_length_pieces method of :class:.OpenGLVMobject

    • Removed duplicate definition of get_curve_functions_with_lengths in OpenGLVMobject
    • Added definition of get_nth_curve_length_pieces to OpenGLVMobject
  • :pr:2709: Improved the look of the brackets of :class:.Matrix

  • :pr:2714: Fixed :meth:.OpenGLVMobject.pointwise_become_partial to improve stroke rendering

  • :pr:2727: Slight performance improvement for :class:.ArrowVectorField and Bézier curve computation

  • :pr:2728: Added :meth:.VectorField.fit_to_coordinate_system to fit a vector field to a given coordinate system

  • :pr:2730: Added note to let users find documentation of default CLI subcommand easier

  • :pr:2746: Installed ghostscript in the docker image

  • :pr:2841: Added :func:.split_quadratic_bezier and :func:.subdivide_quadratic_bezier

  • :pr:2842: CLI: Moved functionality from manim new to manim init and added deprecation warning for manim new

  • :pr:2866: Reorganize test files to match library module structure

Fixed bugs

  • :pr:2567: Use tempconfig for every scene render

  • :pr:2638: Fixed :meth:BarChart.change_bar_values not updating when height is 0

  • :pr:2661: Fixed tip resize functionality for :class:.Axes to match documentation

  • :pr:2703: Default to utf-8 when reading files in :class:.Code

  • :pr:2721: Fixed bad text slicing for lines in :class:.Paragraph

  • :pr:2725: Fixed wrong indentation in :class:.Code

  • :pr:2734: Fixed OpenGL segfaults when running :meth:.Scene.play or :meth:.Scene.wait in interactive mode

  • :pr:2753: Fixed multiplatform builds for docker images in pipeline

  • :pr:2757: Added missing __init__.py file in :mod:.docbuild module

  • :pr:2770: Fixed bug in :meth:.VMobject.proportion_from_point that caused proportions greater than 1 to be returned

  • :pr:2826: Fixed leaked mobjects coming from :class:.TransformMatchingAbstractBase

  • :pr:2870: Fixed issue with manim init scene SCENE_NAME filename.py and removed necessity of main.py to be present in working directory

  • :pr:2704: Updated URL to Pango Markup formatting page

  • :pr:2716: Improved the order of the reference manuals

  • :pr:2720: Fixed typo in docstring of :class:.Angle

  • :pr:2722: Fixed typos in docstrings of classes in :mod:.mobject.table

  • :pr:2726: Edited note on :class:.NumberPlane length and added another example

  • :pr:2740: Fixed documentation of :meth:.Cylinder.get_direction

  • :pr:2755: Fixed docstring of :meth:.VMobject.get_end_anchors

  • :pr:2760: Removed cmake from the MacOS installation section

  • :pr:2767: Added more questions and answers to FAQ section, new :doc:OpenGL FAQ </faq/opengl>

  • :pr:2771: Added documentation and testing for path_func keyword argument of :class:.Transform

  • :pr:2828: Removed suggestion issue template, added FAQ answer regarding proposing new features

  • :pr:2849: Added example for path_arc keyword argument of :class:.Transform

  • :pr:2851: Added an example on constructing a (neural) network using a partite :class:.Graph

  • :pr:2855: Added implicit docker.io/ URL base in reference to docker images

  • :pr:2861: Added docstring for :meth:.CoordinateSystem.plot_parametric_curve

Changes concerning the testing system

  • :pr:2743: Replaced assert statements with with assertion functions from np.testing

Changes to our development infrastructure

  • :pr:2700: CI: updated Python versions

  • :pr:2701: CI: added a workflow to publish docker image after releases and commits to main branch

Code quality improvements and similar refactors

  • :pr:2680: Increased minimum required version of numpy to 1.19

  • :pr:2687: Migrated from os.path to pathlib in :class:.SVGMobject and other locations

  • :pr:2715: Updated deprecated pillow constants

  • :pr:2735: Bump pyjwt from 2.3.0 to 2.4.0

  • :pr:2748: Bump pillow from 9.1.0 to 9.1.1

  • :pr:2751: Fixed flake C417 and improved a comment

  • :pr:2825: Bump notebook from 6.4.11 to 6.4.12

  • :pr:2864: Updated lockfile

New releases

  • :pr:2863: Prepared new release, v0.16.0