user: Show practical ways to work with Brush(ID) in a Blender add-on or script – include code.

assistant:        :   enum in [`'VIEW'`, `'SCENE'`], default `'VIEW'`

    use_secondary_overlay
    :   Show texture in viewport

        Type:
        :   boolean, default False

    use_secondary_overlay_override
    :   Don’t show overlay during a stroke

        Type:
        :   boolean, default False

    use_smooth_stroke
    :   Brush lags behind mouse and follows a smoother path

        Type:
        :   boolean, default False

    use_space
    :   Limit brush application to the distance specified by spacing

        Type:
        :   boolean, default True

    use_space_attenuation
    :   Automatically adjust strength to give consistent results for different spacings

        Type:
        :   boolean, default True

    use_stroke_random_hue
    :   Use randomness at stroke level

        Type:
        :   boolean, default False

    use_stroke_random_sat
    :   Use randomness at stroke level

        Type:
        :   boolean, default False

    use_stroke_random_val
    :   Use randomness at stroke level

        Type:
        :   boolean, default False

    use_vertex_grease_pencil
    :   Use this brush in Grease Pencil vertex color mode

        Type:
        :   boolean, default False

    use_wet_mix_pressure
    :   Use pressure to modulate wet mix

        Type:
        :   boolean, default False

    use_wet_persistence_pressure
    :   Use pressure to modulate wet persistence

        Type:
        :   boolean, default False

    value_jitter
    :   Color jitter effect on value

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

    vertex_brush_type
    :   Type:
        :   enum in [Brush Vertex Brush Type Items](bpy_types_enum_items/brush_vertex_brush_type_items.html#rna-enum-brush-vertex-brush-type-items), default `'DRAW'`

    vertex_paint_capabilities
    :   Type:
        :   [`BrushCapabilitiesVertexPaint`](bpy.types.BrushCapabilitiesVertexPaint.html#bpy.types.BrushCapabilitiesVertexPaint "bpy.types.BrushCapabilitiesVertexPaint"), (readonly, never None)

    weight
    :   Vertex weight when brush is applied

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

    weight_brush_type
    :   Type:
        :   enum in [Brush Weight Brush Type Items](bpy_types_enum_items/brush_weight_brush_type_items.html#rna-enum-brush-weight-brush-type-items), default `'DRAW'`

    weight_paint_capabilities
    :   Type:
        :   [`BrushCapabilitiesWeightPaint`](bpy.types.BrushCapabilitiesWeightPaint.html#bpy.types.BrushCapabilitiesWeightPaint "bpy.types.BrushCapabilitiesWeightPaint"), (readonly, never None)

    wet_mix
    :   Amount of paint that is picked from the surface into the brush color

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

    wet_paint_radius_factor
    :   Ratio between the brush radius and the radius that is going to be used to sample the color to blend in wet paint

        Type:
        :   float in [0, 2], default 0.5

    wet_persistence
    :   Amount of wet paint that stays in the brush after applying paint to the surface

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

    *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