Context: This is a split of T96787 to separate into 2 different problems.
System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1080 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.15
Blender Version
Broken: version: 3.2.0 Alpha, branch: master, commit date: 2022-03-24 00:35, hash: rB98d4872d7f42
Short description of error
This bug relates to object.vertex_weight_normalize_active_vertex()
Normalization should only be applied to deforming bones by default.
Exact steps for others to reproduce the error
Check the L and R groups, these are non-deforming groups. The L group looks like this:
Now hit the Normalize operator. The result is the L group looking like this:
Video overview
Proposal
The proposal is to enhance the object.vertex_weight_normalize_active_vertex() operator to get the same option that it's cousin the object.vertex_group_normalize_all() operator has
Namely group_select_mode can be set to 'ALL' or 'BONE_DEFORM'.
object.vertex_group_normalize_all(group_select_mode='BONE_DEFORM')
In the case of object.vertex_weight_normalize_active_vertex() there are no such options and we are always stuck normalizing all groups!
After we get the options, we can then make the operator do the right thing depending on the context.
For this I propose to use the exact same logic that object.vertex_group_normalize_all() uses which is:
If the mesh has a deformation relationship with an armature modifier, default to 'BONE_DEFORM', otherwise choose 'ALL'



