* 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>
* feat(cli): add more debugging messages
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(lib): fix msg to be more correct
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(version): setup dummy version
chore(version): fix
* chore(ci): udpate version in __version__ too
* chore(version): revert changes
---------
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>
* fix(cli): do not terminate slides early
When a slide is replayed (either normally or reversed), its state must be reset.
Closes#161
* [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(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
* wip: start at index
* feat(cli): add start at index options
* fix(ci): correct callback
* chore(ci): fix type hint
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(cli): typo in variable name...
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(lib): reduce import overhead
This PR should reduce the import time overhead caused by manim imports. To solve this, manim is only imported when Slide or ThreeDSlide is needed. A custom logger is now defined, which copies the one from Manim Community. FFMPEG_BIN is now hardcoded, but should be configurable in the future via the CLI or some config file.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(lib): remove last .manim import
* fix(lib): remove print
* chore(lib): fix typo
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* wip(lib): change os.path to pathlib.Path
* chore(lib): use pathlib.Path instead of str
* fix(logger): convert Path to str
* chore(lint): add type hint to prevent future errors
* fix(lib): correct suffix addition
As suggested by PySide6's documentation, we avoid using pixmap.scaled() on every frame, but use scaled content to resize the image. This seems to ignore ratio, explaining why we need a new option flag.
* chore(deps): drop support for Python 3.7
In link with the recent release of [Manim v0.17.0](https://github.com/ManimCommunity/manim/releases/tag/v0.17.0), Manim Slides drops support for Python 3.7.
* feat(cli): check for newer Manim Slides version
Uses same logic as manim to check for a new version
* fix(lib): reset correct version
* fix(ci): add type stubs for requests
* chore(speed): avoid unnecessary color conversion
This speeds up a bit the presentation by avoiding color conversion from BGR (OpenCV) to RGB.
* [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: unused imports, hide tab warning for the str
* refactor(defaults.py): move revealjs_template to separate file
* fix(lib): move data files and use pkg_resources
* fix(lib): remove unused and unexisting import
* fix(ci): only test conversion with Manim
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(ci): test ManimGL on Python 3.10, not 3.11
* fix(lib): include package data in setup.py
* fix(ci): no fail-fast
* fix(ci): typo
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* 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>
* feat: add option for background color
This allows to define the background color used for border when resize mode is set to "keep".
Closes#52
* [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 adds a new option that allows to control how the video is going to be scaled. By default, we now use a smooth rescaling, but fast mode with no interpolation can be used (previously default).
* Mouse Show/Hide feature
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Mouse Hide/Show Fix
Applied requested changes for PR
* [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>
Co-authored-by: Jérome Eertmans <jeertmans@icloud.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): properly rewind / previous slide after reverse
Closes#24
* [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(cli): record presentation
As proposed in #21, it is now possible to record a presentation output to a video file, with option `--record-to="some_file.avi"`.
Closes#21
* [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(ui): enhance window quality
This fix always resizes the frame size, as this seems to be a good cross-platform fix to the quality issue that occurs when the frame does not match the window size.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: remove unused import
* fix: actually only resize on Windows
* feat(cli): optional interpolation flag
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore: add image fox windows quality fix
* chore(README): document Windows fix
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
* fix(cli): resize only on fullscreen
Closes#10
* [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(ci): test builds on multiple oses
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: add tqdm to setup
* chore(ci): test builds on multiple oses
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: install deps in two steps
* fix(bug): allows shape to be 2 or 3 dims
* release new version
* chore(ci): test builds on multiple oses
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(ci): test builds on multiple oses
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: install deps in two steps
* fix: deps string
* fix: ci
* fix: single quote strings
* fix: choco install manimce
* Add pyopengl
* Update test_examples.yml
* fix: custom 3d example for manimgl
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: virtual frame buffer
* fix: add ffmpeg dep
* feat(cli): add skip-all option for testing
* chore(lint): black fmt
* fix: typo in deps
* fix: python -m pip install
* fix: typo
* Update test_examples.yml
* fix: try fix
* fix: pip install --user
* pip install -e
* only on windows
* fix: tmp fix
* fix: typo in int parsing
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update test_examples.yml
* Update __version__.py
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>