ytesrev

Crates.ioytesrev
lib.rsytesrev
version0.2.7
sourcesrc
created_at2018-08-17 09:27:36.722815
updated_at2019-07-07 15:17:28.246499
descriptionA presentation tool written in rust, based on sdl2
homepagehttps://github.com/loovjo/ytesrev
repositoryhttps://github.com/loovjo/ytesrev
max_upload_size
id79906
size1,425,123
(loovjo)

documentation

README

ytesrev

showcase (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 screen
  • src/ditherer/: To create those cool text 'whoosh' effects
  • src/drawable/ Abstract definitions of drawable objects as well as drawing positions
  • src/empty/: The empty object
  • src/image/: Loading PNGs
  • src/latex/: Rendering LaTeX expressions
  • src/layout/: Definitions and implementations of layouts (stacking and splitting)
  • src/margin/: To give some object a margin
  • src/scene/: Abstract definitions of a scene (slide) and a wrapper for Drawables
  • src/solid/: A rectangle of a solid color
  • src/window/: Contains the WindowManager which is responsible for creating the window, managing events and timings and keeping track of the slides
  • src/withsize/: Give an object a constant size
Commit count: 164

cargo fmt