Skip to content

Commit 182ff88

Browse files
committed
merge master
2 parents cb994d1 + d586b11 commit 182ff88

File tree

96 files changed

+4389
-1839
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+4389
-1839
lines changed

.github/manimdependency.json

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
11
{
2-
"windows": {
3-
"ffmpeg": "https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-4.3.1-2020-09-21-full_build.zip",
4-
"pango": "v0.1.0"
5-
}
2+
"windows": {
3+
"ffmpeg": "https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-4.3.1-2020-09-21-full_build.zip",
4+
"pango": "v0.1.0",
5+
"tinytex": [
6+
"standalone",
7+
"preview",
8+
"doublestroke",
9+
"ms",
10+
"setspace",
11+
"rsfs",
12+
"relsize",
13+
"ragged2e",
14+
"fundus-calligra",
15+
"microtype",
16+
"wasysym",
17+
"physics",
18+
"dvisvgm",
19+
"jknapltx",
20+
"wasy",
21+
"cm-super",
22+
"babel-english"
23+
]
24+
}
625
}

.github/workflows/ci.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
name: CI
22
on:
33
push:
4-
branches:
5-
- master
4+
branches:
5+
- master
66
pull_request:
7-
branches:
8-
- master
7+
branches:
8+
- master
99

1010
jobs:
1111
test:
1212
runs-on: ${{ matrix.os }}
1313
env:
14-
POETRY_VIRTUALENVS_CREATE: false
14+
POETRY_VIRTUALENVS_CREATE: false
1515
strategy:
1616
fail-fast: false
1717
matrix:
1818
os: [ubuntu-latest, macos-latest, windows-latest]
19-
python: [3.6,3.7, 3.8]
19+
python: [3.6, 3.7, 3.8]
2020

2121
steps:
2222
- name: Checkout the repository
@@ -36,8 +36,8 @@ jobs:
3636
shell: bash
3737
id: pip-cache-and-time
3838
run: |
39-
echo "::set-output name=dir::$(pip cache dir)"
40-
echo "::set-output name=date::$(/bin/date -u "+%m%Y")"
39+
echo "::set-output name=dir::$(pip cache dir)"
40+
echo "::set-output name=date::$(/bin/date -u "+%m%Y")"
4141
4242
- name: pip cache
4343
uses: actions/cache@v2
@@ -73,27 +73,31 @@ jobs:
7373
if: runner.os == 'Windows'
7474
uses: actions/cache@v2
7575
with:
76-
path: ${{ github.workspace }}\ManimCache
77-
key: ${{ runner.os }}-dependencies-ffmpeg-tinytex-${{ hashFiles('.github/manimdependency.json') }}-${{ steps.pip-cache-and-time.outputs.date }}
76+
path: ${{ github.workspace }}\ManimCache
77+
key: ${{ runner.os }}-dependencies-ffmpeg-tinytex-${{ hashFiles('.github/manimdependency.json') }}-${{ steps.pip-cache-and-time.outputs.date }}
7878

7979
- name: Download system dependencies (Windows)
8080
if: runner.os == 'Windows' && steps.cache-windows.outputs.cache-hit != 'true'
8181
run: |
8282
$ffmpegUrl = python -c "import json;print(json.load(open('.github/manimdependency.json'))['windows']['ffmpeg'])"
8383
$pangoVersion = python -c "import json;print(json.load(open('.github/manimdependency.json'))['windows']['pango'])"
84+
$tinyTexPackages = $(python -c "import json;print(' '.join(json.load(open('.github/manimdependency.json'))['windows']['tinytex']))") -Split ' '
8485
$OriPath = $env:PATH
8586
echo "Install Tinytex"
8687
Invoke-WebRequest "https://ci.appveyor.com/api/projects/yihui/tinytex/artifacts/TinyTeX.zip?job=image:%20Visual%20Studio%202019" -O "$($env:TMP)\TinyTex.zip"
8788
Expand-Archive -LiteralPath "$($env:TMP)\TinyTex.zip" -DestinationPath "$($PWD)\ManimCache\LatexWindows"
8889
$env:Path = "$($PWD)\ManimCache\LatexWindows\TinyTeX\bin\win32;$($env:PATH)"
8990
tlmgr update --self
90-
tlmgr install standalone preview doublestroke ms setspace rsfs relsize ragged2e fundus-calligra microtype wasysym physics dvisvgm jknapltx wasy cm-super babel-english
91+
foreach ($c in $tinyTexPackages){
92+
$c=$c.Trim()
93+
tlmgr install $c
94+
}
9195
$env:PATH=$OriPath
9296
echo "Completed Latex"
9397
Invoke-WebRequest "$ffmpegUrl" -O "$($env:TMP)\ffmpeg.zip"
9498
7z x "$($env:TMP)\ffmpeg.zip" -o"$($PWD)\ManimCache"
9599
Move-Item "ManimCache\ffmpeg-*" "ManimCache\FFmpeg"
96-
Invoke-WebRequest "https://github.com/ManimCommunity/manim-windows/releases/download/$($pangoVersion)/pango-windows-binaires-x64.zip" -O "$($env:TMP)\Pango.zip"
100+
Invoke-WebRequest "https://github.com/ManimCommunity/pango-windows-binaries/releases/download/$($pangoVersion)/pango-windows-binaires-x64.zip" -O "$($env:TMP)\Pango.zip"
97101
mkdir "$($PWD)\ManimCache\Pango"
98102
7z x "$($env:TMP)\Pango.zip" -o"$($PWD)\ManimCache\Pango"
99103

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ docs/_build/
5858
docs/build/
5959
docs/source/_autosummary/
6060
docs/source/reference/
61+
docs/source/_build/
6162

