UI: Reorganize mesh sculpt mode menus #122437

Merged
Pablo Vazquez merged 4 commits from nickberckley/blender:sculpt-menu into main 2024-06-03 16:36:48 +02:00
Contributor

So many new items were added in mesh sculpt mode for 4.2 that "Sculpt" menu can no longer fit into 25 inch monitor, so little reorganization and regrouping is due.

While I try to make everything as consistent with other modes as possible, it's important to remember that sculpt mode is little different, because big number of uses access it from tablets, with pen or finger, so easy of access should also be taken into account.

Sculpt Before Sculpt After
image image

Changes include:

  • Moved "Move, Rotate, Scale, Sphere" operators into Transform menu, to make them consistent with other object modes.

  • Renamed "Sphere" to "To Sphere" in UI, for the same reason.

  • Box, Lasso, Line, and Polyline Show/Hide operators, which took most of the space are now grouped in Show/Hide menu, which also exists in other modes. Its important to note that there are other operators that deal with showing and hiding exposed directly in Sculpt menu (second grouping is all related to show/hide), but I think its best to leave them there because they're very often accessed and having them in submenu would make it cumbersome for tablet users.

  • Box, Lasso, Line, and Polyline Trim/Add operators similarly moved to new "Trim/Add" menu and grouped together with Line Project, Fair Positions and Fair Tangency in boolean & projection group.

  • Renamed "Dynamic Topology Toggle" to just "Dynamic Topology", toggle is implied by checkbox.

  • Instead of grouping gesture tools based on shape, I grouped them by tool. It makes more sense to have "Show" and "Hide" Tools separated, that way user can develop muscle memory for picking top choice for hiding, and bottom choice for hiding.

Show/Hide menu Trim/Add menu
image image

Also made little changes in Mask menu. Since Mask is selection for sculpt mode I treated this menu as "Select" menu and similar ot Select menus in other modes.

  • Reorganized Fill, Clear, Invert Mask operators to match "All, None, Invert" order in other Select menus
  • Separated gesture mask tools (Box, Lasso, Polyline) as second group, also similar to Select menus
  • Added missing Line Mask gesture operator
Mask Before Mask After
image image

