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¶
- #2550: New thematic guide: a deep dive into the internals of the library
This new thematic guide aims to be a comprehensive walkthrough describing all the things that Manim does when you run it to produce a video.
#2732: Improved overall structure of deployed documentation; added a dedicated FAQ section
- #2749: Added
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
ChangeSpeed
and passing a dictionary asspeedinfo
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. Therun_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
ChangeSpeed.add_updater()
method to do so.
- #2749: Added
New features¶
Enhancements¶
#2186: Enabled filling color by value for
OpenGLSurface
, replacedcolors
keyword argument ofSurface.set_fill_by_value()
withcolorscale
#2288: Added warning when attempting to add same mobject as child twice
- #2707: Fixed missing
get_nth_curve_length_pieces
method ofOpenGLVMobject
Removed duplicate definition of
get_curve_functions_with_lengths
inOpenGLVMobject
Added definition of
get_nth_curve_length_pieces
toOpenGLVMobject
- #2707: Fixed missing
#2714: Fixed
OpenGLVMobject.pointwise_become_partial()
to improve stroke rendering#2727: Slight performance improvement for
ArrowVectorField
and Bézier curve computation#2728: Added
VectorField.fit_to_coordinate_system()
to fit a vector field to a given coordinate system#2730: Added note to let users find documentation of default CLI subcommand easier
#2746: Installed ghostscript in the docker image
#2841: Added
split_quadratic_bezier()
andsubdivide_quadratic_bezier()
#2842: CLI: Moved functionality from
manim new
tomanim init
and added deprecation warning formanim new
#2866: Reorganize test files to match library module structure
Fixed bugs¶
#2567: Use tempconfig for every scene render
#2638: Fixed
BarChart.change_bar_values()
not updating when height is 0#2661: Fixed tip resize functionality for
Axes
to match documentation#2734: Fixed OpenGL segfaults when running
Scene.play()
orScene.wait()
in interactive mode#2753: Fixed multiplatform builds for docker images in pipeline
#2770: Fixed bug in
VMobject.proportion_from_point()
that caused proportions greater than 1 to be returned#2826: Fixed leaked mobjects coming from
TransformMatchingAbstractBase
#2870: Fixed issue with
manim init scene SCENE_NAME filename.py
and removed necessity ofmain.py
to be present in working directory
Changes concerning the testing system¶
#2743: Replaced
assert
statements with with assertion functions fromnp.testing
Changes to our development infrastructure¶
Code quality improvements and similar refactors¶
#2680: Increased minimum required version of
numpy
to 1.19#2687: Migrated from
os.path
topathlib
inSVGMobject
and other locations#2715: Updated deprecated
pillow
constants#2735: Bump pyjwt from 2.3.0 to 2.4.0
#2748: Bump pillow from 9.1.0 to 9.1.1
#2751: Fixed flake C417 and improved a comment
#2825: Bump notebook from 6.4.11 to 6.4.12
#2864: Updated lockfile
New releases¶
#2863: Prepared new release,
v0.16.0