# Animation & Rigging Regression Scenarios 🤖: could/should be an automated test. For building the final test scenarios: make them more user-oriented than test-oriented. Like animating a bouncing ball with various specific steps, so that many tests are covered by this one "being an animator" flow. ## Animation - The slider operators, both in the 3D Viewport & the animation editors. - Check for smoothness of sliding, pressing hotkey to (dis)allow overshoot should immediately update the value & display (without requiring mouse move). - Check mid-way an NLA stack (currently likely doesn't work, but with layered actions, at some point it should). - Playback in multiple viewports. - Try different options in Playback options (Dope Sheet footer / Timeline header). - Try different windows. - TODO: document what's expected here. - Keying things - Keying sets. - 🤖 "Whole Character": Lock some loc/rot/scale channels, then insert key → shouldn't key locked things. - 🤖 "Available": should work well with multiple slots (so not get confused about anim data of other slots) - Deselect other keys on key insertion. - Pose Library - Usage: - Apply Pose - Blend Pose - TODO: prepare file + precise instructions + viewport-render the final pose of the character for reference. - Editing/maintaining library: - Create Pose in current file + apply it - Push Pose to asset library + apply it - Edit metadata of pose in asset library (so not current file) - Motion Paths - Insert keyframes, create motion path, scrub to check correctness. - Set pre/post colour, check it's drawn correctly - Move object, see current key is (not?) updated. - Press 'Update', see entire path updated. - Auto-IK - Test on Rigify → Human metarig - With(out) X-Mirror enabled. - Transforming keys - Graph editor - Select keys & transform (grab, rotate, scale from 2D cursor) - Also with(out) handles - Different handle types - TODO: get Action from production file - Dope Sheet - Retime keys, also with different kinds of data (like F-Curve keys + Grease Pencil frames) - 🤖 Copy-Paste Keys - One-to-one - Array-to-array - Many-to-many - Nothing selected when pasting - Framing keys (select all, hit 'frame' button, should zoom out) - Graph Editor - "Normalize" mode - Ghost curves (button is between the filter options in the header) - Channel list manipulations - Filtering by name - Selection syncing (select bone → selects channel group, and vice versa) - Reordering channels (groups, individual F-Curves, non-continuous selection of channels, slots) - Group & ungroup - Copy Global Transform - Copy & Paste, with(out) mirroring - Relative Copy/Paste - Relative to object - Relative to bone of specific armature - Relative to only bone name, so of currently-active armature - Paste & Bake - Fix to Camera - Use operator - Use 'trashcan' to delete generated keys ## Rigging - Weight Painting - Painting - Locking - Auto-normalisation - With mirroring (should also deal with flipping group names) - Manually editing vertex weights - Smoothing & other operators - Armature Editing - Edit two instances of the same Armature - Edit with X-mirror on - Create half an armature, use Symmetrize to create the other half - Should only duplicate 'sided' bones - Should duplicate constraints - Should copy rest pose of selected bones to their mirrored counterparts (even when all bones already existed). - Try out the operators in the left-hand toolbar. - Drivers - Add driver, edit its F-Curve (should behave as driver curve, not property-animating F-Curve) - Creating IK/FK blend system - Shape Keys - Lattice deformation (also with shape keys) - Bone Collections - Showing/hiding/solo'ing - Nesting collections (with visibility togglging) - Coloring