UI: Reorganize 'View' menus in animation and video editors to make them more consistent #116492

Closed
Nika Kutsniashvili wants to merge 6 commits from nickberckley:view-menu into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
Contributor

Issue:
View menu in animation and video editors are too different from each other and unorganized. Same operators appear in different places in different editors. That makes navigation them harder, because for example you expect framing operators at the bottom because they're at the bottom in graph editor, but they're at the top in sequencer. Its important that ordering of operators match as well as possible, so that users can expect certain operators in certain places and dont spend time searching for buttons in messy menus.

Some view-related operators were missing from the menus alltogether. For example Channels toggle and Zoom (shift-b) operators were missing from animation editors, while present in Sequencer. If operators exist they should be documented in the menus.


I did several things in this PR:

  • I added Channels region toggle in animation editors View menus. That toggle was only accessible in new "Region Toggle Pie" menu, and similar toggle is available in Sequencer, so it makes sense to expose them here as well, so they can also be assigned shortcut or added in quick favourites.

  • Timeline "View" menu was upside down. Order of the items was opposite of what we have in every other editor. I fixed that. It was also missing great amount of operators and toggles that were present in Dope Sheet, like toggle Sidebar, Show Markers and Preview Range operators were missing altogether, so I added them. Some of them are shared between Timeline and Dope Sheet, so it was creating an issue where you could enable toggle in one editor but if you switched to other you were seeing the effect, but didn't have a way to turn it off without changing editor.

  • Moved frame all/selected operators at the top, after region toggles to better match 3D viewport menu, and to break up toggles. There were too many toggles grouped together and its getting hard to quickly differentiate between them. Breaking them up into groups helps. Now at top we have region toggles that are similar to all editors, and in the middle we have editor-specific view toggles.

  • Zoom (Shift B) operator wasn't in View menu for animation editors. Added it, since it works and is already there in Sequencer.

  • Added missing separators, or removed unnecessary ones in View menus so that grouping of operators/properties are consistent across all editors and have some logic behind them.

  • Reorganized Sequencer and Movie Clip Editor View menus so that order of operators and properties matches animation editors.

