Repository navigation
v0.0.1
0.0.1 (2026-10-24)
The first release: skeletal animation from import to the skinned
vertex, with the same results on every platform, compiler and SIMD
backend, and no allocation at run time.
Added
- Skeletons, poses in local and model space composed as glTF composes
nodes, and the polar decomposition of model matrices. - Clips on a uniform grid sampled at the same cost at any time, with
float and discrete tracks, events and sync markers; a forward cursor
with the same results, in a faster form and a compact one. - Clip compression within an error measured on a shell around each
bone, close to ACL's sizes at a third of its error. - Blending with per-bone masks, pose differences and additive layers
and clips, and root motion taken out at build and read as moves
across any number of loops, forward or backward. - Animation graphs: clip, blend, mask, additive, select, time scale
and seek nodes; 1D, triangulated and banded blend spaces; state
machines with conditions on parameters, time, a clip's phase, end or
events; one-shots; inertialization and dead blending; sync groups by
phase or markers; subgraphs; a JSON form; saved and restored
instances; node inspection for debuggers; evaluation of a subset of
bones. - Motion matching: motion databases with weighted feature channels, an
exact pruned search, a trajectory predictor and a graph node;
learned motion matching with a model format, a graph node and an
in-library trainer whose results are the same on every platform and
with any number of threads. - Inverse kinematics: two-bone, aim and look-at over a chain, CCD and
FABRIK chains with cone, twist and hinge limits, full-body XPBD and
SDLS solvers, a turn limit node, each also a graph node. - Spring bones as
VRMC_springBone1.0 defines them, with its extended
colliders and limits, the same motion at any frame rate. - Ragdoll profiles mapping bones to a physics engine's bodies and
joints, bodies and motor targets from poses, poses from bodies, and
get-up placement; a pose input for graphs. - Retargeting between skeletons with different names, chain lengths,
rests and proportions, and mirroring on rigs whose sides do not have
mirrored axes, for poses, baked clips, graphs and motion databases;
JSON forms for both maps. - Skinning: skins, palettes, linear, dual quaternion and blended
skinning and centers of rotation over one influence format, as jobs
over strided vertex streams; morph targets with in-betweens. - glTF 2.0 import (JSON and GLB,
EXT_meshopt_compression,
KHR_meshopt_compression,KHR_draco_mesh_compression,
KHR_animation_pointer,VRMC_springBoneand theOMI_physics_*
extensions) and FBX import (binary and ASCII, versions 3000 to 7700):
skeletons, skins, influences, morph targets and clips. - Validation of every file, JSON text and saved state as it is opened,
in every build: bad data is refused with a status and the offset of
the first wrong byte, and counts no misuse on the builder; a misuse
count reports only calls a correct program never makes. - A CPU check for the AVX2 build, a portable scalar build with the same
results, a CMake package and a pkg-config module. - Support for Linux on x86-64 and arm64, macOS, Windows with
clang-cl, and WebAssembly.