10 releases
Uses old Rust 2015
0.2.7 | Jul 7, 2019 |
---|---|
0.2.6 | Jul 7, 2019 |
0.2.5 | Jun 1, 2019 |
0.2.4 | Nov 14, 2018 |
0.1.0 | Aug 17, 2018 |
#209 in Visualization
55 downloads per month
1.5MB
2.5K
SLoC
ytesrev
(higher quality in real life, gif looks like trash thanks to compression and me not knowing how to make it better)This is a presentation tool inspired by 3blue1brown's tool manim. Currently it supports rendering LaTeX files, relatively simple layout, reading PNGs among other things.
Differences to manim
The biggest difference is the goal of the two programs. Manim is made to render a video, while ytesrev is made to work in live situations where reactivity and dynamicity are valuable. For example, in manim, screen size and timing are pretty much constant, where ytesrev has to have a dynamic layout engine and an event system.
Usage
Check out the src/example/
folder.
Project structure
src/anchor/
: To keep things anchored to one side of the screensrc/ditherer/
: To create those cool text 'whoosh' effectssrc/drawable/
Abstract definitions of drawable objects as well as drawing positionssrc/empty/
: The empty objectsrc/image/
: Loading PNGssrc/latex/
: Rendering LaTeX expressionssrc/layout/
: Definitions and implementations of layouts (stacking and splitting)src/margin/
: To give some object a marginsrc/scene/
: Abstract definitions of a scene (slide) and a wrapper forDrawable
ssrc/solid/
: A rectangle of a solid colorsrc/window/
: Contains theWindowManager
which is responsible for creating the window, managing events and timings and keeping track of the slidessrc/withsize/
: Give an object a constant size
Dependencies
~20–28MB
~492K SLoC