You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(README): upgrade documentation in README (#13)
* chore(README): upgrade in the README documentation
* chore(README): upgrade in the README documentation
* fix(README): typo in emoji
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(README): typo in emoji (bis)
* fix: toc link
* fix: few typos found by LT
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Tool for live presentations using either [manim-community](https://www.manim.community/) or [manimgl](https://3b1b.github.io/manim/). `manim-slides`will automatically detect the one you are using!
8
+
Tool for live presentations using either [Manim (community edition)](https://www.manim.community/) or [ManimGL](https://3b1b.github.io/manim/). Manim Slides will *automatically* detect the one you are using!
9
9
10
10
> **_NOTE:_** This project extends the work of [`manim-presentation`](https://github.com/galatolofederico/manim-presentation), with a lot more features!
11
11
12
-
## Install
12
+
-[Install](#install)
13
+
*[Dependencies](#dependencies)
14
+
*[Pip install](#pip-install)
15
+
*[Install From Repository](#install-from-repository)
16
+
-[Usage](#usage)
17
+
*[Basic Example](#basic-example)
18
+
*[Key Bindings](#key-bindings)
19
+
*[Other Examples](#other-examples)
20
+
-[Features and Comparison with Original manim-presentation](#features-and-comparison-with-original-manim-presentation)
21
+
-[Contributing](#contributing)
13
22
14
-
```
23
+
## Installation
24
+
25
+
While installing Manim Slides and its dependencies on your global Python is fine, I recommend using a [virtualenv](https://docs.python.org/3/tutorial/venv.html) for a local installation.
26
+
27
+
### Dependencies
28
+
29
+
Manim Slides requires either Manim or ManimGL to be installed. Having both packages installed is fine too.
30
+
31
+
If none of those packages are installed, please refer to their specifc installation guidelines:
call `self.pause()` when you want to pause the playback and wait for an input to continue (check the keybindings).
52
+
> *Note:* the `-e` flag allows you to edit the files, and observe the changes directly when using Manim Slides
53
+
54
+
## Usage
55
+
56
+
Using Manim Slides is a two-step process:
57
+
1. Render animations using `Slide` (resp. `ThreeDSlide`) as a base class instead of `Scene` (resp. `ThreeDScene`), and add calls to `self.pause()` everytime you want to create a new slide.
58
+
2. Run `manim-slides` on rendered animations and display them like a *Power Point* presentation.
59
+
60
+
### Basic Example
61
+
30
62
31
63
Wrap a series of animations between `self.start_loop()` and `self.stop_loop()` when you want to loop them (until input to continue):
64
+
32
65
```python
66
+
# example.py
67
+
33
68
from manim import*
34
69
# or: from manimlib import *
35
70
from manim_slides import Slide
@@ -40,105 +75,103 @@ class Example(Slide):
40
75
dot = Dot()
41
76
42
77
self.play(GrowFromCenter(circle))
43
-
self.pause()
78
+
self.pause()# Waits user to press continue to go to the next slide
You can run the **configuration wizard**to change those key bindings:
77
126
78
-
```
127
+
```bash
79
128
manim-slides wizard
80
129
```
81
130
82
-
Alternatively you can specify different keybindings creating a file named `.manim-slides.json` with the keys: `QUIT``CONTINUE``BACK``REVERSE``REWIND` and `PLAY_PAUSE`.
131
+
Alternatively you can specify different key bindings creating a file named `.manim-slides.json` with the keys: `QUIT``CONTINUE``BACK``REVERSE``REWIND` and `PLAY_PAUSE`.
83
132
84
133
A default file can be created with:
85
-
```
134
+
135
+
```bash
86
136
manim-slides init
87
137
```
88
138
89
139
> **_NOTE:_**`manim-slides` uses `cv2.waitKeyEx()` to wait for keypresses, and directly registers the key code.
| Tested on Unix, macOS, and Windows |:heavy_check_mark:|:heavy_multiplication_x:|
126
170
127
-
-[x] Allowing multiple keys to control one action (useful when you use a laser pointer)
128
-
-[x] More robust config files checking
129
-
-[x] Dependencies are installed with the package
130
-
-[x] Only one cli (to rule them all)
131
-
-[x] User can easily generate dummy config file
132
-
-[x] Config file path can be manually set
133
-
-[x] Play animation in reverse [#9](https://github.com/galatolofederico/manim-presentation/issues/9)
134
-
-[x] Handle 3D scenes out of the box
135
-
-[x] Support for both `manim` and `manimgl` modules
136
-
-[ ] Generate docs online
137
-
-[x] Fix the quality problem on Windows platforms with `fullscreen` flag
138
171
139
-
## Contributions and license
172
+
## Contributing
140
173
141
-
The code is released as Free Software under the [GNU/GPLv3](https://choosealicense.com/licenses/gpl-3.0/) license. Copying, adapting and republishing it is not only consent but also encouraged.
0 commit comments