user: Give a detailed overview of VertexWeightEditModifier(Modifier): syntax, arguments, return values, common patterns.

assistant: # VertexWeightEditModifier(Modifier)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Modifier`](bpy.types.Modifier.html#bpy.types.Modifier "bpy.types.Modifier")

*class* bpy.types.VertexWeightEditModifier(*Modifier*)
:   Edit the weights of vertices in a group

    add_threshold
    :   Lower (inclusive) bound for a vertex’s weight to be added to the vgroup

        Type:
        :   float in [-1000, 1000], default 0.01

    default_weight
    :   Default weight a vertex will have if it is not in the vgroup

        Type:
        :   float in [0, 1], default 0.0

    falloff_type
    :   How weights are mapped to their new values

        - `LINEAR`
          Linear – Null action.
        - `CURVE`
          Custom Curve.
        - `SHARP`
          Sharp.
        - `SMOOTH`
          Smooth.
        - `ROOT`
          Root.
        - `ICON_SPHERECURVE`
          Sphere.
        - `RANDOM`
          Random.
        - `STEP`
          Median Step – Map all values below 0.5 to 0.0, and all others to 1.0.

        Type:
        :   enum in [`'LINEAR'`, `'CURVE'`, `'SHARP'`, `'SMOOTH'`, `'ROOT'`, `'ICON_SPHERECURVE'`, `'RANDOM'`, `'STEP'`], default `'LINEAR'`

    invert_falloff
    :   Invert the resulting falloff weight

        Type:
        :   boolean, default False

    invert_mask_vertex_group
    :   Invert vertex group mask influence

        Type:
        :   boolean, default False

    map_curve
    :   Custom mapping curve

        Type:
        :   [`CurveMapping`](bpy.types.CurveMapping.html#bpy.types.CurveMapping "bpy.types.CurveMapping"), (readonly)

    mask_constant
    :   Global influence of current modifications on vgroup

        Type:
        :   float in [-inf, inf], default 1.0

    mask_tex_map_bone
    :   Which bone to take texture coordinates from

        Type:
        :   string, default “”, (never None)

    mask_tex_map_object
    :   Which object to take texture coordinates from

        Type:
        :   [`Object`](bpy.types.Object.html#bpy.types.Object "bpy.types.Object")

    mask_tex_mapping
    :   Which texture coordinates to use for mapping

        - `LOCAL`
          Local – Use local generated coordinates.
        - `GLOBAL`
          Global – Use global coordinates.
        - `OBJECT`
          Object – Use local generated coordinates of another object.
        - `UV`
          UV – Use coordinates from a UV layer.

        Type:
        :   enum in [`'LOCAL'`, `'GLOBAL'`, `'OBJECT'`, `'UV'`], default `'LOCAL'`

    mask_tex_use_channel
    :   Which texture channel to use for masking

        Type:
        :   enum in [`'INT'`, `'RED'`, `'GREEN'`, `'BLUE'`, `'HUE'`, `'SAT'`, `'VAL'`, `'ALPHA'`], default `'INT'`

    mask_tex_uv_layer
    :   UV map name

        Type:
        :   string, default “”, (never None)

    mask_texture
    :   Masking texture

        Type:
        :   [`Texture`](bpy.types.Texture.html#bpy.types.Texture "bpy.types.Texture")

    mask_vertex_group
    :   Masking vertex group name

        Type:
        :   string, default “”, (never None)

    normalize
    :   Normalize the resulting weights (otherwise they are only clamped within 0.0 to 1.0 range)

        Type:
        :   boolean, default False

    remove_threshold
    :   Upper (inclusive) bound for a vertex’s weight to be removed from the vgroup

        Type:
        :   float in [-1000, 1000], default 0.01

    use_add
    :   Add vertices with weight over threshold to vgroup

        Type:
        :   boolean, default False

    use_remove
    :   Remove vertices with weight below threshold from vgroup

        Type:
        :   boolean, default False

    vertex_group
    :   Vertex group name

        Type:
        :   string, default “”, (never None)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type