# Pose Library Design
Idea: Use the Asset Browser design and workflow to establish a fast and powerful pose library system.
The basic workflow is:
* Create pose assets in the Outliner.
* Group them using *Asset Catalogs*.
* "Mount" their .blend(s) or root directory as asset library in the Preferences.
* Apply them in other files using the Asset Browser.
* Share them as regular .blends.
## Creating Pose Libraries
* Create a pose asset through the Outliner.
*Right-click the Pose (requires being in Pose Mode) -> "Make Asset".*
> [name=JulianEisel] This design was just to keep it consistent with how other asset types where created back then. It could just as well be dragging a pose to the Asset Browser, calling "Create Pose Asset" from the 3D View or any other design.
* A preview image can be set in the Asset Browser sidebar.
* Poses can be grouped together using **Asset Catalogs**.
* Catalogs are a general Asset Browser feature (former name: smart-filters).
* A catalog is just a filter preset.
* Hence, a catalog can be dynamic, e.g. all assets starting with "CHR_sintel_".
* To "statically" link an asset to a catalog, it can be given a *catalog tag*.
* This design avoids multiple grouping/filtering systems. It's a single system based on tags and filters.
* Assets can be part of multiple catalogs.
* How to assign poses to a catalog? Three options:
1. Select assets before creating a new catalog. Automatically adds the catalog tag.
2. Manually add the catalog tag to assets.
3. Operator *Add Assets to Catalog*, which automates setting the tags.
* Catalogs are important for other asset types as well.
E.g. brushes: Sculptors want to split their 100s of brushes into small groups.
## Pose Asset Storage
* The poses and catalogs are stored in the .blend file they were created in, including all meta-data (previews, tags, ...).
Having previews as separate files caused major synchronisation issues in the old system.
* A file has to be saved for new/changed assets to show up (exception: the *Current File* library).
* A pose library has to be part of an asset library installed in the Preferences for re-use in other .blends or projects.
* So: Pose libraries are stored and installed just like any other asset library.
* Technically a pose is an action data-block with asset meta-data. Single frame only for the start.
## Using Pose Assets
* If a pose is part of a library that is "mounted" in the Preferences, Asset Browsers in different sessions can display it.
* The Asset Browser has an "Animation" category, if selected the catalogs and poses of the current library are shown.
* Double click a pose to apply it (or drag it onto a character, or press "Apply Asset").
* If a pose can not be applied, an error is shown.
## Sharing Pose Libraries
* Both pose assets and the catalogs are local to the file they were created in.
* Hence, sharing pose assets or an entire catalog is just regular sharing of .blends.
## Pipeline Integration
* Blender is **not** responsible for managing assets.
* In a professional environment, there is an asset management system in place to manage access rights, publishing process, versioning, etc.
* Part of this would be a Blender bridge Add-on, to integrate such a system with Blender.
* If no such system exists: **The user is the asset manager.**
## Additional Features
Animators would probably want some additions for a good workflow.
* Pose blending
Where you usually select between Append and Link, when showing poses, the Asset Browser gives Override and Blend as an option. The blending factor is an operator property.
* Animated Poses
Poses could also have multiple frames. Q: How would you set the frame range? Popup after "Make Asset"?
* Option to show & apply poses "flipped".
A toggle in the lower execution-bar, horizontally flips previews and swapps L/R channel names when applying.
* Option to show only poses for the active object.
The Asset Browser could follow the active object and show applicable poses only. There's a technical question of how a pose could be mapped to characters, but there are some possible solutions.
Relevant general asset browser features:
* Blender Projects
In the future we'd like to have a concept of *Blender projects*, which would also act as asset library (select *Current Project* library in Asset Browser). Important for poses because they are project specific.
* Show directories in Asset Browser.
If we allow directories of .blends as asset libraries, the Asset Browser could have the option to navigate these directories more like a regular File Browser.
* Mini-Asset-Browser in the 3D View sidebar.
Animators asked for a simple panel in the sidebar to get quick access to all the important bits for pose library usage. Could be an Add-on too.
This was also requested for Brush management.