* wip: rewrite player
* wip(cli): new player
* wip(player): allow to close
* Auto stash before merge of "rewrite-player" and "origin/rewrite-player"
* feat(cli): new player
* chore(docs): document changes
* feat(cli): add info window
* chore(lib/cli): one video per slide
As titled, this PR changes how Manim Slides used to work by only storing one video file per slide.
Previously, a slide would store all animations that occur during the given slide. Up to now, the only "advantage" of this was that it would allow the user to know which animation is played.
But, at the cost of a very complex logic in present, just especially for reversed slides.
On top of top, all converter actually need to concatenate the animations from each slide into one, so it is now performed at rendering time.
To migrate from previous Manim Slides versions, the best is the render the slides again, using `manim render` or `manimgl render`.
Currently, it is not possible to start at a given animation anymore. However, if wanted, I may re-implement this, but this would require to change the config file again.
* fix(ci): trying to fix tests
* chore(test): renaming files
* chore(docs): remove old line from changelog
* fix(docs): typo
* fix(ci): manimgl and smarter comparison
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(lib): add canvas and features
Add canvas to slide
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(lib): improve wipe animation
Improve wipe transition by using FadeIn and FadeOut. The also allows to support introducers and removers.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(deps): bumping pydantic to V2
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(lib): validators
* fix(ci): add tests and fixes
* fix(lib): add missing mode arg
* fix(lib): change function name
* chore(tests): add more tests and use pytest
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(deps): change test deps
* chore(ci): install manim deps
* fix(ci): move to right place
* fix(lib): add custom schema
* fix(lib): validators
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Use scene background color as default
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Minor changes to feature: Read scene background
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Small fix for feature "Read bg color"
* chore(ci): add typing ignore
* fix(ci): typo
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
* feat(cli): auto detect resolution
The `present` command will now read by default the resolution of each presentation, and only change it if specified by the user.
This PR also fixes bugs introduced by #156 and previous PRs, where the transition between two presentation was not correct...
* fix(lib): better to test if not None
* feat(render): support skipping animations
Manim Slides now supports when Manim or ManimGL skip rendering some animations. All non-public attributes or methods are now named with leading __
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(lib): use `next_slide` not `pause`
This deprecates `pause` function in favor to `next_slide`, that will also be called by `next_section` in the future.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(lib): a class can now have zero slide and work
This fixes a previous issue that occured when a class didn't have any `pause`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This removes the constraint that required a Slide class to end with a animation. This was actually not needed, and could lead to confusion since `self.wait` is not an animation with ManimGL, but well with Manim.
This fix, however, still means that a calls to `self.wait` with ManimGL, after last `self.pause` call, will be ignored.
* chore(docs): improving the docs
This improves the docs as suggested by some reddit user. Now, most of Manim is documented in one place
* try: update lockfile
* chore(deps): remove duplicate key
* fix(ci): isort issue
See https://github.com/home-assistant/core/issues/86892
* fix(ci): bad identation
* fix(ci): fixing lock file
* fix(example): issue when ManimGL does not count wait as animation
* wip(cli): convert slides to html using RevealJS
* wip: convert - almost fully working
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: remove unused file
* fix: add last slides in now performed during rendering
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(ci): testing ConvertExample too
* fix: ManimGL does not consider wait as an animation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* wip: use PyQT5 for window display
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: first slide is shown
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: pushing non-working code
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: some logging
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* feat: new configuration wizard working
* fix: prevent key error
* wip: making action work
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: soon done! info + video
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: bugs in sleep and exiting
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try: offscreen
* fix: pop default value if not present
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* feat: add aspect ratio option
* chore: typing wip
* fix: now() function returns seconds, not milliseconds anymore
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(ci): add more style checks
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(ci): remove vulture as flake8 replaces it
* chore(lib): add __all__ list
* chore(ci): make flake8 happy and remove mypy
* fix: config_path is actually used in commons
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(cli): previous presentation starts last slide
This changes the previous behavior that was such that going to previous presentation (scene) would start it from zero.
* fix(README): remove non-working svgs
Seems like GitHub does not support that
* wip: onto a cleaner parser, and more robust presentation
* fix(README): remove non-working svgs
Seems like GitHub does not support that
* wip: onto a cleaner parser, and more robust presentation
* wip: some progress
* fix: this is kinda working now
* fix: repeated reversed slide
* fix: import __version__ without importing package
* fix: typing list -> List
* chore(README): update features