Product media placeholder
Replace this area with a screenshot or short walkthrough video during the media sweep.
Bone and skeleton rigging: per-bone FK transforms, IK solvers, bone collectors, spring/jiggle bone physics, chain dynamics, and FK recomposition.
Category key skeletonGenerated public nodes 13Registry source faster-motion-docs/node-registry.json
Nodes
| Node | Type | Context | Description |
|---|---|---|---|
| Bone Collector | boneCollector | canvas | Gather per-bone world matrices into AttributeBundle for IK solver |
| Bone Jiggle Compute | boneJiggleCompute | canvas | Per-bone secondary animation via closed-form damped spring. Composable with other bone modifiers via merge/mask. |
| Bone Mat4 Bundle | boneMat4Bundle | canvas | Gathers per-bone 2×3 world matrices from FK chain and promotes to Mat4TransformBundle for composable bone modifiers. |
| Bone Transform | boneTransform | canvas | Per-bone override-apply node — reads rest scalars from sibling restPoseBone, applies override/additive/constraintXform, outputs post-override world matrix |
| Chain Physics | chainPhysics | canvas | Verlet chain simulation for hair, tails, ropes. Fixed timestep with distance/angular constraints. |
| FK Recompose | fkRecompose | canvas | Reads a post-IK/physics bone pose bundle and outputs per-bone world matrices via full parent×local FK. One per IK/physics skeleton, lives at scene level (outside rig Module) so only one bundle wire crosses the Module boundary. |
| IK Solve | ikSolve | canvas | Per-chain IK solver. Pure array-based FABRIK on AttributeBundle data. |
| IK Target | ikTarget | canvas | Boundary node — bridges scene-object position into IK solve target port. |
| Jiggle Bone | jiggleBone | canvas | 2D position spring — adds bouncy displacement to bone x/y from parent movement. |
| Rest Pose Bone | restPoseBone | shared | Per-bone pure-FK node — reads pose at boneIndex, computes pre-override world matrix from parent. Paired with boneTransform. |
| Skeleton Source | skeletonSource | shared | Graph-native publisher of a Skeleton's rest pose. Loader calls bind(skeleton) once; the source pulls the rest bundle from skeleton.getRestBundle() (snapshot captured by skeleton.markRest() before IK solves). Output flows to APB.restBaseline / rig pose boundary through typed edges. |
| Skeleton Transform | skeletonTransform | canvas | Reads skeleton root transform each frame — feeds root bone parentWorldMatrix |
| Spring Bone | springBonePhysics | canvas | Rotational spring — bone rotation follows parent with spring dynamics, gravity, and wind. |