Node based

Building a scene means building a graph for the rendering engine. The declarative nature of a graph gives the ability to structure large scale scenes visually, and resources within can intuitively be shared. The graphs are platform agnostic, and with the help of serialization can be transmitted easily for re-use elsewhere.

Python bindings

The complete Python binding makes it very accessible for beginners to tweak or build their own scenes programmatically.

Advanced text effects

Support for advanced text effects such as transform, outline, blur or glow. Text effects can target words or characters by simply changing a single parameter. These effects are compatible with text-shaping and bi-directionnal text (as found in languages such as arabic), as well as vertically layed out text.


All commonly known easings supported for animating anything: positions, colors, or abitrary data.

Cross platform

Runs on all major platforms (Linux, macOS, Windows), as well as mobile (iOS and Android).

Multi backends

OpenGL, OpenGLES, Vulkan and Metal (through MoltenVK) are supported.

Video acceleration

Video acceleration for Android, iOS, MacOS, Linux (VAAPI).


Compose the same scene with different contents thanks to the simple API.

Development environment

Support for live editing, multiple backend targets, automatic control widgets, …

Diff tool

A tool to Compare images or videos.