Anim: Refactoring NLA menu into more sensible format #114805

Merged
Nate Rupsis merged 4 commits from nrupsis/blender:NLA-menu-cleanup into main 2023-12-01 20:11:11 +01:00
Member

Updating NLA menu to be more inline with VSE / other Animation editors.

Remove "Edit" drop down, and instead split operators into "Track" & "Strip" Menus. Update Add menu to be more concise.

Old 4.0 New 4.1
Edit Menu Track / Strip
image image image
Old Add New Add
image image

Big thanks to @tintwotin for his space_nla.py Gist. A bulk of these changes are from that.

Updating NLA menu to be more inline with VSE / other Animation editors. Remove "Edit" drop down, and instead split operators into "Track" & "Strip" Menus. Update Add menu to be more concise. | Old 4.0 | New 4.1 | | --- | --- | | Edit Menu | Track / Strip | | ![image](/attachments/0daac346-074e-4c10-ab6f-0ce88cee7104) | ![image](/attachments/07712396-2921-4dfa-b11b-6c7ee7c44780) ![image](/attachments/ae64946b-1739-40c2-a555-a6449c93b59c) | | Old Add | New Add | | ![image](/attachments/9d617d08-1acc-47cb-a35c-023fcfe0ab2f) | ![image](/attachments/f938becb-8177-4c76-8397-0858242e77f6) | Big thanks to @tintwotin for his [space_nla.py Gist](https://gist.github.com/tin2tin/25ce28b66b560178f572c0d201fc42b4). A bulk of these changes are from that.
Nate Rupsis added 1 commit 2023-11-13 17:00:05 +01:00
Nate Rupsis added the
Module
Animation & Rigging
label 2023-11-13 18:53:30 +01:00
First-time contributor

For consistency with ex. 3D View, consider adding icons to the Add menu.

Btw. when I did that reworked version of space_nla.py I also did a write-up with some images with ex. improvements(for ex. consistency and exposing functionality) in the View menu.
image

It can be found here: https://gist.github.com/tin2tin/b0d3ac8e64f1a7e9b52518f739391eb3
(scroll down for images)

Personally, I prefer to have the Edit operators in one menu and the Strip property operators in another. The Strip menu(in both the NLA & the VSE) becomes very cluttered and very long, and since the NLA and the VSE typically are nested in the lower part of the screen, on a HD screen, the lower part of a long menu will simply not be visible.

For consistency with ex. 3D View, consider adding icons to the Add menu. Btw. when I did that reworked version of space_nla.py I also did a write-up with some images with ex. improvements(for ex. consistency and exposing functionality) in the View menu. ![image](/attachments/a7e9c014-897a-487a-ab29-cc13f681187c) It can be found here: https://gist.github.com/tin2tin/b0d3ac8e64f1a7e9b52518f739391eb3 (scroll down for images) Personally, I prefer to have the Edit operators in one menu and the Strip property operators in another. The Strip menu(in both the NLA & the VSE) becomes very cluttered and very long, and since the NLA and the VSE typically are nested in the lower part of the screen, on a HD screen, the lower part of a long menu will simply not be visible.
7.6 KiB
Member

The consensus from the animation & rigging module meeting is that this is a great improvement, and we're in favor.

Unfortunately, I forgot to ask about the icons during the meeting. I think it makes sense to be consistent with what other areas of Blender are doing. However, I don't think we should block this menu reorg on that, for example if there aren't already appropriate icons readily available in Blender. Adding appropriate icons can be a separate task if that's the case.

The consensus from the animation & rigging module meeting is that this is a great improvement, and we're in favor. Unfortunately, I forgot to ask about the icons during the meeting. I think it makes sense to be consistent with what other areas of Blender are doing. However, I don't think we should block this menu reorg on that, for example if there aren't already appropriate icons readily available in Blender. Adding appropriate icons can be a separate task if that's the case.
First-time contributor

Yes, missing icons shouldn't be a showstopper. There are a few:
image

One thing to consider is if it is a bit redundant with repeating the name of the Main menu inside the lower levels ex.:
image
Whereas it is not very clear what Empties are referred to here? (Maybe it's just me?)

And:
image

The last 3 entries seems far too wordy(and still not understandable)?

And:
image

"Objects" is that objects from the 3D View? (Not clear what objects this is referring to).

Yes, missing icons shouldn't be a showstopper. There are a few: ![image](/attachments/21931d94-f48d-4e8a-acb5-1fad64b093d0) One thing to consider is if it is a bit redundant with repeating the name of the Main menu inside the lower levels ex.: ![image](/attachments/c53f75df-dc3f-402c-947d-0cd156853d54) Whereas it is not very clear what Empties are referred to here? (Maybe it's just me?) And: ![image](/attachments/39744fb5-a1e2-40ef-9716-6d97cbaaa08f) The last 3 entries seems far too wordy(and still not understandable)? And: ![image](/attachments/70de6775-6d24-446e-b428-3bd30ecbbb85) "Objects" is that objects from the 3D View? (Not clear what objects this is referring to).
Author
Member

@Harley what's the prevailing UI wisdom when it comes to icons in the menus?

As far as I know, only the 3D view port and VSE have icons in the add menu. None of the other Animation editors (or any other editors that I know if) have them.

@tintwotin Ah yes, I agree that removing redundant names would be useful.

As for the "Remove empties", I previously thought that operator removed tracks without strip on them. However its for unused animation data as a whole (meaning actions, tracks, and strips associated to an Animation block. Looking at the code, it's not even completed...). I don't think it's used very often.

Anyway, I'm wondering if a new "Remove empty tracks" operator would be useful.

@Harley what's the prevailing UI wisdom when it comes to icons in the menus? As far as I know, only the 3D view port and VSE have icons in the add menu. None of the other Animation editors (or any other editors that I know if) have them. @tintwotin Ah yes, I agree that removing redundant names would be useful. As for the "Remove empties", I previously thought that operator removed tracks without strip on them. However its for unused animation data as a whole (meaning actions, tracks, and strips associated to an Animation block. Looking at the code, it's not even completed...). I don't think it's used very often. Anyway, I'm wondering if a new "Remove empty tracks" operator would be useful.
Nate Rupsis added 3 commits 2023-11-27 18:35:59 +01:00
Nate Rupsis changed title from WIP: Anim: Refactoring NLA menu into more sensible format to Anim: Refactoring NLA menu into more sensible format 2023-11-27 18:37:41 +01:00
Nate Rupsis requested review from Nathan Vegdahl 2023-11-27 18:37:58 +01:00
Nate Rupsis requested review from Christoph Lendenfeld 2023-11-27 18:37:59 +01:00
Nate Rupsis requested review from Harley Acheson 2023-11-27 18:38:09 +01:00
Nate Rupsis requested review from Sybren A. Stüvel 2023-11-27 18:38:17 +01:00
Member

@Harley what's the prevailing UI wisdom when it comes to icons in the menus?

We are currently trying to use judiciously, so just when necessary. Mostly as weigh points, to help visual breaks of sections, differentiate between similar items that are close together and can be confused, etc.

That said, if you have icons for all the items of an "Add" menu I'd go for it. But no, don't ever wait on perfect icons because people can bikeshed on those forever. Even if you are planning on making better ones eventually, I'd just stick in the ones suggested for tintwotin for now.

Random comments from someone who doesn't use this area of blender, so like a brand new user:

If you have plans to support "copy" and "paste" of items using the clipboard or other means it can make sense to keep an "Edit" menu. Otherwise you end up adding a "Edit" menu back later and will shuffle things back into it.

Some of these items start with the word "Start". Are those needed? Is "Start Editing Stashed Action" different from "Edit Stashed Action"?

Does "Sync Action Length" set something that keeps those values synchronized from then on? Or is it more like "Update" or "Refresh" action length?

> @Harley what's the prevailing UI wisdom when it comes to icons in the menus? We are currently trying to use judiciously, so just when necessary. Mostly as weigh points, to help visual breaks of sections, differentiate between similar items that are close together and can be confused, etc. That said, if you have icons for all the items of an "Add" menu I'd go for it. But no, don't ever wait on perfect icons because people can bikeshed on those forever. Even if you are planning on making better ones eventually, I'd just stick in the ones suggested for tintwotin for now. Random comments from someone who doesn't use this area of blender, so like a brand new user: If you have plans to support "copy" and "paste" of items using the clipboard or other means it can make sense to keep an "Edit" menu. Otherwise you end up adding a "Edit" menu back later and will shuffle things back into it. Some of these items start with the word "Start". Are those needed? Is "Start Editing Stashed Action" different from "Edit Stashed Action"? Does "Sync Action Length" set something that keeps those values synchronized from then on? Or is it more like "Update" or "Refresh" action length?
Christoph Lendenfeld approved these changes 2023-11-28 13:00:03 +01:00
Christoph Lendenfeld left a comment
Member

nice improvement

Harleys comment about the "Start..." item is valid, but I don't know enough about the feature to have a strong opinion on that.
Also we can visit that on a follow up patch if needed

nice improvement Harleys comment about the "Start..." item is valid, but I don't know enough about the feature to have a strong opinion on that. Also we can visit that on a follow up patch if needed
First-time contributor

@nrupsis @Harley Small remark, correct me if i'm wrong, track contain strips .... and Add menu is adding sth inside a Track so it will be better the order of menus could be from general to very specific, i mean, from left: (1st) Track (2nd) Add (3rd) Strip
about (2nd) (3rd) islike we have in viewport "Add " then "Object "

@nrupsis @Harley Small remark, correct me if i'm wrong, track contain strips .... and Add menu is adding sth inside a Track so it will be better the order of menus could be from general to very specific, i mean, from left: (1st) Track (2nd) Add (3rd) Strip about (2nd) (3rd) islike we have in viewport "Add " then "Object "
Author
Member

@hamza-el-barmaki We had a module meeting yesterday, and we think the current UI layout works well. But we're open to future discussions about it.

@Harley Those are good points. We talked about the items that start with the word "Start", and we think that can get removed (will be in a follow up PR). I'll need to talk to @BClark about the Sync Action length.

As for the copy paste, I took a look at the other animation editors, and they don't have edit menus. Any copy/paste functionality is within the relevant menu (I.e dopesheet > Key > Copy/paste Keyframe).

For the NLA, if we choose to implement that, I think those options would also live in the corresponding menus (Strip -> Copy / Paste Strip, etc).

@hamza-el-barmaki We had a module meeting [yesterday](https://devtalk.blender.org/t/2023-11-30-animation-rigging-module-meeting/32323), and we think the current UI layout works well. But we're open to future discussions about it. @Harley Those are good points. We talked about the items that start with the word "Start", and we think that can get removed (will be in a follow up PR). I'll need to talk to @BClark about the Sync Action length. As for the copy paste, I took a look at the other animation editors, and they don't have edit menus. Any copy/paste functionality is within the relevant menu (I.e dopesheet > Key > Copy/paste Keyframe). For the NLA, if we choose to implement that, I think those options would also live in the corresponding menus (Strip -> Copy / Paste Strip, etc).
Harley Acheson approved these changes 2023-12-01 19:37:16 +01:00
Nate Rupsis merged commit 2cc6519692 into main 2023-12-01 20:11:11 +01:00
Nate Rupsis deleted branch NLA-menu-cleanup 2023-12-01 20:11:13 +01:00
Member

Teamwork for the win, thank you all !!!

Teamwork for the win, thank you all !!!
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#114805
No description provided.