Repository navigation
This is CurveCodec v0.2.0, the latest version of CurveCodec. Like version 1, it works on the smallest skeleton-independent unit of motion, each joint's own curve, so one model serves any rig: humans, hands, animals, robots and game characters, with no per-rig training.
Version 2 changes where the learning goes. The network no longer reconstructs the curve. Instead, the codec keeps the motion exact to a chosen precision, and the network only predicts how cheap that motion is to send:
Encoder: closed-loop quantization and rate–distortion-selected keyframes, corrected by error feedback through forward kinematics. Every decoded clip is checked against an error contract tied to ACL's mean error at the same precision (0.01–1 cm). A clip that misses is re-encoded with tighter margins.
Entropy model: a small causal transformer codes what remains. It has 2 blocks of width 64, 4 heads, a 128-step window and a 3-logistic mixture head, 108 K parameters in all. It sees only integer features of the curve's own decoded past, never joint or skeleton identity. Its integer inference is bit-exact across platforms, and it changes only the bits, never the decoded motion.