rig-c — AI-Authored 2D Rigging and Animation Toolchain
One character painting goes in; a rigged, animated 2D character that plays in the browser or imports into the Spine 4.3 editor comes out. Every stage prints named, numeric findings and refuses by name what it cannot verify, so a broken file never reaches the disk.
The Toolchain at a Glance
| # | Package | Latest | Install | What It Does |
|---|---|---|---|---|
| 1 | @rig-c/parts | 1.38.0 |
npm i -D @rig-c/parts |
Assembles one character painting's decomposed See-through layers into rig-ready parts, then authors weighted meshes, bone chains, physics, and a looping idle over them. |
| 2 | @rig-c/pose | 0.33.0 |
npm i -D @rig-c/pose |
Cleans and retargets a body-18 pose sequence (from video, dataset, or hand-placed points) onto a rig that rig-c built, gated before keys are written. |
| 3 | rig-c / @rig-c/core | 2.61.0 |
npm i -D rig-c |
The rig compiler: a rig spec and a motion spec in, Spine 4.3 skeleton data (skeleton.json + .atlas) and skeleton.model.json out — gated by named assertions before a byte is written (36 under the default --profile spine, all 50 under the opt-in --profile rig-play). |
| 4 | @rig-c/review | 0.2.1 |
npm i -D @rig-c/review |
Local human inspection workspace: compare setup geometry, compiled-model playback, source video/sheets, and export frame/bone/slot-bound feedback ready to become an issue. |
| 5 | @rig-c/play | 1.12.0 |
npm i @rig-c/play |
Plays skeleton.model.json in the browser with no Spine runtime — as plain DOM elements (<img> with CSS matrix()) or one <canvas> per player. |
| 6 | @rig-c/adapters | 0.1.1 |
npm i @rig-c/pixinpm i @rig-c/phasernpm i @rig-c/three |
Plays a rig-c compiled model inside PixiJS 8, Phaser 4.2+, or Three.js 0.186+ through @rig-c/play's posing core, with no Spine runtime. |
- Getting Started — Try the full pipeline in about 3 minutes with no GPU, or set up your own character workflow.
- AI Agent Exam (
rig-c/exam) — Open-book benchmark measuring whether coding agents that have never seen the tools pass build, motion retargeting, and repair tasks on the first sitting. - Reproducible Examples — Public character inputs, the 20-rig Agent Family reproducibility suite, and the 12-second reproducible trailer.
/llms.txtand/llms-full.txt— Plain-text indexes optimized forcurland LLM context windows.
Quick Install
# Run the compiler CLI directly with Bun
bunx rig-c --help
# Install the authoring & compilation toolchain in a project
bun add -d @rig-c/parts rig-c @rig-c/pose @rig-c/review
# Install the zero-Spine-runtime browser player
bun add @rig-c/play
Install Agent Skills
rig-c and @rig-c/parts ship Agent Skills (skills/<name>/SKILL.md, inside each npm package) that route coding agents directly to the authoritative authoring rules:
# Codex, Gemini CLI, or Antigravity: link rig-c's skills into .agents/skills/
bun add -d rig-c
bun rigc skills install
# Claude Code: the rig-c/core repository is a plugin marketplace
/plugin marketplace add rig-c/core
/plugin install rigc@rigc
Built for Agents That Cannot See
An AI agent asked to author a 2D rig cannot see the screen, and standard JSON parsers accept broken rigs in silence — a 4.2-shaped constraint vanishes in 4.3, a mismatched size: collapses every UV, a four-number curve array yields NaN, and a mesh whose vertex count equals its UV count silently loses its bone weights.
rig-c replaces that silence with four structural invariants:
- The messages are the UI. Every refusal names the object, the value found, and the value required (for example,
A20_MESH_WEIGHTS_COHERENT: mesh "x" vertex 12 weights sum to 0.9000). An agent reads one line and knows which field in which file to change. - Nothing is invented. The compiler never guesses defaults from art or fills in missing numbers. Where the input is silent, it raises a named
CompileError. - Emit only after green.
rigc buildcompiles, runs its assertion gate, and writes to disk only if every assertion passes. No broken file ever outlives the console output that warned about it. - A person can still look.
@rig-c/reviewlets a human inspect the agent's output against reference footage and export structured feedback bound to a frame, bone, or slot.
Package Names & Aliases
rig-c,@rig-c/core, andspine-rigcare the same compiler package on npm and install therigccommand.@rig-c/parts,rig-parts, andspine-partsare the same part-assembly package and install therig-partscommand.@rig-c/play,rig-play, andspine-htmlare the same browser player package.
Licensing, Stated Plainly
All rig-c packages are MIT licensed. The published packages link no Spine runtime:
rigcemits both Spine 4.3 skeleton data (skeleton.json+skeleton.atlas) and rig-c's own compiled model document (skeleton.model.json).- Playing
skeleton.model.jsonwith@rig-c/playor@rig-c/adaptersintegrates no Esoteric Software code and requires no Spine license. - Importing
skeleton.jsoninto the Spine Editor or playing it with an official Spine Runtime is subject to Esoteric Software's Spine Editor License Agreement and Spine Runtimes License Agreement.