This is an animation library written in Rust, widely inspired by Manim and, unlike Manim, it allows interactivity thanks to WebAssembly, JavaScript and the web.
- Interactivity.
- Basic shapes.
- Function plotting.
- Animations in HTML Canvas, SVG and videos for Node.js.
- Text rendering.
- LaTeX rendering.
- 3D rendering.
- Browser and Node.js support.
- Python support (coming soon).
You can embed the library in your HTML file by adding a script tag, and don't forget to include your HTML Canvas for raster animations or DIV container for SVG animations!
<script type="module">
import mathlikeanimRs from './node_modules/mathlikeanim-rs/browser/mathlikeanim_rs.js';
</script>
You can use the library in Node.js by importing the module and using it as a CommonJS module.
Note: Interactivity is not supported in Node.js.
const mathlikeanimRs = require('mathlikeanim-rs')
If you want to start creating mathematical and interactive animations, you can install it by running:
npm i mathlikeanim-rs
If you want to contribute to this project, you can clone a fork of this repository and work with the Rust codebase, and then build the WebAssembly module by running in the main directory:
wasm-pack build --target web --out-dir javascript/browser --features browser --no-default-features
wasm-pack build --target nodejs --out-dir javascript/node --features node --no-default-features
By the moment we don't have any tests, so your contributions are welcome!
You can find the documentation of this project in https://mathlikeanim-rs.vercel.app/.