Page MenuHome

Pose Library: Usability pass/redesign
ClosedPublic

Authored by Dalai Felinto (dfelinto) on Dec 16 2022, 5:05 PM.

Details

Summary

This implements a redesign on how pose library is exposed to the
artists, unifying the experience within other assets.

We now try to constraint the different usages to specific editors,
and optimize the experience in each editor to those minimum requirements.

In simple terms this means to encourage the creation of assets in the
Action Editor or the Asset Browser, using assets in the Viewport.
Having the main functionality available at the click of a button,
and the advanced options available via (context) menus.

For the complete design see: T103265


This implements:

  • Viewport:
    • Remove Create Pose Asset.
    • Remove Copy Pose As Asset.
    • Remove Flip Pose checkbox.
  • Asset Browser:
    • Add "Paste as New Asset" and "Create Pose Asset" to a new Asset menu.
    • Remove Pose Library panels.
  • Context Menu:
    • Add Apply Pose Flipped.
    • Add separators.
  • General:
    • Rename Paste/Copy As to Paste/Copy as

Follow ups:

  • Asset Browser: New catalog menu (D16820)
  • Asset Shelf (T102879)
  • Show shortcuts in the Pose Assets context menu (T103267)
  • "Update" operators (Paste as Update and Update Pose Asset)
  • Action Editor: Catalog pop-up for new created poses
  • Action Editor: Bring the Pose Library panel to the Animation tab

The update operators are welcome, but outside of the scope of the
usability change. If/when they are implemented, they will fit within the
Edit menu.

The Action Editor changes should be tackled shortly.


Screenshots

Pose asset context menu (accessed from the viewport):

Asset Browser Asset menu (includes D16820):

Asset Browser (includes D16820):


For the records, the final commit was approved by Sybren verbally. So the "Needs Review" status can be ignored.

Diff Detail

Repository
rB Blender
Branch
DIFF-poselib-ux (branched from master)
Build Status
Buildable 25067
Build 25067: arc lint + arc unit

Event Timeline

Dalai Felinto (dfelinto) requested review of this revision.Dec 16 2022, 5:05 PM
Dalai Felinto (dfelinto) created this revision.
Sybren A. Stüvel (sybren) requested changes to this revision.Dec 19 2022, 1:05 PM

I like most of the changes. Moving the panel from a dedicated tab in the action editor to the main tab is good, and so is the addition of items to the asset browser's "Edit" menu.

The pose asset creation workflow seems to be harder to use now, though. Before this patch, this workflow was available:

  • In the Action editor, click Create Pose Asset.
  • This switches the active Action to the newly created pose asset, making it visible which FCurves are in there. From there, you can use regular keying tools to add more FCurves, remove FCurves, etc.
  • Here you can also rename the Action, which is likely necessary because it was created with an auto-generated name.
  • One click on the Previous Action button will swap back the previously assigned Action to bring you back to the situation you were in before you clicked Create Pose Asset.

From the Action Editor it now looks like Copy Pose as Asset is the main way to create a pose asset, after which it of course still has to be pasted into an actual asset browser.

The creation workflow has always been a bit iffy, because it's so invisible what gets into the pose asset. The idea "it's just an Action and thus can be viewed/edited as such" was never super clear in the UI, and I feel that this concept is now pushed to the background even more. Maybe the Update Pose Asset operator (T103265) would be a better solution than trying to tie the creation workflow too much to the Action editor, though.

With this patch, it's no longer possible to create a pose asset with a single click from either the action editor / dopesheet or the 3D viewport. To me this means that this patch cannot just be reviewed by two developers (Julian and me) but should be discussed with animators as well.


  • Viewport:
    • Remove Create Pose asset changes.

What does "Remove Create Pose asset changes" mean?

To fully test this patch you also need this DIFF in the addons: P3396