Animation Editors Before After
Timeline timeline_before.png image
Dope Sheet dopesheet_before.png image
Graph Editor (and Drivers) image image
NLA image image
Video Editors Before After
Sequencer sequencer_before.png image
Movie Clip Editor (Graph) image image
Movie Clip Editor (Dope Sheet) image image
**Issue:** View menu in animation and video editors are too different from each other and unorganized. Same operators appear in different places in different editors. That makes navigation them harder, because for example you expect framing operators at the bottom because they're at the bottom in graph editor, but they're at the top in sequencer. Its important that ordering of operators match as well as possible, so that users can expect certain operators in certain places and dont spend time searching for buttons in messy menus. Some view-related operators were missing from the menus alltogether. For example Channels toggle and Zoom (shift-b) operators were missing from animation editors, while present in Sequencer. If operators exist they should be documented in the menus. ----- I did several things in this PR: - I added Channels region toggle in animation editors View menus. That toggle was only accessible in new "Region Toggle Pie" menu, and similar toggle is available in Sequencer, so it makes sense to expose them here as well, so they can also be assigned shortcut or added in quick favourites. - Timeline "View" menu was upside down. Order of the items was opposite of what we have in every other editor. I fixed that. It was also missing great amount of operators and toggles that were present in Dope Sheet, like toggle Sidebar, Show Markers and Preview Range operators were missing altogether, so I added them. Some of them are shared between Timeline and Dope Sheet, so it was creating an issue where you could enable toggle in one editor but if you switched to other you were seeing the effect, but didn't have a way to turn it off without changing editor. - Moved frame all/selected operators at the top, after region toggles to better match 3D viewport menu, and to break up toggles. There were too many toggles grouped together and its getting hard to quickly differentiate between them. Breaking them up into groups helps. Now at top we have region toggles that are similar to all editors, and in the middle we have editor-specific view toggles. - Zoom (Shift B) operator wasn't in View menu for animation editors. Added it, since it works and is already there in Sequencer. - Added missing separators, or removed unnecessary ones in View menus so that grouping of operators/properties are consistent across all editors and have some logic behind them. - Reorganized Sequencer and Movie Clip Editor View menus so that order of operators and properties matches animation editors. | Animation Editors | Before | After | | -------- | -------- | -------- | | Timeline | ![timeline_before.png](/attachments/ff70d96b-81fa-43b1-9ae0-d599fd13e77a) | ![image](/attachments/217a2e85-0593-41ca-8dd5-1eadcd118009) | | Dope Sheet | ![dopesheet_before.png](/attachments/16103ad4-5831-4c24-9860-d62a82584fa1) | ![image](/attachments/d43c68ec-a995-4c1c-8f73-82eaa09723c6) | | Graph Editor (and Drivers) | ![image](/attachments/a3b22750-0085-43f6-930c-8dbe26bfda2b) | ![image](/attachments/bf22f2d2-ed9b-473b-98b5-2e2374973bcf) | | NLA | ![image](/attachments/66859af0-ad14-4d57-bc56-6b9927b7071e) | ![image](/attachments/7ea79fa8-151c-4132-996e-2ce7a7822302) | | Video Editors | Before | After | | -------- | -------- | -------- | | Sequencer | ![sequencer_before.png](/attachments/9898cd9b-be45-4c48-af1e-3e020fe2c902) | ![image](/attachments/37e816f9-5d01-4de6-b2c8-2ceb172f41aa) | | Movie Clip Editor (Graph) | ![image](/attachments/1b6104b6-5f79-4f8e-b942-7fb396f8a08a) | ![image](/attachments/9cb67c57-2f64-4d6f-a4ac-d47072ab57cb) | Movie Clip Editor (Dope Sheet) | ![image](/attachments/77b0adca-32dc-4726-bbf4-9ea9a302afc2) | ![image](/attachments/2639b95d-0468-4b57-b480-9032a7cf8ae2)
Nika Kutsniashvili added 1 commit 2023-12-23 17:09:04 +01:00
Nika Kutsniashvili changed title from UI: Reorganize 'View' menus in animation and video editors to make them more consistent to WIP: UI: Reorganize 'View' menus in animation and video editors to make them more consistent 2023-12-23 17:09:12 +01:00
Nika Kutsniashvili added 2 commits 2023-12-23 18:01:59 +01:00
Nika Kutsniashvili changed title from WIP: UI: Reorganize 'View' menus in animation and video editors to make them more consistent to UI: Reorganize 'View' menus in animation and video editors to make them more consistent 2023-12-23 18:03:33 +01:00
Nika Kutsniashvili requested review from Nathan Vegdahl 2023-12-23 18:04:01 +01:00
Nika Kutsniashvili requested review from Richard Antalik 2023-12-23 18:04:01 +01:00
Author
Contributor

One question I have is if "Auto-Merge Keyframes" toggle belongs to the View menu? If I understand that toggle functionality correctly it actually overwrites keyframes and isn't just hiding them, right? That isn't related to viewing anything, so I think it should be moved into Key menus.

After/if this one is merged, I will do same work for other menus as well, and I want to move it there then.

One question I have is if "Auto-Merge Keyframes" toggle belongs to the View menu? If I understand that toggle functionality correctly it actually overwrites keyframes and isn't just hiding them, right? That isn't related to viewing anything, so I think it should be moved into Key menus. After/if this one is merged, I will do same work for other menus as well, and I want to move it there then.
Nika Kutsniashvili added 1 commit 2023-12-23 21:37:06 +01:00
First-time contributor

I have a question, can the sequencer menu be improved by separating all function of render. For exemple put Sequence render image, sequence render animation and Toggle Sequencer/ Preview in the new menu who would be called render.
The workflow will be improved.

I have a question, can the sequencer menu be improved by separating all function of render. For exemple put Sequence render image, sequence render animation and Toggle Sequencer/ Preview in the new menu who would be called render. The workflow will be improved.
Author
Contributor

It certainly can. But I'll do that as separate PR if its approved

It certainly can. But I'll do that as separate PR if its approved
Nika Kutsniashvili added 1 commit 2023-12-23 21:51:03 +01:00

Seems reasonable to me. @nickberckley is your repository publicly accessible? I can't do git fetch as outlined by "command line instructions" to test the patch.

Seems reasonable to me. @nickberckley is your repository publicly accessible? I can't do git fetch as outlined by "command line instructions" to test the patch.
Author
Contributor

I had disabled public activity, maybe it was that. Try again now

I had disabled public activity, maybe it was that. Try again now

