Changelog¶
Unreleased¶
v5.1.6¶
Added¶
Added options to skip the Manim Slides Sphinx directive. #423
Chore¶
Added an examples gallery. #422
v5.1.5¶
Chore¶
Fixed¶
Fixed broken
--show-config
command. #419
v5.1.4¶
Added¶
Added audio output to
manim-slides present
. #382
Changed¶
Added
--info-window-screen
option and change--screen-number
to not move the info window. #389
Chore¶
Fixed¶
v5.1.3¶
Chore¶
v5.1.2¶
Chore¶
Fix ReadTheDocs version flyout in iframes. #367
v5.1.1¶
Chore¶
Move documentation to ReadTheDocs for better versioning. #365
v5.1¶
Added¶
Added the
--hide-info-window
option tomanim-slides present
. #313Added the
manim-slides render
command to render slides using correct Manim installation. #317Added the
playback-rate
andreversed-playback-rate
options to slide config. #320Added the speaker notes option. #322
Added
auto
option for conversion format, which is the default. This is somewhat a breaking change, but changes to the CLI API are not considered to be very important. #325Added
return_animation
option to slide animationsself.wipe
andself.zoom
. #331Created a Docker image, published on GitHub. #355
Added
:template:
and:config_options
options to the Sphinx directive. #357
Modified¶
Chore¶
Removed subrocess calls to FFmpeg with direct
libav
bindings using theav
Python module. This should enhance rendering speed and security. #335Changed build backend to PDM and reflected on docs. #354
Dropped Python 3.8 support. #350
Made Qt backend optional and support PyQt6 too. #350
Documentated how to create and use a custom HTML template. #357
v5¶
Prior to v5, there was no real CHANGELOG other than the GitHub releases, with most of the content automatically generated by GitHub from merged pull requests.
In an effort to better document changes, this CHANGELOG document is now created.
Added¶
Added the following option aliases to
manim-slides present
:-F
and--full-screen
forfullscreen
,-H
for--hide-mouse
, and-S
for--screen-number
. #243Added a full screen key binding (defaults to F) in the presenter. #243
Added support for including code from a file in Manim Slides Sphinx directive. #261
Added the
manim_slides.slide.animation
module and created theWipe
andZoom
classes, that return a new animation. #285Added two environ variables,
MANIM_API
andFORCE_MANIM_API
, to specify theMANIM_API
to be used:manim
andmanimce
will importmanim
, whilemanimgl
andmanimlib
will importmanimlib
. If one of the two APIs is already imported, useFORCE_MANIM_API=1
to override this. #285Added a working
ThreeDSlide
class compatible withmanimlib
. #285Added
loop
option toSlide
’snext_slide
method. Callingnext_slide
will never fail anymore. #294Added
Slide.next_section
for compatibility withmanim
’sScene.next_section
method. #295Added
--next-terminates-loop
option tomanim-slides present
for turn a looping slide into a normal one, so that it ends nicely. This is useful to have a smooth transition with the next slide. #299Added
--playback-rate
option tomanim-slides present
for testing purposes. #300Added
auto_next
option toSlide
’snext_slide
method to automatically play the next slide upon terminating. Supported bypresent
andconvert --to=html
commands. #304
Changed¶
Automatically concatenate all animations from a slide into one. This is a breaking change because the config file format is different from the previous one. For migration help, see associated PR. #242
Changed the player interface to only use PySide6, and not a combination of PySide6 and OpenCV. A few features have been removed (see removed section), but the new player should be much easier to maintain and more performant, than its predecessor. #243
Changed the slide config format to exclude unnecessary information.
StypeType
is removed in favor to one booleanloop
field. This is a breaking change and one should re-render the slides to apply changes. #243Renamed key bindings in the config. This is a breaking change and one should either manually rename them (see list below) or re-init a config. List of changes:
CONTINUE
toNEXT
,BACK
toPREVIOUS
, andREWIND
toREPLAY
. #243Conversion to HTML now uses Jinja2 templating. The template file has been modified accordingly, and old templates will not work anymore. This is a breaking change. #271
Bumped RevealJS’ default version to v4.6.1, and added three new themes. #272
Changed the logger such that
make_logger
is called at module import, and we do not use Manim’s logger anymore. #285Changed
Slide.wipe
andSlide.zoom
to automatically callself.play
. This is a breaking change as callingself.play(self.wipe(...))
now raises an error (becauseNone
is not an animation). #285Changed the
manim_slides.slide
module to contain submodules, i.e.,slide.manim
,slide.manimlib
,slide.animation
. Onlyslide.animation
is part of the public API. Rules for choosing the Manim API (eithermanim
ormanimlib
) has changed, and defaults to the currently imported module, with a preference formanim
. #285
Fixed¶
Patched enums in
manim_slides/convert.py
to correctly callstr
’s__str__
method, and not theEnum
one. This bug was discovered by @alexanderskulikov in #253, caused by Python 3.11’s change in howEnum
work. #257.Fixed potential non-existing parent path issue in
manim convert
’s destination path. #262
Removed¶
Removed
--start-at-animation-number
option frommanim-slides present
. #242Removed the following options from
manim-slides present
:--resolution
,--record-to
,--resize-mode
, and--background-color
. #243Removed
PERF
verbosity level because not used anymore. #245Remove
Slide
’s methodstart_loop
andself.end_loop
in favor toself.next_slide(loop=True)
. This is a breaking change. #294