RUEN
GitHub

Khrum2D character · 2026

A boar on his own rig who lives on a website and in Lottie

A character on an SVG rig: states, actions, facial expressions and reactions to the pointer. Loops are baked into Lottie for apps and interfaces.

In Russian and English

The first screen of the site: Khrum in the forest and the titleThe first screen on a phone

The character responds to people

He follows the pointer with his eyes and head, and reacts in his own way to petting and a tap on the snout.

The interactive scene with the state controlsKhrum looks up after the pointer

Eight states, no jerks

Idle, walk, gallop, jump, curiosity, joy, sleep and surprise. Transitions are smoothed, and the hooves never slide on the ground.

Walk and run: a four-beat walk and a gallop with a flight phase

A pose is adjusted, not redrawn

The drawing is one SVG file, the rig builds it into a hierarchy of nodes, and the legs use inverse kinematics.

49 numbers describe a pose

Khrum's skeleton over the drawing and the node groups42 nodes, 132 shapes, 49 pose parameters

The same loops work in Lottie

A script bakes the rig's loops into standard Lottie JSON, which the ordinary lottie-web player plays.

41 KB idle loop, gzipped

A Lottie file in the ordinary player next to the export notesThe idle loop in the ordinary lottie-web player, without the rig

Ready for a product

Loading, a notification, an empty state, an assistant and an error page are already shown with Khrum.

Khrum in interfaces: loading, notification, empty state, assistantA 404 page with Khrum

How it is built

TypeScript and Canvas, no external requests.

Drawing
One editable SVG with layers, gradients and pivot points.
Motion
Springs for ears, tail and head, blinking and gaze on top of the main pose.
Speed
The forest is drawn in a background thread, and off-screen sections are not drawn.
Checks
Numeric checks for hoof sliding and sudden jumps in the pose.

Meet Khrum