Hmm still doesn't work. It works for other repos though. Not sure what is the issue here. I can try to setup your repo as remote with ssh access, but if this would be recurring issue, it would be best if you try to resolve it (if it's not issue on my end that is...).

Hmm still doesn't work. It works for other repos though. Not sure what is the issue here. I can try to setup your repo as remote with ssh access, but if this would be recurring issue, it would be best if you try to resolve it (if it's not issue on my end that is...).
Author
Contributor

Unfortunately I'm very new to git and don't know how things work properly yet, I'll try to research the issue. If someone has any tip send my way.

Meanwhile if you want to see this changes tho, since they only affect files in startup scripts you can replace files in scripts/startup/bl_ui (in daily builds too) with files from this PR and see changes.

Unfortunately I'm very new to git and don't know how things work properly yet, I'll try to research the issue. If someone has any tip send my way. Meanwhile if you want to see this changes tho, since they only affect files in startup scripts you can replace files in scripts/startup/bl_ui (in daily builds too) with files from this PR and see changes.

@nickberckley No need to send files, setting up remote worked for me. Perhaps you could make another PR as test to see if I can fetch it into branch directly. If not I am no git expert either, so best would be to ask somebody on chat if they know what the issue could be.

@nickberckley No need to send files, setting up remote worked for me. Perhaps you could make another PR as test to see if I can fetch it into branch directly. If not I am no git expert either, so best would be to ask somebody on chat if they know what the issue could be.
Richard Antalik approved these changes 2024-01-04 19:23:36 +01:00
Nika Kutsniashvili added 1 commit 2024-01-04 20:58:09 +01:00
Sybren A. Stüvel added the
Module
Animation & Rigging
Interest
Video Sequencer
labels 2024-01-05 14:19:55 +01:00
Member

Looking at the images in the PR description, it's not clear to me which images are the final proposed menus for each respective editor. A clear before/after comparison for each editor would make this proposal a lot easier to evaluate.

Looking at the images in the PR description, it's not clear to me which images are the final proposed menus for each respective editor. A clear before/after comparison for each editor would make this proposal a lot easier to evaluate.
Author
Contributor

@nathanvegdahl Thanks for the tip. I've updated description with more reasoning and created a table with before/after images

@nathanvegdahl Thanks for the tip. I've updated description with more reasoning and created a table with before/after images
Member

Over-all, I really like this. And I certainly agree with the motivation: trying to make similar/related menus consistent.

Some notes:

[Re: timeline] It was also missing great amount of operators and toggles that were present in Dope Sheet, like toggle Sidebar, Show Markers and Preview Range operators were missing altogether, so I added them.

I think this in particular will require some discussion. We actually want to work towards making the timeline and dope sheet more distinct, rather than less. They've been slowly converging for quite a while, and it's not clear that's a good thing. And this is going even more in that direction of dissolving the distinction between the two.

So in the interest of getting the more obvious improvements landed ASAP, I recommend removing the additions to (but not the reorg of) the timeline menu from this PR, and then after this has landed submitting a separate follow-up PR for that.

Added missing separators, or removed unnecessary ones in View menus so that grouping of operators/properties are consistent across all editors and have some logic behind them.

Can you give a quick run-down of what that logic is?

Some of it I can intuit, but some of it I'm having a hard time figuring out. For example, it's not clear to me why "Realtime Updates" is grouped with "Show Handles and Interpolation" in the dope sheet. (I'm not saying it doesn't make sense, just that I'm not immediately seeing the logic.)

Over-all, I really like this. And I certainly agree with the motivation: trying to make similar/related menus consistent. Some notes: > [Re: timeline] It was also missing great amount of operators and toggles that were present in Dope Sheet, like toggle Sidebar, Show Markers and Preview Range operators were missing altogether, so I added them. I think this in particular will require some discussion. We actually want to work towards making the timeline and dope sheet *more* distinct, rather than less. They've been slowly converging for quite a while, and it's not clear that's a good thing. And this is going even more in that direction of dissolving the distinction between the two. So in the interest of getting the more obvious improvements landed ASAP, I recommend removing the additions to (but not the reorg of) the timeline menu from this PR, and then after this has landed submitting a separate follow-up PR for that. > Added missing separators, or removed unnecessary ones in View menus so that grouping of operators/properties are consistent across all editors and have some logic behind them. Can you give a quick run-down of what that logic is? Some of it I can intuit, but some of it I'm having a hard time figuring out. For example, it's not clear to me why "Realtime Updates" is grouped with "Show Handles and Interpolation" in the dope sheet. (I'm not saying it doesn't make sense, just that I'm not immediately seeing the logic.)
Author
Contributor