In future:

  1. There is a plan to add more gesture fairing tools in #120681. When that happens, they can be added in new Fairing or Project menus with Line Project.
  2. Sample Color can be moved into separate "Color" menu when its adedd (planned for Sculpt modes when Color Filter tool options are exposed as operators in #102427)

Questions to reviewers/artists: "Set Pivot" menu should be next to Transform at the top, to match "Set Origin" menu in object mode, but I'm afraid it might mess with muscle memory for people who expect it at the bottom. Should it stay at the bottom, or move at the top?

So many new items were added in mesh sculpt mode for 4.2 that "Sculpt" menu can no longer fit into 25 inch monitor, so little reorganization and regrouping is due. While I try to make everything as consistent with other modes as possible, it's important to remember that sculpt mode is little different, because big number of uses access it from tablets, with pen or finger, so easy of access should also be taken into account. | Sculpt Before | Sculpt After | | -------- | -------- | | ![image](/attachments/71ff5dfe-6dc2-4a6f-8d90-b30d03ba68d6) | ![image](/attachments/6e7f9f80-bf84-4006-8354-7cd4c6245620) | --- **Changes include:** - Moved "Move, Rotate, Scale, Sphere" operators into _Transform_ menu, to make them consistent with other object modes. - Renamed "Sphere" to "To Sphere" in UI, for the same reason. - Box, Lasso, Line, and Polyline Show/Hide operators, which took most of the space are now grouped in Show/Hide menu, which also exists in other modes. Its important to note that there are other operators that deal with showing and hiding exposed directly in Sculpt menu (second grouping is all related to show/hide), but I think its best to leave them there because they're very often accessed and having them in submenu would make it cumbersome for tablet users. - Box, Lasso, Line, and Polyline Trim/Add operators similarly moved to new "Trim/Add" menu and grouped together with Line Project, Fair Positions and Fair Tangency in boolean & projection group. - Renamed "Dynamic Topology Toggle" to just "Dynamic Topology", toggle is implied by checkbox. - Instead of grouping gesture tools based on shape, I grouped them by tool. It makes more sense to have "Show" and "Hide" Tools separated, that way user can develop muscle memory for picking top choice for hiding, and bottom choice for hiding. | Show/Hide menu | Trim/Add menu | | -------- | -------- | -------- | | ![image](/attachments/983a7f11-70c9-444c-802f-7b93b48abc39) | ![image](/attachments/a3ceed86-0547-407a-b860-3f6d2add1c48) | --- Also made little changes in Mask menu. Since Mask is selection for sculpt mode I treated this menu as "Select" menu and similar ot Select menus in other modes. - Reorganized Fill, Clear, Invert Mask operators to match "All, None, Invert" order in other Select menus - Separated gesture mask tools (Box, Lasso, Polyline) as second group, also similar to Select menus - Added missing Line Mask gesture operator | Mask Before | Mask After | | -------- | -------- | | ![image](/attachments/d723c2c9-1ba3-4cd4-ad51-a43272910a00) | ![image](/attachments/6bb92eef-f443-4c38-991a-c8a2006c3cda) | --- In future: 1. There is a plan to add more gesture fairing tools in #120681. When that happens, they can be added in new Fairing or Project menus with Line Project. 2. Sample Color can be moved into separate "Color" menu when its adedd (planned for Sculpt modes when Color Filter tool options are exposed as operators in #102427) Questions to reviewers/artists: "Set Pivot" menu should be next to Transform at the top, to match "Set Origin" menu in object mode, but I'm afraid it might mess with muscle memory for people who expect it at the bottom. Should it stay at the bottom, or move at the top?
Nika Kutsniashvili added 1 commit 2024-05-29 14:19:21 +02:00
Nika Kutsniashvili requested review from Sean Kim 2024-05-29 14:19:54 +02:00
Iliya Katushenock added this to the User Interface project 2024-05-29 14:20:15 +02:00
Iliya Katushenock added the
Module
Sculpt, Paint & Texture
label 2024-05-29 14:20:19 +02:00
Nika Kutsniashvili requested review from Daniel Bystedt 2024-05-29 14:20:37 +02:00
Pablo Vazquez added the
Interest
User Interface
label 2024-05-29 15:07:56 +02:00
Pablo Vazquez requested review from Julien Kaspar 2024-05-29 15:08:03 +02:00
Member

2, Line Mask is missing from Mask menus gesture operators. Is that intentional or forgotten?

Found the commit that added the tool in the first place; it seems like it was forgotten. I think it's fine to add with this PR

> 2, Line Mask is missing from Mask menus gesture operators. Is that intentional or forgotten? Found the [commit](https://projects.blender.org/blender/blender/commit/8c81b3fb8b9c857626c037fe0c95c5d48a3ca20f) that added the tool in the first place; it seems like it was forgotten. I think it's fine to add with this PR
Sean Kim requested changes 2024-05-29 23:50:19 +02:00
Dismissed
Sean Kim left a comment
Member

Overall I agree with the changes and I think this looks much better organized as a whole, though I can't really provide detailed input from the user side. Requesting changes specifically for the line in space_view3d.py

Overall I agree with the changes and I think this looks much better organized as a whole, though I can't really provide detailed input from the user side. Requesting changes specifically for the line in `space_view3d.py`
@ -3099,6 +3099,7 @@ class VIEW3D_MT_object_context_menu(Menu):
elif obj.type == 'EMPTY':
layout.operator_context = 'INVOKE_REGION_WIN'
layout.operator("image.convert_to_mesh_plane")
Member

This appears to be mistakenly added?

This appears to be mistakenly added?
Author
Contributor

Other PR got mixed up yes.

Other PR got mixed up yes.
nickberckley marked this conversation as resolved
@ -3904,0 +3897,4 @@
props.action = 'SHOW'
class VIEW3D_MT_sculpt_trimadd(Menu):
Member

This name is slightly odd to me. I see that showhide has a precedence elsewhere in this file, but I think this is probably fine as VIEW3D_MT_sculpt_trim

This name is slightly odd to me. I see that `showhide` has a precedence elsewhere in this file, but I think this is probably fine as `VIEW3D_MT_sculpt_trim`
nickberckley marked this conversation as resolved
Nika Kutsniashvili added 1 commit 2024-05-30 11:06:25 +02:00
Nika Kutsniashvili added 1 commit 2024-05-30 11:09:36 +02:00
Nika Kutsniashvili added 1 commit 2024-05-30 11:13:02 +02:00
Member

This is great! I think the sculpt menu could be simplified even further with a subset named "visibility". Do you think you could add that to this PR?

bild

This is great! I think the sculpt menu could be simplified even further with a subset named "visibility". Do you think you could add that to this PR? ![bild](/attachments/d6c9b89b-9542-4814-bfc5-cbaf30be1d9f)
81 KiB
Sean Kim approved these changes 2024-06-01 02:49:54 +02:00
Sean Kim left a comment
Member

Looks good from the code side of things

Looks good from the code side of things
Member

This looks great to me! I agree with all the changes in the PR 👍

This looks great to me! I agree with all the changes in the PR 👍
Julien Kaspar approved these changes 2024-06-03 11:29:34 +02:00
Author
Contributor

@DanielBystedt I agree in general, but I'd rather do that in later versions, to not cause too much disruption suddenly and also see what else is going to be added there

@DanielBystedt I agree in general, but I'd rather do that in later versions, to not cause too much disruption suddenly and also see what else is going to be added there
Pablo Vazquez approved these changes 2024-06-03 16:33:11 +02:00
Pablo Vazquez left a comment
Member

Great addition to 4.2 combined with other menu reorganization.

I'll merge this since it has been approved both by developers and technical artists.

Further work (like a new Visibility menu) could happen afterwards, perhaps for 4.3 and combined with a similar menu in other modes.

Great addition to 4.2 combined with other menu reorganization. I'll merge this since it has been approved both by developers and technical artists. Further work (like a new Visibility menu) could happen afterwards, perhaps for 4.3 and combined with a similar menu in other modes.
Pablo Vazquez merged commit 1fe8fbd93a into main 2024-06-03 16:36:48 +02:00
Pablo Vazquez deleted branch sculpt-menu 2024-06-03 16:36:51 +02:00
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
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
5 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#122437
No description provided.