# Animation 2025 ## Draft(!) Animation Data Model --- ### "Make *something* so we can change it!" * Something **concrete** to discuss, prototype, and iterate on. Get out of the clouds. * A starting point, not a final design. --- ### Just the Foundations * Limited scope: just the base animation data model. * Not a UI/UX proposal. * Other parts to be built *on top of* this. --- ## Old System (Recap) Data blocks (e.g. objects) own their animation data. ![](images/old_system.svg) --- ### Good * Actions are great! * User-understandable. (Except the NLA?) * Fast (in theory). ### Bad * Overly rigid data organization / mapping. * Two redundant ways to attach animation data. * Difficult to extend. --- ## New System (Proposal) ![](images/base_system_draft.svg) --- ### Core Ideas * All animation data is mapped via the NLA. * Each NLA track is a "view" of the world. * Different track types affect the world differently. * Animation data is interpreted according to the track it's on. --- ### Example 1 (Not a UI proposal! Just to illustrate flexibility.) ![](images/example_01.svg) --- ### Example 2 By default, a single global track with a single auto-extending clip. ![](images/example_02.svg) (Users can ignore NLA if they want, and everything goes into one action.) --- ### Good 1. Actions are great! 2. User-understandable...? 3. Flexible data organization / mapping. 4. Extensible via track types. --- ### Bad 1. Unknown if we can make this fast enough. 2. Data blocks don't bring their animation with them (e.g. when linking/appending). 3. Untested (of course). --- ### Some Additional Ideas * Hierarchical NLA tracks? (Yes, please!) * Instead of different track types, different clip types? Or different action types? Various pros/cons. * A node system that determines how the tracks are mixed? --- ### Do other ideas work on top of this? * Slappable rigs / control rigs: * Tracks can specify the slappable rig(s). Different rigs for different tracks. * Dense animation workflows: * Layering animation with tracks. * Collapsing tracks to baked animation data. * Etc. --- ## A Starting Point Again, not a final proposal. But something *concrete* to iterate on. --- ## Thank You!