We actually want to work towards making the timeline and dope sheet more distinct, rather than less. They've been slowly converging for quite a while, and it's not clear that's a good thing. And this is going even more in that direction of dissolving the distinction between the two.

I thought this might come up so I was careful. Besides the obvious ones that should be there - frame all/selected (as its standard for every editor in Blender), and preview range (this is MOST useful in timeline imho), I only added "Multi-Word Match Search", "Show Sliders", "Realtime Updates" and "Auto-Merge Keyframes". My reasoning for that is that they work, and if something works and can be assigned a shortcut even in editor it should be exposed, at least until they're removed from code.

I don't have problem removing Multi-Word Match Search and Auto-Merge Keyframes. Latter I think doesnt belong to the menu at all and should be moved in Key menu in Dope Sheet. But "Show Sliders" I think very useful in Timeline, because for motion graphics artists who come from other softwares like After Effects, its natural for them to control values directly from animation editor and it helps a lot, at least from what I've seen from my Blender classes.

Realtime Updates I have mix feeling about. I have never turned that off myself so I don't know if that is useful for mograph people.

Can you give a quick run-down of what that logic is?

image

This is the graph I made when working on this. I made PR for rest of menus too to match this logic.

Realtime Updates I agree is misplaced there, I left because it was already grouped and I didnt want to offset it too much, but if thats alright with you I think it belongs more with Errors & Cache ["Show Erorrs", "Show Selected"] grouping.

> We actually want to work towards making the timeline and dope sheet *more* distinct, rather than less. They've been slowly converging for quite a while, and it's not clear that's a good thing. And this is going even more in that direction of dissolving the distinction between the two. I thought this might come up so I was careful. Besides the obvious ones that should be there - frame all/selected (as its standard for every editor in Blender), and preview range (this is MOST useful in timeline imho), I only added "Multi-Word Match Search", "Show Sliders", "Realtime Updates" and "Auto-Merge Keyframes". My reasoning for that is that they work, and if something works and can be assigned a shortcut even in editor it should be exposed, at least until they're removed from code. I don't have problem removing Multi-Word Match Search and Auto-Merge Keyframes. Latter I think doesnt belong to the menu at all and should be moved in Key menu in Dope Sheet. But "Show Sliders" I think very useful in Timeline, because for motion graphics artists who come from other softwares like After Effects, its natural for them to control values directly from animation editor and it helps a lot, at least from what I've seen from my Blender classes. Realtime Updates I have mix feeling about. I have never turned that off myself so I don't know if that is useful for mograph people. > Can you give a quick run-down of what that logic is? ![image](/attachments/b9e6daf9-6778-4fa2-9d36-0cd6bffc026d) This is the graph I made when working on this. I made PR for rest of menus too to match this logic. Realtime Updates I agree is misplaced there, I left because it was already grouped and I didnt want to offset it too much, but if thats alright with you I think it belongs more with Errors & Cache ["Show Erorrs", "Show Selected"] grouping.
First-time contributor

as mentioned in #116797 would it be possible to modify the position of elements linked to rendering in the viewport

as mentioned in #116797 would it be possible to modify the position of elements linked to rendering in the viewport
Member

@nickberckley

This is the graph I made when working on this. I made PR for rest of menus too to match this logic.

Thanks! That looks great, and makes a lot of sense to me.

I thought this might come up so I was careful. Besides the obvious ones that should be there [...]

That's a good point about frame all/selected and preview range. Those definitely seem like they belong. To me, "Realtime Updates" and "Auto-merge Keyframes" also seem relevant, since you can manipulate keys within the timeline, and I think(?) that's still desirable.

