Changelog¶
Unreleased¶
Breaking Changes¶
Added
InteractiveScene(#1794)
Fixed bugs¶
New Features¶
Added specific euler angle getters (#1794)
Added start angle option to
Circle(#1794)Added
Mobject.is_touching(#1794)Added
Mobject.get_highlight(#1794)Allowed for saving and loading mobjects from file (#1794)
Added
Mobject.get_all_corners(#1794)Added
Scene.id_to_mobjectandScene.ids_to_group(#1794)Added
Scene.save_mobjectandScene.load_mobjectto allow for saving and loading mobjects from file at the Scene level (#1794)Added
InteractiveScene(#1794)Added
VHighlight(#1794)Allowed for sweeping selection (#1796)
Allowed stretched-resizing (#1796)
Added cursor location label (#1796)
Added
Mobject.deserialize(#1796)Added undo and redo stacks for scene (#1796)
Added
Mobject.looks_identical(#1802)Added equality for
ShaderWrapper(#1802)Added
Mobject.get_ancestors(#1802)Added smarter default radius to
Polygon.round_corners(#1802)Added checkpoints to
Scene(#1821)Added
crosshairtoInteractiveScene(#1821)Added
SceneState(#1821)Added
time_spanoption toAnimation(#1821)Added
Mobject.arrange_to_fit_dim(#1821)Added
DecimalNumber.get_tex(#1821)
Refactor¶
Updated parent updater status when adding updaters (#1794)
Added case for zero vectors on
angle_between_vectors(#1794)Refactored
Mobject.clear_updaters(#1794)Changed the way changing-vs-static mobjects are tracked (more details see #1794)
Refactored
Mobject.is_point_touching(#1794)Refactored
Mobject.make_movableandMobject.set_animating_statusto recurse over family (#1794)Refactored
AnimationGroup(#1794)Refactored
Scene.save_stateandScene.restore(#1794)Added
MANIM_COLORS(#1794)Changed default transparent background codec to be prores (#1794)
Simplified
Mobject.copy(#1794)Refactored
StringMobjectand relevant classes (#1795)Updates to copying based on pickle serializing (#1796 <https://github.com/3b1b/manim/commit/fe3e10acd29a3dd6f8b485c0e36ead819f2d937b>)
Removed
refresh_shader_wrapper_idfromMobject.become(#1796)Refactored
Scene.embedto play nicely with gui interactions (#1796)Made
BlankSceneinherit fromInteractiveScene(#1796)Updated behavior of -e flag to take in (optional) strings as inputs (#1796)
Refactor -e flag (#1796)
Reverted to original copying scheme (#1796)
Renamed
Mobject.is_movabletoMobject.interaction_allowed(#1796)Refreshed static mobjects on undo’s and redo’s (#1796)
Factored out event handling (#1796)
Removed
Mobject.interaction_allowed, in favor of using_is_animatingfor multiple purposes (#1796)Moved Command + z and Command + shift + z behavior to Scene (#1797)
Slight copy refactor (#1797)
When scene saves state, have it only copy mobjects which have changed (#1802)
Cleaned up
Scene.removefunction (#1802)Speed-ups to
Mobject.copy(#1802)Slight speed-up to
InteractiveScene.gather_selection(#1802)Only leave wait notes in presenter mode (#1802)
Refactored
remove_list_redundanciesandlist_update(#1821)Match updaters in
Mobject.become(#1821)Don’t show animation progress bar by default (#1821)
Handle quitting during scene more gracefully (#1821)
Made
selection_highlightrefresh with an updater (#1821)Refactored
anims_from_play_argstoprepare_animationswhich deprecating old styleself.play(mob.method, ...)(#1821)Made presenter mode hold before first play call (#1821)
Update frame on all play calls when skipping animations, so as to provide a rapid preview during scene loading (#1821)
Renamed frame_rate to fps (#1821)
Let default text alignment be decided in default_config (#1821)
Dependencies¶
Added dependency on
pyperclip(#1794)
v1.6.1¶
Fixed bugs¶
Refactor¶
v1.6.0¶
Breaking changes¶
Python 3.6 is no longer supported (#1736)
Fixed bugs¶
New features¶
Added more functions to
Text(details: #1751)Allowed
interpolateto work on an array of alpha values (#1764)Allowed
Numberline.number_to_pointandCoordinateSystem.coords_to_pointto work on an array of inputs (#1764)Added a basic
Prismifyto turn a flatVMobjectinto something with depth (#1764)Added
GlowDots, analogous toGlowDot(#1764)Added
TransformMatchingStringswhich is compatible withTextandMTex(#1772)Added support for
substringandcase_sensitiveparameters forLabelledString.get_parts_by_string(#1780)
Refactor¶
Added type hints (#1736)
Specifid UTF-8 encoding for tex files (#1748)
Refactored
Textwith the latest manimpango (#1751)Reorganized getters for
ParametricCurve(#1757)Refactored
CameraFrameto usescipy.spatial.transform.Rotation(#1764)Refactored rotation methods to use
scipy.spatial.transform.Rotation(#1764)Used
stroke_colorto initArrow(#1764)Refactored
Mobject.set_rgba_array_by_color(#1764)Made panning more sensitive to mouse movements (#1764)
Added loading progress for large SVGs (#1766)
Added getter/setter of
field_of_viewforCameraFrame(#1770)Renamed
focal_distancetofocal_dist_to_heightand added getter/setter (#1770)Added getter and setter for
VMobject.joint_type(#1770)Refactored
VCube(#1770)Refactored
Prismto receivewidth height depthinstead ofdimensions(#1770)Refactored
Text,MarkupTextandMTexbased onLabelledString(#1772)Refactored
LabelledStringand relevant classes (#1779)
v1.5.0¶
Fixed bugs¶
Bug fix for the case of calling
Writeon a null object (#1740)
New features¶
Added
TransformMatchingMTex(#1725)Added
ImplicitFunction(#1727)Added
Polyline(#1731)Allowed
Mobject.set_pointsto take in an empty list, and addedMobject.add_point(#1739)Added
Scene.refresh_locked_data(#1739)Added presenter mode to scenes with
-poption (#1739 and #1742)Allowed for an embed by hitting
ctrl+shift+eduring interaction (#1739 and #1746)Added
Mobject.set_min_width/height/depth(#1739)Allowed
Mobject.match_coord/x/y/zto take in a point (#1739)Added
text_configtoDecimalNumber(#1744)
Refactor¶
Dependencies¶
v1.4.1¶
Fixed bugs¶
v1.4.0¶
Fixed bugs¶
New features¶
Added option to add ticks on x-axis in
BarChart(#1694)Added
lable_buffconfig parameter forBrace(#1704)Added support for
rotate skewX skewYtransform in SVG (#1712)Added style support to
SVGMobject(#1717)Added parser to <style> element of SVG (#1719)
Added support for <line> element in
SVGMobject(#1719)
Refactor¶
Used
FFMPEG_BINinstead of"ffmpeg"for sound incorporation (5aa8d15)Decorated
CoordinateSystem.get_axesand.get_all_rangesas abstract method (#1709)Refactored SVG path string parser (#1712)
Allowed
Mobject.scaleto receive iterablescale_factor(#1712)Refactored
MTex(#1716)Improved config helper (
manimx --config) (#1721)Refactored
MTex(#1723)
Dependencies¶
Added dependency on python package cssselect2 (#1719)
v1.3.0¶
Fixed bugs¶
Fixed
Mobject.stretch_to_fit_depth(#1653)Fixed the bug of rotating camera (#1655)
Fixed
SurfaceMeshto be evenly spaced (c73d507)Fixed
angle_between_vectorsaddrotation_between_vectors(82bd02d)Fixed
VMobject.fade(a717314)Fixed
angle_between_vectors(fbc329d)Fixed bug in
ShowSubmobjectsOneByOne(bcd0990)Fixed bug in
TransformMatchingParts(7023548)
New features¶
Added CLI flag
--log-levelto specify log level (e10f850)Added operations (
+and*) forMobject(#1667)Added 4 boolean operations for
VMobjectinmanimx/mobject/boolean_ops.py(#1675)Union(*vmobjects, **kwargs)Difference(subject, clip, **kwargs)Intersection(*vmobjects, **kwargs)Exclusion(*vmobjects, **kwargs)
Added reflectiveness (81c3ae3)
Enabled
glow_factoronDotCloud(2c7689e)Added option
-eto insert embed line from the command line (d065e19)Improved
point_from_proportionto account for arc length (0e78027)Added shortcut
set_backstrokefor setting black background stroke (781a993)Added
Suface.always_sort_to_camera(0b898a5)Added getter methods for specific euler angles (e899604)
Hade
rotation_between_vectorshandle identical/similar vectors (407c53f)Added
Mobject.insert_submobjectmethod (49743da)Created single progress display for full scene render (9dd1f47)
Added
Circle.get_radius(264f7b1)Added
Dodecahedron(83841ae)Added
GlowDot(a1d5147)
Refactor¶
Refactored support for command
Ain path of SVG (#1662)Refactored
SingleStringTex.balance_braces(#1662)Slight tweaks to how saturation_factor works on newton-fractal (8b454fb)
Made it possible to set full screen preview as a default (317a5d6)
Used
quick_point_from_proportionfor graph points (e764da3)Made sure
Line.set_lengthreturns self (d2182b9)Better align
SurfaceMeshto the corresponding surface polygons (eea3c6b)Match
fix_in_framestatus forFlashAroundmobject (ee1594a)Made sure
Mobject.is_fixed_in_framestays updated with uniforms (ba23fbe)Made sure
skip_animationsandstart_at_animation_numberplay well together (98b0d26)Updated progress display for full scene render (f8e6e7d)
VectorizedPointshould call__init__for both super classes (8f1dfab)Used array copy when checking need for refreshing triangulation (758f329)
Dependencies¶
Added dependency on python package skia-pathops (#1675)
v1.2.0¶
Fixed bugs¶
Fixed
put_start_and_end_onin 3D (#1592)Fixed
DecimalNumber’s scaling issue (#1601)Fixed bug with common range array used for all coordinate systems (56df154)
Fixed
CoordinateSysteminit bug (8645894)Fixed bug for single-valued
ValueTracker(0dc096b)Fixed bug with SVG rectangles (54ad355)
Fixed
DotCloud.set_radii(d45ea28)Temporarily fixed bug for
PMobjectarray resizing (b543cc0)Fixed
match_style(5f878a2)Fixed negative
path_arccase (719c81d)Fixed bug with
CoordinateSystem.get_lines_parallel_to_axis(c726eb7)Fixed
ComplexPlane-i display bug (7732d2f)
New features¶
Supported the elliptical arc command
AforSVGMobject(#1598)Added
FlashyFadeIn(#1607)Save triangulation (#1607)
Added new
Codemobject (#1625)Add warnings and use rich to display log (#1637)
Added
VCube(bd356da)Supported
ValueTrackerto track vectors (6d72893)Added
set_max_width,set_max_height,set_max_depthtoMobject(3bb8f3f)Added
TracgTail(a35dd5a)Added
Scene.point_to_mobject(acba13f)Added poly_fractal shader (f84b8a6)
Added kwargs to
TipableVMobject.set_length(b24ba19)Added
Mobject.replicate(17c2772)Added mandelbrot_fractal shader (33fa76d)
Saved state before each embed (f22a341)
Allowed releasing of Textures (e10a752)
Consolidated and renamed newton_fractal shader (14fbed7)
Hade
ImageMojectremember the filepath to the Image (6cdbe0d)
Refactor¶
Changed back to simpler
Mobject.scaleimplementation (#1601)Simplified
Square(b667db2)Removed unused parameter
triangulation_locked(40290ad)Reimplemented
Arrow(8647a64)Used
make_approximately_smoothforset_points_smoothlyby default (d8378d8)Refactored to call
_handle_scale_side_effectsafter scaling takes place (7b4199c)Refactored to only call
throw_error_if_no_pointsonce forget_start_and_end(7356a36)Made sure framerate is 30 for previewed scenes (0787c4f)
Pushed
pixel_coords_to_space_coordstoWindow(c635f19)Refactored to pass tuples and not arrays to uniforms (d5a88d0)
Refactored to copy uniform arrays in
Mobject.copy(9483f26)Added
bounding_boxas exceptional key to point_cloud mobject (ed1fc4d)Made sure stroke width is always a float (329d2c6)
v1.1.0¶
Fixed bugs¶
Fixed the bug of
resize_with_interpolation()in the case oflength=0Fixed the bug of
__init__inElbowIf chosen monitor is not available, choose one that does exist
Make sure mobject data gets unlocked after animations
Fixed a bug for off-center vector fields
Had
Mobject.match_pointsreturn selfFixed chaining animation in example scenes
Fixed the default color of tip
Fixed a typo in
ShowPassingFlashWithThinningStrokeWidthFixed the default size of
TextFixed a missing import line in
mobject.pyFixed the bug in ControlsExample
Make sure frame is added to the scene when initialization
Fixed zooming directions
Rewrote
earclip_triangulationto fix triangulationAllowed sound_file_name to be taken in without extensions
New features¶
Added
VShowPassingFlashAdded
COLORMAP_3B1BAdded some methods to coordinate system to access all axes ranges
get_origin()get_all_ranges()
Added
set_color_by_rgba_func()Updated
VectorFieldandStreamLinesAllow
3b1b_colormapas an option forget_colormap_list()Return
stroke_widthas 1d arrayAdded
get_parts_by_text()Use Text not TexText for Brace
Update to Cross to make it default to variable stroke width
Added
FlashAroundandFlashUnderAllowed configuration in
Brace.get_textAdded
reorient()for quicker changes to frame angleAdded
unitstoset_euler_angles()Allowed any
VMobjectto be passed intoTransformMatchingTexRemoved double brace convention in
TexandTexTextAdded support for debugger launch
Added CLI flag
--config_fileto load configuration file manuallyAdded
tip_styletotip_configAdded
MarkupTextTake in
u_rangeandv_rangeas arguments toParametricSurfaceAdded
TrueDot