"Face Group" / "Group Index" / "Face Set" concept naming #102962

Closed
opened 2022-12-05 22:14:34 +01:00 by Hans Goudey · 19 comments
Member

Options

  • Face Group
  • Group Index
  • Face Set

Note: "Face Map" is currently used in Blender too, but I don't think that's a good name, so I won't consider it here

Face Group

  • Pros
    • Simple name, easier to understand
    • Doesn't convey the integer internals very well
  • Cons
    • Sounds similar to "Vertex Group", but it's an integer, not a bool+float

Group Index

  • Pros
    • The same name for every domain, allowing consistency
    • Shows that it's just an integer internally, maybe making more complex operations simpler
  • Cons
    • Doesn't contain the domain in the name, so it's not very helpful
    • Cryptic, not helpful to new users not comfortable with "indices"
    • The integers might not actually index into anything (they can just be random values)

Face Set

  • Pros
    • The same name as the same concept in sculpt mode, aiding in understanding
    • Similarly simple to "Face Group", but doesn't have the unfortunate similarity to "vertex group"
  • Cons
    • Generalizing the "Set" name with different domains like "Vertex Set" may "pollute" the concept
    • Doesn't describe the fact that it's just an integer

The name could generalize for multi-domain cases like "Set Index"

**Options** * Face Group * Group Index * Face Set *Note: "Face Map" is currently used in Blender too, but I don't think that's a good name, so I won't consider it here* **Face Group** * Pros * Simple name, easier to understand * Doesn't convey the integer internals very well * Cons * Sounds similar to "Vertex Group", but it's an integer, not a bool+float **Group Index** * Pros * The same name for every domain, allowing consistency * Shows that it's just an integer internally, maybe making more complex operations simpler * Cons * Doesn't contain the domain in the name, so it's not very helpful * Cryptic, not helpful to new users not comfortable with "indices" * The integers might not actually index into anything (they can just be random values) **Face Set** * Pros * The same name as the same concept in sculpt mode, aiding in understanding * Similarly simple to "Face Group", but doesn't have the unfortunate similarity to "vertex group" * Cons * Generalizing the "Set" name with different domains like "Vertex Set" may "pollute" the concept * Doesn't describe the fact that it's just an integer *The name could generalize for multi-domain cases like "Set Index"*
Author
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Member

Added subscriber: @HooglyBoogly

Added subscriber: @HooglyBoogly

Added subscriber: @mod_moder

Added subscriber: @mod_moder

I don't see a problem in

  • Point Group
  • Edge Set
    ...
    Index is a lot unifed one
    And group is no has specific of random domain. It more general
I don't see a problem in - Point Group - Edge Set ... Index is a lot unifed one And group is no has specific of random domain. It more general
Member

Added subscriber: @lone_noel

Added subscriber: @lone_noel

Added subscriber: @Caner-Aslan

Added subscriber: @Caner-Aslan

"Face Group" feels like the right one.

"Face Group" feels like the right one.

Added subscriber: @Kuboa

Added subscriber: @Kuboa
Member

Added subscriber: @wannes.malfait

Added subscriber: @wannes.malfait
Member

I prefer Face Set, exactly for the reasons described. You want to have the same concept for vertices, but then Vertex Group would be a problem if we went with Face Group, so I really don't see that as an option

I prefer `Face Set`, exactly for the reasons described. You want to have the same concept for vertices, but then `Vertex Group` would be a problem if we went with `Face Group`, so I really don't see that as an option

right, cheers to the name father/mother of vertex group :) , what about "face group index", too long?

right, cheers to the name father/mother of vertex group :) , what about "face group index", too long?
Author
Member

Compared to the simplicity of "Face Set", I do think "Face Group Index" is a bit long. Personally I also prefer Face Set.

I think we would use "Edge Set" for the edge rings node (D16471), but I can't think of anywhere else we would use this naming immediately.

Compared to the simplicity of "Face Set", I do think "Face Group Index" is a bit long. Personally I also prefer `Face Set`. I think we would use "Edge Set" for the edge rings node ([D16471](https://archive.blender.org/developer/D16471)), but I can't think of anywhere else we would use this naming immediately.

no problem, I will get used to it.

no problem, I will get used to it.

This comment was removed by @Kuboa

*This comment was removed by @Kuboa*
Member

Added subscriber: @JacquesLucke

Added subscriber: @JacquesLucke
Member

image.png

![image.png](https://archive.blender.org/developer/F14148416/image.png)
Author
Member

Some context the the screenshot above-- we discussed this in a few meeting. Mostly we agreed that either "Set" or "Group" would work okay.
"Group" won out in the end since it maps a bit better to the "Group ID" terminology which is a natural socket name that shows it's an integer,
the order doesn't matter, and it should be the same for many faces. "Set" also had the disadvantage that it sounded like the "Set" nodes.

The largest downside of "Group" is that it sounds a bit like vertex group. The extra "ID" word used on many sockets should help show a difference.
I could still see us running into that problem in the future. And I do think that similarities with "Set" were much better than the similarities with "Vertex Group".
So now I'm second guessing this again (!), but in the interest of moving forward and not bike-shedding I will commit the renames above.

Some context the the screenshot above-- we discussed this in a few meeting. Mostly we agreed that either "Set" or "Group" would work okay. "Group" won out in the end since it maps a bit better to the "Group ID" terminology which is a natural socket name that shows it's an integer, the order doesn't matter, and it should be the same for many faces. "Set" also had the disadvantage that it sounded like the "Set" nodes. The largest downside of "Group" is that it sounds a bit like vertex group. The extra "ID" word used on many sockets should help show a difference. I could still see us running into that problem in the future. And I do think that similarities with "Set" were much better than the similarities with "Vertex Group". So now I'm second guessing this again (!), but in the interest of moving forward and not bike-shedding I will commit the renames above.
Hans Goudey self-assigned this 2023-01-19 23:58:27 +01:00

Added subscriber: @Bradley_G

Added subscriber: @Bradley_G

I think "Group ID" is generally a very good idea. This idea can be generalized to many different domain/nodes, instead of being a concept that may be used once only.
As for name similarity with "Vertex Group", I wonder whether it can possible to rename vertex group into things like "Vertex Set" or others?
Although it's called group, essentially it's just boolean. In GN, we most often just call them "selection", in which demonstrates "vertex group" may not be a good name in the first place.

I think "Group ID" is generally a very good idea. This idea can be generalized to many different domain/nodes, instead of being a concept that may be used once only. As for name similarity with "Vertex Group", I wonder whether it can possible to rename vertex group into things like "Vertex Set" or others? Although it's called group, essentially it's just boolean. In GN, we most often just call them "selection", in which demonstrates "vertex group" may not be a good name in the first place.
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2023-02-09 22:45:38 +01: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
8 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#102962
No description provided.