6263
# PyBuilder
6364
target/

README.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,26 @@ Manim is an animation engine for explanatory math videos. It's used to create pr
1010

1111
> NOTE: This repository is maintained by the Manim Community, and is not associated with Grant Sanderson or 3Blue1Brown in any way (though we are definitely indebted to him for providing his work to the world). If you want to study how Grant makes his videos, head over to his repository (3b1b/manim). This is a more frequently updated repository than that one, and is recommended if you want to use Manim for your own projects.
1212
13-
1413
## Table of Contents:
14+
1515
- [Installation](#installation)
1616
- [Usage](#usage)
1717
- [Documentation](#documentation)
1818
- [Help with Manim](#help-with-manim)
1919
- [Contributing](#contributing)
2020
- [License](#license)
2121

22-
2322
## Installation
2423

2524
Manim has a few dependencies that need to be installed before it. Please visit
2625
the
2726
[documentation](https://manimce.readthedocs.io/en/latest/installation.html)
2827
and follow the instructions according to your operating system.
2928

30-
3129
## Usage
3230

3331
Here is an example manim script:
32+
3433
```python
3534
from manim import *
3635

@@ -47,18 +46,18 @@ class SquareToCircle(Scene):
4746
self.play(FadeOut(square))
4847
```
4948

50-
Save this code in a file called `example.py`. Now open your terminal in the
49+
Save this code in a file called `example.py`. Now open your terminal in the
5150
folder where you saved the file and execute
51+
5252
```sh
5353
manim example.py SquareToCircle -pl
5454
```
5555

5656
You should see your video player pop up and play a simple scene where a square
57-
is transformed into a circle. You can find some more simple examples in the
57+
is transformed into a circle. You can find some more simple examples in the
5858
[GitHub repository](https://github.com/ManimCommunity/manim/tree/master/example_scenes).
5959
Visit the [official gallery](https://manimce.readthedocs.io/en/latest/examples.html) for more advanced examples.
6060

61-
6261
## Command line arguments
6362

6463
The general usage of manim is as follows:
@@ -68,33 +67,33 @@ The general usage of manim is as follows:
6867
The `-p` flag in the command above is for previewing, meaning the video file will automatically open when it is done rendering. The `-l` flag is for a faster rendering at a lower quality.
6968

7069
Some other useful flags include:
71-
* `-s` to skip to the end and just show the final frame.
72-
* `-n <number>` to skip ahead to the `n`'th animation of a scene.
73-
* `-f` show the file in the file browser.
70+
71+
- `-s` to skip to the end and just show the final frame.
72+
- `-n <number>` to skip ahead to the `n`'th animation of a scene.
73+
- `-f` show the file in the file browser.
7474

7575
For a thorough list of command line arguments, visit the
7676
[documentation](https://manimce.readthedocs.io/en/latest/tutorials/configuration.html).
7777

78-
7978
## Documentation
80-
Documentation is in progress at [ReadTheDocs](https://manimce.readthedocs.io/en/latest/).
8179

80+
Documentation is in progress at [ReadTheDocs](https://manimce.readthedocs.io/en/latest/).
8281

8382
## Help with Manim
83+
8484
If you need help installing or using Manim, please take a look at [the Reddit
8585
Community](https://www.reddit.com/r/manim) or the [Discord
86-
Community](https://discord.gg/mMRrZQW). For bug reports and feature requests,
86+
Community](https://discord.gg/mMRrZQW). For bug reports and feature requests,
8787
please open an issue.
8888

89-
9089
## Contributing
90+
9191
Is always welcome. In particular, there is a dire need for tests and
9292
documentation. For guidelines please see the
9393
[documentation](https://manimce.readthedocs.io/en/latest/contributing.html).
9494
This project uses [Poetry](https://python-poetry.org/docs/) for management. You need to have poetry installed and available in your environment.
9595
You can find more information about it in its [Documentation](https://manimce.readthedocs.io/en/latest/installation/for_dev.html)
9696

97-
9897
## License
9998

10099
The software is double-licensed under the MIT license, with copyright

docs/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Sphinx==3.1.2
22
guzzle-sphinx-theme
33
recommonmark>=0.5.0
4+
sphinx-copybutton

docs/source/_static/custom.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,8 @@ img {
2828
padding: 14px 0 14px 20px;
2929
margin: 20px 0;
3030
}
31+
32+
div.example-reference {
33+
background-color: #dff0d8;
34+
border: 1px solid #3c763d;
35+
}
Lines changed: 87 additions & 0 deletions
Loading
127 KB
Loading

docs/source/_templates/logo-text.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<img src="{{ pathto('_static/manim-logo-sidebar.svg', 1) }}" alt="ManimCommunity logo" width="100%">
2+
<a href="{{ homepage() }}" class="text-logo">{{ theme_project_nav_name or shorttitle }}</a>

docs/source/changelog.rst

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,33 @@
22
Changelog
33
*********
44

5-
manimce-v1.0.0-dev
5+
6+
v0.2.0
67
==================
78

89
:Date: TBD
910

11+
Changes since Manim Community release v0.1.0
12+
13+
14+
15+
Mobjects, Scenes, and Animations
16+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
17+
18+
#. The ``alignment`` attribute to Tex and MathTex has been removed in favour of ``tex_environment``.
19+
20+
21+
22+
23+
24+
25+
26+
27+
v0.1.0
28+
==================
29+
30+
:Date: October 21, 2020
31+
1032
This is the first release of manimce after forking from 3b1b/manim. As such,
1133
developers have focused on cleaning up and refactoring the codebase while still
1234
maintaining backwards compatibility wherever possible.
@@ -20,7 +42,7 @@ Command line
2042
^^^^^^^^^^^^
2143

2244
#. Output of 'manim --help' has been improved
23-
#. Implement logging with the :code:`rich` library and a :code:`logger` object instead of plain ol` prints
45+
#. Implement logging with the :code:`rich` library and a :code:`logger` object instead of plain ol' prints
2446
#. Added a flag :code:`--dry_run`, which doesn’t write any media
2547
#. Allow for running manim with :code:`python3 -m manim`
2648
#. Refactored Tex Template management. You can now use custom templates with command line args using :code:`--tex_template`!
@@ -42,6 +64,16 @@ Config system
4264
#. Implement a :code:`manim.cfg` config file system, that consolidates the global configuration, the command line argument parsing, and some of the constants defined in :code:`constants.py`
4365
#. Added utilities for manipulating Manim’s :code:`.cfg` files.
4466
#. Added a subcommand structure for easier use of utilities managing :code:`.cfg` files
67+
#. Also some variables have been moved from ``constants.py`` to the new config system:
68+
69+
#. ``FRAME_HEIGHT`` to ``config["frame_width"]``
70+
#. ``TOP`` to ``config["frame_height"] / 2 * UP``
71+
#. ``BOTTOM`` to ``config["frame_height"] / 2 * DOWN``
72+
#. ``LEFT_SIDE`` to ``config["frame_width"] / 2 * LEFT``
73+
#. ``RIGHT_SIDE`` to ``config["frame_width"] / 2 * RIGHT``
74+
#. ``self.camera.frame_rate`` to ``config["frame_rate"]``
75+
76+
4577

4678

4779
Mobjects, Scenes, and Animations
@@ -50,6 +82,7 @@ Mobjects, Scenes, and Animations
5082
#. Add customizable left and right bracket for :code:`Matrix` mobject and :code:`set_row_colors` method for matrix mobject
5183
#. Add :code:`AddTeXLetterByLetter` animation
5284
#. Enhanced GraphScene
85+
5386
#. You can now add arrow tips to axes
5487
#. extend axes a bit at the start and/or end
5588
#. have invisible axes
@@ -64,6 +97,7 @@ Mobjects, Scenes, and Animations
6497
#. Add a :code:`Variable` class for displaying text that continuously updates to reflect the value of a python variable.
6598
#. The ``Tex`` and ``MathTex`` objects allow you to specify a custom TexTemplate using the ``template`` keyword argument.
6699
#. :code:`VGroup` now supports printing the class names of contained mobjects and :code:`VDict` supports printing the internal dict of mobjects
100+
#. Add all the standard easing functions
67101
#. :code:`Scene` now renders when :code:`Scene.render()` is called rather than upon instantiation.
68102
#. :code:`ValueTracker` now supports increment using the `+=` operator (in addition to the already existing `increment_value` method)
69103
#. Add :class:`PangoText` for rendering texts using Pango.
@@ -106,3 +140,6 @@ Other Changes
106140
#. Rename package from manimlib to manim
107141
#. Move all imports to :code:`__init__`, so :code:`from manim import *` replaces :code:`from manimlib.imports import *`
108142
#. Global dir variable handling has been removed. Instead :code:`initialize_directories`, if needed, overrides the values from the cfg files at runtime.
143+
144+
145+

0 commit comments

Comments
 (0)