But really, IMO the timeline should just be a top-level summary of keys at most, with no per-channel functionality (that's precisely what the dopesheet is for). So both "Multi-Word Match Search" and "Show Sliders" still seem out of place to me, and I'd prefer to leave them out.

But that's just my own opinion. So I'll add this particular question to the animation and rigging module meeting for discussion today, and get back to you with any consensus.

@nickberckley > This is the graph I made when working on this. I made PR for rest of menus too to match this logic. Thanks! That looks great, and makes a lot of sense to me. > I thought this might come up so I was careful. Besides the obvious ones that should be there [...] That's a good point about frame all/selected and preview range. Those definitely seem like they belong. To me, "Realtime Updates" and "Auto-merge Keyframes" also seem relevant, since you can manipulate keys within the timeline, and I think(?) that's still desirable. But really, IMO the timeline should just be a top-level summary of keys at most, with no per-channel functionality (that's precisely what the dopesheet is for). So both "Multi-Word Match Search" and "Show Sliders" still seem out of place to me, and I'd prefer to leave them out. But that's just my own opinion. So I'll add this particular question to the animation and rigging module meeting for discussion today, and get back to you with any consensus.
Member

For easy reference, here's the set of additional timeline menu items I counted:

  • Region Toggles:
    • Sidebar (toggle)
    • Channels (toggle)
  • Framing:
    • Frame Selected
    • Zoom
  • Multi-word Match Search (toggle)
    Keyframing Toggles:
    • Realtime Updates (toggle)
    • Show Sliders (toggle)
    • Auto-Merge Keyframes (toggle)
  • Preview Range:
    • Set Preview Range
    • Clear Preview Range
    • Set Preview to Selected
  • Toggle Graph Editor
For easy reference, here's the set of additional timeline menu items I counted: - Region Toggles: - `Sidebar` (toggle) - `Channels` (toggle) - Framing: - `Frame Selected` - `Zoom` - `Multi-word Match Search` (toggle) Keyframing Toggles: - `Realtime Updates` (toggle) - `Show Sliders` (toggle) - `Auto-Merge Keyframes` (toggle) - Preview Range: - `Set Preview Range` - `Clear Preview Range` - `Set Preview to Selected` - `Toggle Graph Editor`
Author
Contributor

@nathanvegdahl I split Timeline and Curve toggles group in Graph Editor (only place where Curve toggles exist) and I think it shows logic more clearly and also is more inlined with other editors, since Timeline toggles are now same as in others

image

--

I forgot about Toggle Graph Editor in Timeline. That can be removed as well, I guess.
But once thing I thought about is that since Timeline is the first animation editor user encouters when learning Blender, as its in Layout workspace, I'm thinking properties that we want user to know about maybe should be there. But its another thing if we want user to be using Timeline with Graph Editor at all. I'll leave that to you as well.

@nathanvegdahl I split Timeline and Curve toggles group in Graph Editor (only place where Curve toggles exist) and I think it shows logic more clearly and also is more inlined with other editors, since Timeline toggles are now same as in others ![image](/attachments/a5eb66df-1aec-4003-af1d-b6004e3562b8) -- I forgot about Toggle Graph Editor in Timeline. That can be removed as well, I guess. But once thing I thought about is that since Timeline is the first animation editor user encouters when learning Blender, as its in Layout workspace, I'm thinking properties that we want user to know about maybe should be there. But its another thing if we want user to be using Timeline with Graph Editor at all. I'll leave that to you as well.
Member

@nickberckley
The consensus from the animation & rigging module meeting was that it would be easier to evaluate this PR generally (not just for the timeline editor) if it's separated into two PRs:

  1. A reorganization PR.
  2. A follow-up PR that adds new menu items.

I realize that's a bit of a pain, and you were likely hoping to land this as a single PR. But that way at least the reorganization can be landed (which is already an improvement, and I think pretty uncontroversial), without blocking on reaching consensus about what menu items belong in which editors.

@nickberckley The consensus from the animation & rigging module meeting was that it would be easier to evaluate this PR generally (not just for the timeline editor) if it's separated into two PRs: 1. A reorganization PR. 2. A follow-up PR that adds new menu items. I realize that's a bit of a pain, and you were likely hoping to land this as a single PR. But that way at least the reorganization can be landed (which is already an improvement, and I think pretty uncontroversial), without blocking on reaching consensus about what menu items belong in which editors.
Author
Contributor

I have created a split of this that only rearranges existing items in #117162 @nathanvegdahl

I have created a split of this that only rearranges existing items in #117162 @nathanvegdahl
Author
Contributor

I've further split PR into parts, this one adds Channels toggle in animation editors #117837

I've further split PR into parts, this one adds Channels toggle in animation editors #117837

Pull request closed

Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
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
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
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
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
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
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
4 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#116492
No description provided.