Yeah, it's annoying that we can't review these changes in the same patch. I think we might be able to by uploading a hacked-together patch, but let's not make the transition to Gitea any harder ;-)

release/scripts/startup/bl_ui/space_filebrowser.py
695–698

This should check whether these operators are available at all, before drawing them. The poselib add-on can be disabled, after all.


Not for this patch: this does show that the "paste as asset" operator should be taken out of the poselib code and moved into core Blender ;-)

This revision now requires changes to proceed.Dec 19 2022, 1:05 PM
Dalai Felinto (dfelinto) edited the summary of this revision. (Show Details)
  • From review: check if the add-on is enabled
Ray Molenkamp (LazyDodo) added inline comments.
release/scripts/startup/bl_ui/space_filebrowser.py
698

Stirring the pot a little, feel free to not take any action on this whatsoever, but i have to point it out:

This code smells a little, functionality is either it's part of core can we deal with things in the core files like space_xxxxx.py or it's an addon and it should be completely separate from the core files. If additional functionality is needed callbacks should be provided rather than addon specific code in core code. Or if the functionality is so essential to blender, it should not be an addon.

We wouldn't allow an addon like blenderkit to put some code in this file for things they'd like guarded by their addon being loaded/installed or not, nor should we allow this for addons we ourselves maintain.

This seems to muddy the waters between addon and core a little more than i personally would like, that being said, i'm very aware i have no stake in neither the animator nor the core module so feel free to tell me bugger off.

Dalai Felinto (dfelinto) planned changes to this revision.EditedDec 19 2022, 6:47 PM

Based on the feedback here and in the design task I plan to do the following changes:

Keep Action Editor as the main place to create Pose Assets. This is the editor that is exclusive for animation already. I think the ability to name the action or tweak keyframes after a pose is created is big. Poses created there should have no particular category though (unassigned). This way it is easier to identify the poses that are incomplete and need all the meta-data.

Other changes:

  • Reverse all changes from Action Editor.
  • Add Ctrl + Click shortcut for applying the poses flipped.
  • Remove "Create Pose as Asset" from the Edit menu.
  • Try to introduce the "Paste as Asset" change to the Edit menu by doing that in the add-on itself.

What does "Remove Create Pose asset changes" mean?

A typo probably, I will update the patch description.

Changing the patch to only include the changes in the Add-on. The other related changes are not needed anymore (or tackled separately).

Now the poses created via the Action Editor have always Unassigned category. This follows the logic we have for the other assets, where first you Mark a data-block as an asset, then you go to the Asset Browser and find them in the Unassigned catalog, where you can edit all of its meta-data.

The other change here is that the new menu in the Asset Browser is called Asset.

Sybren A. Stüvel (sybren) requested changes to this revision.EditedDec 22 2022, 3:13 PM

Changing the patch to only include the changes in the Add-on.

I think you made the same mistake as I did on Julien's computer today ;-)
The patch now contains everything BUT the changes to the add-on.

never mind, inversion got inverted.

This revision now requires changes to proceed.Dec 22 2022, 3:13 PM

LGTM, let's discuss the changes in today's module meeting.

Dalai Felinto (dfelinto) planned changes to this revision.EditedDec 22 2022, 6:32 PM

Proposed changes from the Animation & Rigging meeting:

  • Bug fix: the context menu for the Viewport is not working. (it was a bug in master)
  • When creating poses from the Action Editor brings a pop-up to let users choose the Catalog it will be created (Unassigned as the top-most/default option).
Dalai Felinto (dfelinto) edited the summary of this revision. (Show Details)

Final take:

  • Revert changes in the Action Editor altogether. Leave them for a separate commit (the catalog popup when creating a new action).

Patch message also updated

This revision was not accepted when it landed; it landed in state Needs Review.Dec 23 2022, 11:27 AM
This revision was automatically updated to reflect the committed changes.

For the records, the final commit was approved by Sybren verbally. So the "Needs Review" status can be ignored.