Back to Manim

v0.7.0

docs/source/changelog/0.7.0-changelog.rst

0.20.111.3 KB
Original Source

v0.7.0


:Date: June 01, 2021

Contributors

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

  • André +
  • Anton Ballmaier
  • Benjamin Hackl
  • Clar Fon
  • Darylgolden
  • Devin Neal
  • Hugues Devimeux
  • Iced-Tea3 +
  • Jan-Hendrik Müller
  • Jason Villanueva
  • Jerónimo Squartini +
  • KingWampy
  • Laith Bahodi
  • Max Stoumen +
  • Mohammad Al-Fetyani
  • Naveen M K
  • NeoPlato
  • Newell Jensen
  • Nikhil Garuda
  • Nikhil Sharma +
  • PaulCMurdoch +
  • Philipp Imhof
  • Raghav Goel
  • Robert West +
  • Ryan McCauley +
  • Skaft +
  • SwiddisZwei +
  • e4coder +
  • friedkeenan
  • malte-v +
  • ralphieraccoon
  • sparshg

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

  • Aathish Sivasubrahmanian
  • Abhijith Muthyala
  • Anton Ballmaier
  • Aron
  • Benjamin Hackl
  • Darylgolden
  • Devin Neal
  • GameDungeon
  • Hugues Devimeux
  • Iced-Tea3
  • Jan-Hendrik Müller
  • Jason Villanueva
  • Jerónimo Squartini
  • KingWampy
  • Laith Bahodi
  • Mark Miller
  • Mohammad Al-Fetyani
  • Naveen M K
  • Nikhil Garuda
  • Oliver
  • Philipp Imhof
  • Raghav Goel
  • Ricky Chon
  • Ryan McCauley
  • Skaft
  • SwiddisZwei
  • e4coder
  • friedkeenan
  • ralphieraccoon
  • sparshg

Pull requests merged

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

Breaking changes

  • :pr:1521: Improve :class:~.Animation docs

    • Improve documentation of the :class:~.Animation class.
    • Unify the signature of get_all_mobjects. Now it always returns a sequence of :class:Mobjects <.Mobject>. This breaks using FadeTransform.get_all_mobjects as Group.
  • :pr:1470: Drop support for Python 3.6 Manim won't work on Python 3.6 anymore.

Highlights

  • :pr:1447: Added :class:~.PolarPlane for polar coordinates.

  • :pr:1490: Added :class:~.Polygram, rework the polygon inheritance tree, and add :class:~.Star

    • Add :class:~.Polygram, a generalized :class:~.Polygon that allows for disconnected sets of edges.
    • Make :class:~.Polygon inherit from :class:~.Polygram.
    • Add :func:~.regular_vertices
    • Add :class:~.RegularPolygram.
    • Make :class:~.RegularPolygon inherit from :class:~.RegularPolygram.
    • Add :class:~.Star.
  • :pr:1462: OpenGL: Added :class:~.Shader, :class:~.Mesh, and :class:~.FullScreenQuad Add Shader and Mesh objects

  • :pr:1418: Added project management commands

    • manim init - quickly sets up default files for a manim project.
    • manim new project - lets the user set project settings. It also creates the project inside a new folder of name <project_name>
    • manim new scene - used to quickly insert new scenes into files. If file name is not provided main.py is used as default.

Deprecated classes and functions

  • :pr:1598: Update examples to use :class:~.Axes and deprecate :class:~.GraphScene :class:~.GraphScene has been deprecated and its functionality has been shifted to :class:~.Axes. See the updated example gallery for sample usage.

  • :pr:1454: Fading module enhancements Moved functionality of all Fading classes to :class:~.FadeIn and :class:~.FadeOut. All other fading classes have been deprecated.

  • :pr:1375: Deleted the deprecated ShowCreation in favor of :class:~.Create

