Creating animations with Typst?!

TL;DR

I implemented an animation engine for Typst using Rust called candy.You can experiment with it if you like. repo: ViCo-Lab/Candy grab pre-built binaries on CI if you like. Not published to any package repositories, so manual installation is required.

DISCLAIMER

Very BUGGY. Vibe-coded. May OOM. Use at your own risk.

Introduction to Candy

I created an animation engine for Typst named candy, which stands for Code-oriented Animation eNgine Designed for tYpst. This project is still WIP, so itโ€™s not published (neither Typst Universe nor crates.โ€io). It is implemented using pure Rust (0% unsafe black arts).

It is inspired by manim, the animation engine for LaTeX created by 3b1b but its API is designed independently and uses 99% vibe coding. Itโ€™s still very buggy (sometimes may OOM) but it can render some basic animations.

A probable solution to GitHub issue #8447

This project will be published once I fixed some critical bugs, such as OOM. Now itโ€™s usable but not useful.

3 Likes

OOM fixed. But still canโ€™t be released because the API is not quite stable and some anaimations behave strangely.

Not pure Rust now and may contain black arts for performance.

showcase

It renders strangely yet interestingly. Example generated by AI.

BTW: .tyx stands for TYpst X-sheet, the animation exposure sheet for Typst. It is the recommended file extension for Candy, but in fact itโ€™s standard and valid Typst. Grab artifacts from our CI and try yourself :)

1 Like