mathematical animations with haskell https://reanimate.github.io
  • Haskell 95.8%
  • Elm 3.9%
  • Nix 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
David Himmelstrup 31b1ba785e Create BAKER_SCRIPT.md
Former-commit-id: 39c7bd2d0b83832f7309ef829bc44b421cc6da59
2019-07-15 14:51:49 +08:00
examples More clean-up. 2019-07-09 20:41:37 +08:00
server Local web viewer. 2019-03-08 10:37:15 +01:00
src/Reanimate Fix race condition in svg caching. 2019-07-14 16:28:55 +08:00
viewer Better caching, bundle viewer. 2019-03-08 16:36:25 +01:00
web Valentine wibble. 2019-03-01 15:06:33 +01:00
azure-pipelines.yml azure: build on mac. 2019-07-06 22:31:52 +08:00
BAKER_SCRIPT.md Create BAKER_SCRIPT.md 2019-07-15 14:51:49 +08:00
ChangeLog.md Update changelog. 2019-07-07 11:22:02 +08:00
README.md Link to hackage package. 2019-07-06 20:04:40 +08:00
reanimate.cabal Bump version to 0.1.5.0 2019-07-07 11:19:41 +08:00
Setup.hs First stab at reanimate. 2019-02-13 21:08:49 +01:00
stack.yaml Random updates. 2019-07-04 18:16:49 +08:00
test_latex.tex Add latex file for testing if all required latex packages have been installed. 2019-07-04 18:16:49 +08:00

Hackage Build Status

reanimate

Reanimate is a reactive framework for creating non-interactive animations from SVG images. This package consists of a set of combinators, a renderer (using ffmpeg), and a web-based previewer. Inline latex code is supported when 'latex' and 'dvisvgm' are installed.

Nothing about the API is stable at this point.

Live coding playground: https://lemmih.github.io/reanimate/

Getting started

Reanimate ships with a web-based viewer and automatic code reloading. To get a small demo up and running, clone the repository, run one of the examples (this will install the library), and wait for a browser window to open:

$ git clone https://github.com/Lemmih/reanimate.git
$ cd reanimate/examples/
$ ./latex_color.hs

This should render the latex_color example in a new browser window. If you then change the animation source code, the browser window will automatically reload and show the updated animation.

TODO

  • website for live coding
  • bounding boxes
  • Use svg-tree instead of lucid-svg
  • crossplatform file watching
  • Improve bounding box approximations
  • Select desired FPS in web previewer
  • Download rendered animations in web previewer
  • alignment and positioning combinators
  • Driver:
  • Command line options for rendering videos.
  • Flags for selecting fps in web viewer

Examples

The example gifs are displayed at 25 fps. The source code for many of these examples are available on the live coding playground.

Sunflower Tangent Goo Drawing LaTeX equations Bounding boxes Colorful LaTeX Bezier curves Sine wave Morphing wave Morphing wave to circle Speed modification Highlight Clipping Scaling Valentine's Day Basic LaTeX