New features

  • :pr:1566: Added the ability to add gridlines to a :class:~.Rectangle

  • :pr:1548: Added :class:~.ArcBrace, a subclass of :class:~.Brace.

  • :pr:1559: Update VGroup to support item assignment (#1530) Support indexed item-assignment for VGroup

  • :pr:1518: Allow fading multiple Mobjects in one Animation

  • :pr:1422: Added :func:~.override_animation decorator

  • :pr:1504: Color module enhancements

    • Replaced BLUE_E with what was previously DARK_BLUE and removed DARK_BLUE
    • Added alias LIGHTER_GRAY for GRAY_A
    • Added PURE_RED, PURE_BLUE and renamed GREEN_SCREEN to PURE_GREEN
    • All gray colors are now also available using British spelling (including GREY_BROWN)
    • Replaced color example in the docs. It can now be used as a quick reference for all color names.
  • :pr:1272: Implement metaclass approach in geometry module to make mobjects compatible with cairo and opengl rendering

  • :pr:1404: Added two deprecation decorators Added two function decorators deprecated and deprecated_params as a consistent way of deprecating code.

Enhancements

  • :pr:1572: OpenGL compatibility via metaclass: :class:~.TracedPath, :class:~.ParametricFunction, :class:~.Brace, :class:~.VGroup

  • :pr:1472: Porting methods from :class:~.GraphScene to :class:~.CoordinateSystem

  • :pr:1589: OpenGL compatibility via metaclass: :class:~.ValueTracker

  • :pr:1564: Add extra notes for TeX compilation errors Add hint to use custom TexTemplate on TeX compilation errors

  • :pr:1584: Added a check for 0 in :meth:~.round_corners

  • :pr:1586: Add OpenGLMobject support to all isinstance occurrences This PR increases the support for OpenGL in the remaining animation classes and in other places where appropriate.

  • :pr:1577: Added new metaclass ConvertToOpenGL (replacing MetaVMobject), restore IntelliSense

  • :pr:1562: Improved VectorField's Nudge Accuracy Per Step Implemented the Runge-Kutta algorithm in VectorField's nudge function. This increases the accuracy as an object moves along a vector field. This also increases efficiency as the nudge function requires less loops to achieve accuracy than the previous implementation.

  • :pr:1480: Add logging info to tex errors

  • :pr:1567: Compatibility Fixes with ManimPango v0.3.0

    • ManimPango v0.3.0+ is required for Manim now.
    • Show errors from Pango when Markup isn't correct
  • :pr:1512: OpenGL compatibility via metaclass: graph

  • :pr:1511: OpenGL compatibility via metaclass: svg_mobject, text_mobject, tex_mobject

  • :pr:1502: Added center parameter to :class:~.Sphere and point parameter to :class:~.Dot3D

  • :pr:1486: Update of rate_functions Changed the picture for the non standard rate functions.

  • :pr:1495: Ported value_tracker to OpenGL

  • :pr:1382: Expand documentation, testing, and functionality of ValueTrackers; remove ExponentialValueTracker Added more documentation and inline operators to ValueTracker and ComplexValueTracker. Brought coverage for value_tracker.py to 100%. Removed ExponentialValueTracker.

  • :pr:1475: Add SVG elliptical arc support

Fixed bugs

  • :pr:1574: Fixed error when processing SVG with omitted elliptical arc command

  • :pr:1596: Fix indexing for non-whitespace tex arg separator Fixes #1568

    Fix issue when setting the arg_separator of a Tex object as a non-whitespace character(s). The method break_up_by_substrings(self) was not accounting for the separator when setting the index.

  • :pr:1588: Fixed multiple animations being saved in the same file

  • :pr:1571: Fix tests after introducing parallelization

  • :pr:1545: Fix outdated parameters for :class:LinearTransformationScene and add an example + typing.

  • :pr:1513: Fixed rotation of gradients while rotating a VMobject

    • Fixed the direction of gradient which remained the same while rotating VMobjects
    • Added rotate_sheen_direction() method in VMobject
  • :pr:1570: Output errors to stderr

  • :pr:1560: Declare *.npz *.wav *.png as binary in .gitattributes

  • :pr:1211: Refactored scene caching and fixed issue when a different hash was produced when copying a mobject in the scene Refactored internal scene-caching mechanism and fixed bug when an inconsistent hash was produced when copying a mobject.

  • :pr:1527: Improved handling of substring isolation within sqrt, and fixed a bug with transform_mismatch for the matching shape transforms

  • :pr:1526: Fix fading

  • :pr:1523: Fix multiple FadeIn / Out only working on VMobjects

  • :pr:1599: Added example for :class:~.Annulus

  • :pr:1415: New example for gallery and some docs refinements

  • :pr:1509: Copyedited Documentation Added a link to Manim Community GitHub page in for_dev.rst. Fixed :meth:~.Mobject.get_start and added roll link in building_blocks-rst Added language to code blocks in configuration.rst

  • :pr:1384: Added typings to space_ops.py Added Typehints to most of the functions

  • :pr:1500: Example for :meth:~.apply_complex_function

  • :pr:1551: Fixed the typo for Admonitions

  • :pr:1550: Restructuring of Contribution Section

  • :pr:1541: Fixing broken links and other minor doc things

  • :pr:1516: Update docs to use t_range instead of t_min and t_max in :class:~.ParametricFunction

  • :pr:1508: Update troubleshooting docs

  • :pr:1485: Added :class:~.Title example for the docs

  • :pr:1439: Cleaning Sequence typehints

  • :pr:1440: Added Scoop installation docs (Windows)

  • :pr:1452: Refine typehints at :class:~.Angle

  • :pr:1458: Refine docs of :class:~.Text ( add disable_ligatures=True for t2c)

  • :pr:1449: Added :class:~.PointCloudDot example

  • :pr:1473: Added easy example for :meth:~.arrange_in_grid

  • :pr:1402: Added typestring parser checker

  • :pr:1451: Reduce complexity of AngleExample

  • :pr:1441: Add inheritance diagrams to reference page Added inheritance diagrams to the reference page as a quick navigation method.

  • :pr:1457: Fixing broken doc links

  • :pr:1445: Remove $ from tutorial commands

Changes concerning the testing system

  • :pr:1556: Try pytest-xdist for parallelization in tests

Changes to our development infrastructure

  • :pr:1505: Add docs reference to PR template Added documentation link to the Pull Request Template.

  • :pr:1499: Updated Discord links in the docs to point towards a standardized redirect

  • :pr:1461: Build the docs - Logging

  • :pr:1481: pyproject.toml: poetry_core -> poetry-core

  • :pr:1477: Update RDT sphinx package to version 3.5.3

  • :pr:1460: Create CONTRIBUTING.md

  • :pr:1453: manim_directive: fix image links in docs - Windows Use POSIX path on Windows to link images so documentation can build locally.

Code quality improvements and similar refactors

  • :pr:1465: Added typings and description to some functions in :mod:~.coordinate_systems.

  • :pr:1552: Removed unwanted parameters in geometry Removed anchors_span_full_range, close_new_points, anchors_span_full_range, preserve_tip_size_when_scaling, mark_paths_closed and close_new_points

  • :pr:1597: Removed hilite_me and insert_line_numbers_in_html from global name space

  • :pr:1535: Update dependencies and fix tests

  • :pr:1544: Adding spell checker as a pre-commit hook

  • :pr:1542: Swapping a pango markup link in docs

  • :pr:1531: Don't use deprecated methods in deprecation.py

  • :pr:1492: Remove stray print statements introduced in #1404

  • :pr:1471: Fix Some Warnings from lgtm

Changes that needed to be reverted again

  • :pr:1606: Bring back DARK_BLUE

New releases

  • :pr:1601: Preparation for v0.7.0: added changelog and bumped version number