Duplicate unused Face selection color #119953

Closed
opened 2024-03-27 09:25:35 +01:00 by Ludvik Koutny · 11 comments
Contributor

System Information
Operating system: Windows-10-10.0.22631-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2 NVIDIA Corporation 4.6.0 NVIDIA 551.76

Blender Version
Broken: version: 4.1.0, branch: blender-v4.1-release, commit date: 2024-03-25 20:42, hash: 40a5e739e270
Worked: (newest version of Blender that worked as expected)

Short description of error
In Blender 4.1, new ThemeView3D.face_mode_select property was added instead of using existing ThemeView3D.face_select property. The ThemeView3D.face_select property is still present, but does not do anything anymore, aside from breaking existing themes by renaming the property but keeping the old unused one. Same issue applies to Edge Selection vs Edge Mode Selection.

Almost all of the non-default themes shipped with Blender are broken by this change too.

To add to the confusion, in UV Editor, this buggy behavior is inverted: ThemeImageEditor.face_select property is what affects the color of the selected faces, while ThemeImageEditor.face_mode_select property is also present, but does not control anything anywhere in the UI.

Exact steps for others to reproduce the error

  1. Open Theme settings in User Preferences.
  2. Navigate to 3D Viewport section.
  3. Customize Face Selection color.

Result: The Face Selection color swatch does nothing. There is nothing in the entire UI affected by this color.
Expected: The Face Selection and Edge Selection color swatches get removed OR they get used to control something.


  1. Open Theme settings in User Preferences.
  2. Navigate to Image/UV Editor section.
  3. Customize Face Mode Selection color.

Result: The Face Mode Selection color swatch does nothing. There is nothing in the entire UI affected by this color.
Expected: The Face Mode Selection swatch gets removed OR is used to control something.

**System Information** Operating system: Windows-10-10.0.22631-SP0 64 Bits Graphics card: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2 NVIDIA Corporation 4.6.0 NVIDIA 551.76 **Blender Version** Broken: version: 4.1.0, branch: blender-v4.1-release, commit date: 2024-03-25 20:42, hash: `40a5e739e270` Worked: (newest version of Blender that worked as expected) **Short description of error** In Blender 4.1, new ThemeView3D.face_mode_select property was added instead of using existing ThemeView3D.face_select property. The ThemeView3D.face_select property is still present, but does not do anything anymore, aside from breaking existing themes by renaming the property but keeping the old unused one. Same issue applies to Edge Selection vs Edge Mode Selection. Almost all of the non-default themes shipped with Blender are broken by this change too. To add to the confusion, in UV Editor, this buggy behavior is inverted: ThemeImageEditor.face_select property is what affects the color of the selected faces, while ThemeImageEditor.face_mode_select property is also present, but does not control anything anywhere in the UI. **Exact steps for others to reproduce the error** 1. Open Theme settings in User Preferences. 2. Navigate to 3D Viewport section. 3. Customize Face Selection color. Result: The Face Selection color swatch does nothing. There is nothing in the entire UI affected by this color. Expected: The Face Selection and Edge Selection color swatches get removed OR they get used to control something. ----------------------------- 1. Open Theme settings in User Preferences. 2. Navigate to Image/UV Editor section. 3. Customize Face Mode Selection color. Result: The Face Mode Selection color swatch does nothing. There is nothing in the entire UI affected by this color. Expected: The Face Mode Selection swatch gets removed OR is used to control something.
Ludvik Koutny added the
Status
Needs Triage
Priority
Normal
Type
Report
labels 2024-03-27 09:25:36 +01:00
Contributor

Edge Selection and Face Selection are still in use, and they set color of the edge/face when you're not in Edge/Face selection. Edge Selection sets the color for edges when you're in Vertex and Face select modes, and Edge Mode Selection sets color for edges when you're in Edge selection mode.

Same applies to faces.

Edge Selection and Face Selection are still in use, and they set color of the edge/face when you're not in Edge/Face selection. Edge Selection sets the color for edges when you're in Vertex and Face select modes, and Edge Mode Selection sets color for edges when you're in Edge selection mode. Same applies to faces.
Author
Contributor

Edge Selection and Face Selection are still in use, and they set color of the edge/face when you're not in Edge/Face selection. Edge Selection sets the color for edges when you're in Vertex and Face select modes, and Edge Mode Selection sets color for edges when you're in Edge selection mode.

Same applies to faces.

I probably spent more time on customizing Blender themes than anyone else since I wrote addon to simplify the process. If I can't figure this out, how do you expect average user to? Why on earth would you not just reuse the existing face color property and add a new one? Blender's theme customization is already hell as it, why make already borderline impossible theme customization truly impossible?

