Skip to main content

Skeletons, a debugger, and a fixed step

· 2 min read
Balaur

Skeletal animation in 2D and 3D, a script debugger, a fixed simulation step with record and replay — and one scripting language instead of two.

Skeletons

A bone is a node with a rest pose; a skin is a textured polygon with bone weights. A clip keys the bones by path, in the same timeline as before.

A skinned leg bending under a clip

The editor has a bone tool and a polygon tool with Points, Polygons, UV and Weights modes. Two modifiers run after the clip: look_at and two_bone_ik.

Painting weights

3D rigs are imported: balaur import model.glb writes the joints, the mesh and the animations as TOML the editor edits.

An imported column and its bones

A debugger

Set a breakpoint in the gutter, run the scene, step with F5 / F10 / F11 / Shift+F11. Frames and locals show in the Debugger dock; the game freezes while the editor stays live.

One language

Luau is gone. Rune is the scripting language: the editor, every example and the debugger run on it.

A fixed step, and proof

Simulation runs in fixed_update(dt) at 60 Hz. Each tick hashes the world; run --record stores a session, replay --verify re-runs it and stops at the first tick that differs.

Details: Animation, The editor, Determinism.