Compositor: Re-organize Add menu #111481
No reviewers
Labels
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
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#111481
Loading…
Reference in New Issue
No description provided.
Delete Branch "pablovazquez/blender:ui-compositor-add-menu-reorg"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The goal is improve discoverability and consistency with other editors.
Split menu into groups, divided by separators, sorting alphabetically
within each group of items. Following how it is in Geometry Nodes.
As part of the discoverability goal, having dedicated menus for things
like
Tracking
andKeying
will hopefully make casual users discoverthis side of Blender.
The new structure is as follows:
Screenshots
The current menu only has 1 level of depth in menus, which makes
for quick access of entries. This becomes less relevant as more nodes
are added, and users being able to add their own node assets.
Especially when paired up with the upcoming search in menus ,
having multi-level menus is more about discoverability and clarity.
Future changes
I think it would be best for this to be reviewed by the compositor team. The code is straightforward, so I can't offer much experience here.
Since this is also trying to follow Geometry Nodes I thought it might make sense. Good idea, will poke the VFX module. Thanks!
Hey VFX module, @sebastian_k, @SeanKennedy, @eyecandy, any feedback on the organization of these menus?
Hey! Most of the stuff I really like, and I think for discoverabilty this does help a lot.
The only thing I would maybe change from a practise and speed point of view is the Color Menu.
Mix and Alpha Over are the 2 of the things that are being used most often, at least from my experience.
Having those 2 essential nodes in a sub-sub-menu is not ideal.
So from a pratice point of view I would put them like this:
Color -> Alpha Over
-> Mix
-> Adjust
-> ...
To avoid having "Mix" 2 times you could rename the remaining contents of the Mix menu like this:
Channels -> Combine Color
-> Separate Color
-> Z Combine
Or, now that I think of it, why not put Mix as top level?
So:
Input
Output
Color
Mix -> Alpha Over
-> Mix
-> Channels -> ...
I think that would be best for a fast workflow without too many sub-menus.
A lot of reorganization makes the menus more clear indeed.
I have few notes.
First, there are those menu items:
Filter -> Blur -> Blur
Filter -> Filter
Keying -> Keying
It looks a bit strange to duplicate the menu entry as a node name. It is not really a new issue, and I can't currently think of a good alternative. But if someone has ideas here would be nice to hear!
Not sure why
Posterize
is inColor
. Following the logic ofKuwhara
andPixelat
nodes it should be inFilter
.The
Texture
menu is a bit confusing. Surely, theTexture
(which is a Texture data-block) is fine there. But, theBokeh Image
is something else from it.I think either we should follow the "Input" logic here (where the patch keeps and
Image
) and moveTexture
andBokeh Image
toInput
. Or, rather, follow shading nodes and haveImage Texture
,Texture
(maybe with better name),Bokeh Image
in theTexture
menu,Mask -> Set Alpha
feels to b w bit off. The rest of the nodes in that category generate mask. Surely you then need to apply that mask somehow, but there is a conflict of mental models here. The rest of the nodes seems to be organized by "what they do" aspect, but the "Set Alpha" is inMask
menu because of a "workflow" paradigm of thinking.The
Color Spill
is not really an adjustment node. The rest of the nodes in that menu can be seen as mainly an artistic tweaks, but theColor Spill
is to remove spill of the greenscreen on actors and scene. Is not as much of artistic choice here, is more figuring out values for sliders which gets rid of the spill the best.In a way, if we find it is fine to have some nodes organized from a workflow perspective (similar to
Set Alpha
) then it makes more sense to haveColor Spill
in theKeying
menu,Lens Distortion
andMovie Distortion
are not really a transform.It is not something I can immediately give definitive design answer here, but within a context of #108944 it feels like we need to be careful and make it clear to artists which nodes can transform without clipping by doing smart things with data and display window, and which ones operate on pixel data within the data window.
Lens distortion might or might not expand the data window, and similarly the Blur node.
For now wanted to bring this awareness, as we'd first need to finalize some other design first.
The name
Utilities
is never a good name for discoverability. Those are mainly scalar arithmetic (other than normalize). So perhaps just call the menu that, and find a good place for theNormalize
.Thanks for the feedback!
@sebastian_k I like the idea of moving
Mix
to the top level, it's not consistent with other node editors but it's used so often that it's good to have it at a glance. Although the more nodes that get added people simply search anyway. MovedAlpha Over
there, and renamed theMix
node entry toMix Color
.The
Combine/Separate
nodes I put them together in their own group. But didn't make aChannels
sub-menu as it sounds superfluous for so few options.@Sergey Good points regarding
Texture
. Removed the menu and moved the entries back toInput
. Also movedPosterize
andColor Spill
, indeed makes more sense there.Regarding
Set Alpha
, I've moved it toColor
for now. Not totally solds on it but it makes more sense there than inMask
.Lens Distortion
andMovie Distortion
I'm not sure what to do so I left them as is. Open to suggestions.Utilities
comes from the organization of Geometry Nodes.Scalar Arithmetic
is not the most user friendly name either. Perhaps in the future when we have more nodes and people use search more than menus, it makes sense to have that as label of a sub-menu.What do you think of the patch now? (updated patch, description, and all screenshots)
Thanks for the updates.
I was checking some other software like Natron. Seems they do consider lens distortion and estimation a
Transform
node.So while I am not entirely happy, but can't think of a better alternative. So unless Sebastian has some great idea think we should just stick to those nodes be in the Transform menu.
I see.
I agree
Scalar Arithmetic
is not the most common term people might be using, but I disagree with the idea that using very ambiguous term helps clarity and discoverability.The menu can also be called
Math
(similar to other compositing softwares), and theSwitch
,Switch View
, andReroute
go to a, say,Flow
menu.At least that is how I would structure things.
But I am also a strong believer in as much unified menu structure as possible, so that it is easier to find node in Compositor when you know where it is in Geometry nodes, i.e. So, again, if that was up to me, I would have changed the
Utilities
menu in the geometry nodes. But if it is not something we can do, then I'd rather stick to a more unified and less ideal name than to invent own paradigm of node organization in different node systems.Discussed this with Sergey and we agreed that keeping consistency with other editors:
That being said, search should be improved to add the ability to search within modes nodes such as Math or Mix.
Utilities
is not ideal as a name, but it is consistent. We agreed on keeping it this way for now, continue with updating the Add menu in Shading Nodes, and then discuss changingUtilities
to a more clear naming but do it in all editors at once.Updated patch and screenshots.
Generally looks fine. There is an inlined comment about seemingly unused
i18n_contexts
. If it is indeed unused please remove. But no need in extra iteration of review.It is indeed a trade-off between most-efficient organization for the editor vs. ease of discoverability across multiple editors. I think it is reasonable to try to unify menu structure which helps discoverability for new people in all editors, and for the more power users a lot of improvements possible via better search and the link-drag-add improvements.
In any case, there are lots of good improvements here already, and we can always re-iterate in the event we'll find out something is less ideal after the change.
@ -8,1 +8,3 @@
from bpy.app.translations import (
pgettext_iface as iface_,
contexts as i18n_contexts,
Only import what's needed. The
i18n_contexts
does not seem to be used?I realize I'm late to the party here, sorry about that! Seems like you guys made great decisions. I had a couple thoughts and questions. I really need to be faster.
For the nodes that have the same name as their category (Filter -> Blur -> Blur, Filter -> Filter, Keying -> Keying), wouldn't it be easy enough to rename them, the same way Mix has now become Mix Color? Keying could be Keyer, but not sure what I would call Blur or FIlter. Filter is the worst, it just doesn't describe anything that it might be useful for.
I also agree that Mix and Alpha Over should be top level.
regarding where Set Alpha should go, what if there was a Channels menu option? Set Alpha, Alpha Convert, Separate, Combine, things like that could go in there.
Does it make sense to have Movie Distortion in the Tracking menu? It's only applicable once you've set up a tracking scene. Plane Track Deform is in there already, and it’s also a type of transform that relates specifically to tracking/matchmoving.
I'm not a big fan of calling a menu Flow. I prefer Layout.