Skip to content

v0.0.1

Choose a tag to compare

@rawframe-release rawframe-release released this 24 Oct 03:05
703ec90

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_springBone 1.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_springBone and the OMI_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.