> Edge Selection and Face Selection are still in use, and they set color of the edge/face when you're not in Edge/Face selection. Edge Selection sets the color for edges when you're in Vertex and Face select modes, and Edge Mode Selection sets color for edges when you're in Edge selection mode. > > Same applies to faces. I probably spent more time on customizing Blender themes than anyone else since I wrote addon to simplify the process. If I can't figure this out, how do you expect average user to? Why on earth would you not just reuse the existing face color property and add a new one? Blender's theme customization is already hell as it, why make already borderline impossible theme customization truly impossible?
Member

Hi, thanks for the report. Yes, can confirm. Having two similar properties in themes can be confusing, checking further.

Hi, thanks for the report. Yes, can confirm. Having two similar properties in themes can be confusing, checking further.
Pratik Borhade added
Module
User Interface
Status
Confirmed
and removed
Status
Needs Triage
labels 2024-03-27 09:46:50 +01:00
Member

New edge/face_select_mode was added in dfd1b63cc7

Edge Selection and Face Selection are still in use, and they set color of the edge/face when you're not in Edge/Face selection.

Right but it adds more confusion instead 😅: https://projects.blender.org/blender/blender/src/branch/main/source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_common_lib.glsl#L59

This is not a bug though but would like to hear from @Gilberto.R about the need of separate theme properties.

New `edge/face_select_mode` was added in dfd1b63cc7930d0028aae1f90bf68ee70bc46ef1 > Edge Selection and Face Selection are still in use, and they set color of the edge/face when you're not in Edge/Face selection. Right but it adds more confusion instead 😅: https://projects.blender.org/blender/blender/src/branch/main/source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_common_lib.glsl#L59 This is not a bug though but would like to hear from @Gilberto.R about the need of separate theme properties.
Author
Contributor

New edge/face_select_mode was added in dfd1b63cc7

Edge Selection and Face Selection are still in use, and they set color of the edge/face when you're not in Edge/Face selection.

Right but it adds more confusion instead 😅: https://projects.blender.org/blender/blender/src/branch/main/source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_common_lib.glsl#L59

This is not a bug though but would like to hear from @Gilberto.R about the need of separate theme properties.

Does the Face Mode Selection vs Face Selection do anything in the UV Editor though? I changed Face Mode Selection in the UV Editor to vivid pink so I can see where it shows up, but it doesn't seem to affect any of the modes.

If the goal was to make edges/faces more visible in certain modes, then this should not add a new color, but instead just derive existing color and modify it (boost value and reduce saturation to make it brighter).

> New `edge/face_select_mode` was added in dfd1b63cc7930d0028aae1f90bf68ee70bc46ef1 > > Edge Selection and Face Selection are still in use, and they set color of the edge/face when you're not in Edge/Face selection. > > Right but it adds more confusion instead 😅: https://projects.blender.org/blender/blender/src/branch/main/source/blender/draw/engines/overlay/shaders/overlay_edit_mesh_common_lib.glsl#L59 > > This is not a bug though but would like to hear from @Gilberto.R about the need of separate theme properties. Does the Face Mode Selection vs Face Selection do anything in the UV Editor though? I changed Face Mode Selection in the UV Editor to vivid pink so I can see where it shows up, but it doesn't seem to affect any of the modes. If the goal was to make edges/faces more visible in certain modes, then this should not add a new color, but instead just derive existing color and modify it (boost value and reduce saturation to make it brighter).
Member

Does the Face Mode Selection vs Face Selection do anything in the UV Editor though?

colorFaceModeSelect is unused in UV editor.

  • Selected faces will be drawn with colorFaceSelect ("face selection")
  • Non-selected face with colorFace ("Face")
  • Active face with colorEditMeshActive ("Active vertex/edge/face")

see:https://projects.blender.org/blender/blender/src/branch/main/source/blender/draw/engines/overlay/shaders/overlay_edit_uv_faces_vert.glsl#L15-L16

> Does the Face Mode Selection vs Face Selection do anything in the UV Editor though? `colorFaceModeSelect` is unused in UV editor. - Selected faces will be drawn with `colorFaceSelect` ("face selection") - Non-selected face with `colorFace` ("Face") - Active face with `colorEditMeshActive` ("Active vertex/edge/face") see:https://projects.blender.org/blender/blender/src/branch/main/source/blender/draw/engines/overlay/shaders/overlay_edit_uv_faces_vert.glsl#L15-L16
Member

colorFaceModeSelect is unused in UV editor.

Can be removed from UV editor category in similar way: !119649

> `colorFaceModeSelect` is unused in UV editor. Can be removed from UV editor category in similar way: !119649
Contributor

