Source/Animation

= Code & Functional Design: Animation & Rigging Module =

This section describes the code design and functional requirements of Animation & Rigging related features.

Core Concepts

 * Active Keyframe
 * Animation Channel Filtering, used for obtaining animation channels for drawing in UIs, performing operations, and evaluating animation.
 * Animation Data, how animation data is attached to ID datablocks.
 * Armature/Skeletal Animation, how pose data is stored, evaluated, and applied.
 * Armature/Skeleton Editing, how armatures are created and edited, including bone naming conventions, mirrorring, symmetrizing.
 * Constraints
 * Evaluation Pipeline, how animation data is evaluated and applied.
 * IK: iTaSC algorithm
 * Interpolation / Blending
 * Keying Sets and Auto-Keying
 * Motion Paths
 * Parenting
 * Quaternions

Tools

 * In-Between tools, like the Pose Breakdowner, Relax To Rest Pose, etc.
 * Pose Library

Animation & Rigging Related Editors

 * Dope Sheet / Action Editor
 * Graph Editor
 * Non-Linear Animation
 * Timeline

Historical Design
Animato is the animation system introduced by Joshua Leung in 2009. Many of its parts are still in use in Blender. The design document is spread between the Wiki, a Word-document, and screenshotted text in that document. It's probably best to extract the still-current information from it, and move it into the pages linked above.