Skip to main content

Murali is the Rust engine

Animation, native by design.

A deterministic animation engine for mathematical visuals, technical storytelling, and workloads that belong close to the metal.

RustwgpuDeterministic timelinesNative export

Built like an engine. Authored like a story.

Murali keeps composition, time, projection, and rendering explicit—so complex animation remains understandable as it grows.

01Scene

Compose the world

Build typed scenes from shapes, text, mathematics, 3D objects, and reusable tattvas.

02Timeline

Choreograph time

Schedule motion, easing, cameras, callbacks, and transitions on one deterministic clock.

03Projection

Resolve every frame

Turn authored intent into explicit render primitives with predictable layout and geometry.

04Renderer

Draw on the GPU

Render through wgpu across Metal, Vulkan, and DirectX for native, computation-heavy work.

One scene. One timeline. Every frame reproducible.

Murali is for work where explicit state, predictable performance, and native control matter. Your animation is regular Rust—not a hidden graph or proprietary project file.

  • Typed scene construction
  • Seekable deterministic timelines
  • GPU-backed rendering and export
Walk through the first scene
hello_motion.rsRust
use glam::Vec3;
use murali::App;
use murali::colors::*;
use murali::engine::{scene::Scene, timeline::Timeline};
use murali::frontend::{animation::Ease, collection::primitives::circle::Circle};
fn main() -> anyhow::Result<()> {
let mut scene = Scene::new();
let dot = scene.add_tattva(
Circle::new(0.5, 48, RED_B),
Vec3::new(-2.0, 0.0, 0.0),
);
let mut timeline = Timeline::new();
timeline.animate(dot)
.for_duration(1.2)
.ease(Ease::OutCubic)
.move_to(Vec3::new(2.0, 0.0, 0.0))
.spawn();
scene.play(timeline)?;
App::new()?.with_scene(scene).run_app()
}

Visual systems that move with intent.

From geometric choreography to camera-led scenes, Murali keeps every result tied to authored code and a deterministic timeline.

View the showcase

Murali means Rust.

This project is the native animation engine: a Rust crate, a wgpu renderer, and a lower-level foundation for demanding visual workloads.

Veena remains a separate browser-native engine for JavaScript and web authoring.

M
MuraliRust · Native · wgpu
You are here
VeenaJavaScript · Browser · Web platform

Build the difficult thing clearly.

Read the introduction