@Rawalanche Sorry for the confusion. This is not a bug. As it was said, now there are different edge/face selection color depending on selection mode. I know adding more theme entries may not be ideal, but there are a couple of reasons for this. My first implementation did automatically calculate hue shift but this was not good for some themes. And having a different entry allows for more customization(e.g. maya theme). The discussion happened here: #111431 .
Indeed I haven't yet implemented the selection mode color change in the UV editor, so the entries could be removed from there.
If you have a custom theme that it's mesh selection colors are not orange, there will be a color mismatch on edge/face select mode, which is a sign for you to update your theme and further customize it for the new color on each mode, as the new entries will by default get the default color. Sorry for the extra work. The user may want a different color on each selection mode or the same color on all modes, or only color in respective mode.

@Rawalanche Sorry for the confusion. This is not a bug. As it was said, now there are different edge/face selection color depending on selection mode. I know adding more theme entries may not be ideal, but there are a couple of reasons for this. My first implementation did automatically calculate hue shift but this was not good for some themes. And having a different entry allows for more customization(e.g. maya theme). The discussion happened here: https://projects.blender.org/blender/blender/pulls/111431 . Indeed I haven't yet implemented the selection mode color change in the UV editor, so the entries could be removed from there. If you have a custom theme that it's mesh selection colors are not orange, there will be a color mismatch on edge/face select mode, which is a sign for you to update your theme and further customize it for the new color on each mode, as the new entries will by default get the default color. Sorry for the extra work. The user may want a different color on each selection mode or the same color on all modes, or only color in respective mode.
Author
Contributor

@Rawalanche Sorry for the confusion. This is not a bug. As it was said, now there are different edge/face selection color depending on selection mode. I know adding more theme entries may not be ideal, but there are a couple of reasons for this. My first implementation did automatically calculate hue shift but this was not good for some themes. And having a different entry allows for more customization(e.g. maya theme). The discussion happened here: #111431 .
Indeed I haven't yet implemented the selection mode color change in the UV editor, so the entries could be removed from there.
If you have a custom theme that it's mesh selection colors are not orange, there will be a color mismatch on edge/face select mode, which is a sign for you to update your theme and further customize it for the new color on each mode, as the new entries will by default get the default color. Sorry for the extra work. The user may want a different color on each selection mode or the same color on all modes, or only color in respective mode.

Of course it didn't work if the solution you came up with is hue shift. But why didn't you explore more proper solution rather than adding 2000th color to the theme settings? Using the Face Selection color just with increased value and decreased saturation would achieve same effect, but would not introduce yet another color setting, would make theme setup simpler, and would not break existing themes bundled with Blender.

> @Rawalanche Sorry for the confusion. This is not a bug. As it was said, now there are different edge/face selection color depending on selection mode. I know adding more theme entries may not be ideal, but there are a couple of reasons for this. My first implementation did automatically calculate hue shift but this was not good for some themes. And having a different entry allows for more customization(e.g. maya theme). The discussion happened here: https://projects.blender.org/blender/blender/pulls/111431 . > Indeed I haven't yet implemented the selection mode color change in the UV editor, so the entries could be removed from there. > If you have a custom theme that it's mesh selection colors are not orange, there will be a color mismatch on edge/face select mode, which is a sign for you to update your theme and further customize it for the new color on each mode, as the new entries will by default get the default color. Sorry for the extra work. The user may want a different color on each selection mode or the same color on all modes, or only color in respective mode. Of course it didn't work if the solution you came up with is hue shift. But why didn't you explore more proper solution rather than adding 2000th color to the theme settings? Using the Face Selection color just with increased value and decreased saturation would achieve same effect, but would not introduce yet another color setting, would make theme setup simpler, and would not break existing themes bundled with Blender.
Contributor

@Rawalanche FYI I just wanted to do a one liner to make the Edge Highlight toggle on by default, but they wanted me to remove the toggle and implement a way to differentiate between the selection modes. They came up with the hue shift idea and I tried it and it worked very well, so we moved forward with it. I actually did explore changing the saturation, but it made face selection visibility worse depending on matcap and studiolight, because the selection color wouldn't look as strong, or the mode change would look too subtle. Also, the user may want to have the same selection color on all modes, so doing saturation change would not please everyone, and something like just changing saturation wouldn't work for theme like current Maya theme. I have updated all themes bundled with Blender, so you should have no issues with them.

@Rawalanche FYI I just wanted to do a one liner to make the Edge Highlight toggle on by default, but they wanted me to remove the toggle and implement a way to differentiate between the selection modes. They came up with the hue shift idea and I tried it and it worked very well, so we moved forward with it. I actually did explore changing the saturation, but it made face selection visibility worse depending on matcap and studiolight, because the selection color wouldn't look as strong, or the mode change would look too subtle. Also, the user may want to have the same selection color on all modes, so doing saturation change would not please everyone, and something like just changing saturation wouldn't work for theme like current Maya theme. I have updated all themes bundled with Blender, so you should have no issues with them.
Member

Not a bug as discussed above, closing.

Not a bug as discussed above, closing.
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2024-04-01 12:20:01 +02:00
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
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#119953
No description provided.