user: Provide the full official documentation entry for Brush(ID), preserving all code examples.

assistant: radius_factor
    :   Ratio between the brush radius and the radius that is going to be used to sample the normal

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

    normal_weight
    :   How much grab will pull vertices out of surface during a grab

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

    paint_curve
    :   Active paint curve

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

    plane_depth
    :   The maximum distance below the plane for affected vertices. Increasing the depth affects vertices farther below the plane.

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

    plane_height
    :   The maximum distance above the plane for affected vertices. Increasing the height affects vertices farther above the plane.

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

    plane_inversion_mode
    :   Inversion Mode

        - `INVERT_DISPLACEMENT`
          Invert Displacement – Displace the vertices away from the plane..
        - `SWAP_DEPTH_AND_HEIGHT`
          Swap Height and Depth – Swap the roles of Height and Depth..

        Type:
        :   enum in [`'INVERT_DISPLACEMENT'`, `'SWAP_DEPTH_AND_HEIGHT'`], default `'INVERT_DISPLACEMENT'`

    plane_offset
    :   Adjust plane on which the brush acts towards or away from the object surface

        Type:
        :   float in [-2, 2], default 0.0

    plane_trim
    :   If a vertex is further away from offset plane than this, then it is not affected

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

    pose_deform_type
    :   Deformation type that is used in the brush

        Type:
        :   enum in [`'ROTATE_TWIST'`, `'SCALE_TRANSLATE'`, `'SQUASH_STRETCH'`], default `'ROTATE_TWIST'`

    pose_ik_segments
    :   Number of segments of the inverse kinematics chain that will deform the mesh

        Type:
        :   int in [1, 20], default 1

    pose_offset
    :   Offset of the pose origin in relation to the brush radius

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

    pose_origin_type
    :   Method to set the rotation origins for the segments of the brush

        - `TOPOLOGY`
          Topology – Sets the rotation origin automatically using the topology and shape of the mesh as a guide.
        - `FACE_SETS`
          Face Sets – Creates a pose segment per face sets, starting from the active face set.
        - `FACE_SETS_FK`
          Face Sets FK – Simulates an FK deformation using the Face Set under the cursor as control.

        Type:
        :   enum in [`'TOPOLOGY'`, `'FACE_SETS'`, `'FACE_SETS_FK'`], default `'TOPOLOGY'`

    pose_smooth_iterations
    :   Smooth iterations applied after calculating the pose factor of each vertex

        Type:
        :   int in [0, 100], default 4

    rake_factor
    :   How much grab will follow cursor rotation

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

    rate
    :   Interval between paints for Airbrush

        Type:
        :   float in [0.0001, 10000], default 0.1

    saturation_jitter
    :   Color jitter effect on saturation

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

    sculpt_brush_type
    :   Type:
        :   enum in [Brush Sculpt Brush Type Items](bpy_types_enum_items/brush_sculpt_brush_type_items.html#rna-enum-brush-sculpt-brush-type-items), default `'DRAW'`

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

    sculpt_plane
    :   Type:
        :   enum in [`'AREA'`, `'VIEW'`, `'X'`, `'Y'`, `'Z'`], default `'AREA'`

    secondary_color
    :   Type:
        :   [`mathutils.Color`](mathutils.html#mathutils.Color "mathutils.Color") of 3 items in [0, inf], default (0.0, 0.0, 0.0)

    sharp_threshold
    :   Threshold below which, no sharpening is done

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

    show_multiplane_scrape_planes_preview
    :   Preview the scrape planes in the cursor during the stroke

        Type:
        :   boolean, default False

    size
    :   Diameter of the brush in pixels

        Type:
        :   int in [1, 10000], default 70

    slide_deform_type
    :   Deformation type that is used in the brush

        Type:
        :   enum in [`'DRAG'`, `'PINCH'`, `'EXPAND'`], default `'DRAG'`

    smear_deform_type
    :   Deformation type that is used in the brush

        Type:
        :   enum in [`'DRAG'`, `'PINCH'`, `'EXPAND'`], default `'DRAG'`

    smooth_deform_type
    :   Deformation type that is used in the brush

        - `LAPLACIAN`
          Laplacian – Smooths the surface and the volume.
        - `SURFACE`
          Surface – Smooths the surface of the mesh, preserving the volume.

        Type:
        :   enum in [`'LAPLACIAN'`, `'SURFACE'`], default `'LAPLACIAN'`

    smooth_stroke_factor
    :   Higher values give a smoother stroke

        Type:
        :   float in [0.5, 0.99], default 0.9

    smooth_stroke_radius
    :   Minimum distance from last point before stroke continues

        Type:
        :   int in [10, 200], default 75

    snake_hook_deform_type
    :   Deformation type that is used in the brush

        - `FALLOFF`
          Radius Falloff – Applies the brush falloff in the tip of the brush.
        - `ELASTIC`
          Elastic – Modifies the entire mesh using elastic deform.

        Type:
        :   enum in [`'FALLOFF'`, `'ELASTIC'`], default `'FALLOFF'`

    spacing
    :   Spacing between brush daubs as a percentage of brush diameter

        Type:
        :   int in [1, 1000], default 10

    stabilize_normal
    :   Stabilize the orientation of the brush plane.

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

    stabilize_plane
    :   Stabilize the center of the brush plane.

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

    stencil_dimension
    :   Dimensions of stencil in viewport

        Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 2 items in [-inf, inf], default (256.0, 256.0)

    stencil_pos
    :   Position of stencil in viewport

        Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 2 items in [-inf, inf], default (256.0, 256.0)

    strength
    :   How powerful the effect of the brush is when applied

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

    stroke_method
    :   - `DOTS`
          Dots – Apply paint on each mouse move step.
        - `DRAG_DOT`
          Drag Dot – Allows a single dot to be carefully positioned.
        - `SPACE`
          Space – Limit brush application to the distance specified by spacing.
        - `AIRBRUSH`
          Airbrush – Keep applying paint effect while holding mouse (spray).
        - `ANCHORED`
          Anchored – Keep the brush anchored to the initial location.
        - `LINE`
          Line – Draw a line with dabs separated according to spacing.
        - `CURVE`
          Curve – Define the stroke curve with a Bézier curve (dabs are separated according to spacing).

        Type:
        :   enum in [`'DOTS'`, `'DRAG_DOT'`, `'SPACE'`, `'AIRBRUSH'`, `'ANCHORED'`, `'LINE'`, `'CURVE'`], default `'DOTS'`

    surface_smooth_current_vertex
    :   How much the position of each individual vertex influences the final result

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

    surface_smooth_iterations
    :   Number of smoothing iterations per brush step

        Type:
        :   int in [1, 10], default 0

    surface_smooth_shape_preservation
    :   How much of the original shape is preserved when smoothing

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

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

    texture_overlay_alpha
    :   Type:
        :   int in [0, 100], default 33

    texture_sample_bias
    :   Value added to texture samples

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

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

    tilt_strength_factor
    :   How much the tilt of the pen will affect the brush. Negative values indicate inverting the tilt directions.

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

    tip_roundness
    :   Roundness of the brush tip

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

    tip_scale_x
    :   Scale of the brush tip in the X axis

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

    topology_rake_factor
    :   Automatically align edges to the brush direction to generate cleaner topology and define sharp features. Best used on low-poly meshes as it has a performance impact.

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

    unprojected_size
    :   Diameter of brush in Blender units

        Type:
        :   float in [0.001, inf], default 0.1

    use_accumulate
    :   Accumulate stroke daubs on top of each other

        Type:
        :   boolean, default False

    use_adaptive_space
    :   Space daubs according to surface orientation instead of screen space

        Type:
        :   boolean, default False

    use_airbrush
    :   Keep applying paint effect while holding mouse (spray)

        Type:
        :   boolean, default False

    use_alpha
    :   When this is disabled, lock alpha while painting

        Type:
        :   boolean, default True

    use_anchor
    :   Keep the brush anchored to the initial location

        Type:
        :   boolean, default False

    use_automasking_boundary_edges
    :   Do not affect non manifold boundary edges

        Type:
        :   boolean, default False

    use_automasking_boundary_face_sets
    :   Do not affect vertices that belong to a Face Set boundary

        Type:
        :   boolean, default False

    use_automasking_cavity
    :   Do not affect vertices on peaks, based on the surface curvature

        Type:
        :   boolean, default False

    use_automasking_cavity_inverted
    :   Do not affect vertices within crevices, based on the surface curvature

        Type:
        :   boolean, default False

    use_automasking_custom_cavity_curve
    :   Use custom curve

        Type:
        :   boolean, default False

    use_automasking_face_sets
    :   Affect only vertices that share Face Sets with the active vertex

        Type:
        :   boolean, default False

    use_automasking_start_normal
    :   Affect only vertices with a similar normal to where the stroke starts

        Type:
        :   boolean, default False

    use_automasking_topology
    :   Affect only vertices connected to the active vertex under the brush

        Type:
        :   boolean, default False

    use_automasking_view_normal
    :   Affect only vertices with a normal that faces the viewer

        Type:
        :   boolean, default False

    use_automasking_view_occlusion
    :   Only affect vertices that are not occluded by other faces (slower performance)

        Type:
        :   boolean, default False

    use_cloth_collision
    :   Collide with objects during the simulation

        Type:
        :   boolean, default False

    use_cloth_pin_simulation_boundary
    :   Lock the position of the vertices in the simulation falloff area to avoid artifacts and create a softer transition with unaffected areas

        Type:
        :   boolean, default False

    use_color_as_displacement
    :   Handle each pixel color as individual vector for displacement (area plane mapping only)

        Type:
        :   boolean, default False

    use_color_jitter
    :   Jitter brush color

        Type:
        :   boolean, default False

    use_connected_only
    :   Affect only topologically connected elements

        Type:
        :   boolean, default False

    use_cursor_overlay
    :   Show cursor in viewport

        Type:
        :   boolean, default False

    use_cursor_overlay_override
    :   Don’t show overlay during a stroke

        Type:
        :   boolean, default False

    use_curve
    :   Define the stroke curve with a Bézier curve. Dabs are separated according to spacing.

        Type:
        :   boolean, default False

    use_density_pressure
    :   Use pressure to modulate density

        Type:
        :   boolean, default False

    use_edge_to_edge
    :   Drag anchor brush from edge-to-edge

        Type:
        :   boolean, default False

    use_flow_pressure
    :   Use pressure to modulate flow

        Type:
        :   boolean, default False

    use_frontface
    :   Brush only affects vertices that face the viewer

        Type:
        :   boolean, default False

    use_frontface_falloff
    :   Blend brush influence by how much they face the front

        Type:
        :   boolean, default False

    use_grab_active_vertex
    :   Apply the maximum grab strength to the active vertex instead of the cursor location

        Type:
        :   boolean, default False

    use_grab_silhouette
    :   Grabs trying to automask the silhouette of the object

        Type:
        :   boolean, default False

    use_hardness_pressure
    :   Use pressure to modulate hardness

        Type:
        :   boolean, default False

    use_inverse_smooth_pressure
    :   Lighter pressure causes more smoothing to be applied

        Type:
        :   boolean, default False

    use_line
    :   Draw a line with dabs separated according to spacing

        Type:
        :   boolean, default False

    use_locked_size
    :   Measure brush size relative to the view or the scene

        - `VIEW`
          View – Measure brush size relative to the view.
        - `SCENE`
          Scene – Measure brush size relative to the scene.

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

    use_multiplane_scrape_dynamic
    :   The angle between the planes changes during the stroke to fit the surface under the cursor

        Type:
        :   boolean, default False

    use_offset_pressure
    :   Enable tablet pressure sensitivity for offset

        Type:
        :   boolean, default False

    use_original_normal
    :   When locked keep using normal of surface where stroke was initiated

        Type:
        :   boolean, default False

    use_original_plane
    :   When locked keep using the plane origin of surface where stroke was initiated

        Type:
        :   boolean, default False

    use_paint_antialiasing
    :   Smooths the edges of the strokes

        Type:
        :   boolean, default True

    use_paint_grease_pencil
    :   Use this brush in Grease Pencil drawing mode

        Type:
        :   boolean, default False

    use_paint_image
    :   Use this brush in texture paint mode

        Type:
        :   boolean, default True

    use_paint_sculpt
    :   Use this brush in sculpt mode

        Type:
        :   boolean, default True

    use_paint_sculpt_curves
    :   Use this brush in sculpt curves mode

        Type:
        :   boolean, default False

    use_paint_uv_sculpt
    :   Use this brush in UV sculpt mode

        Type:
        :   boolean, default False

    use_paint_vertex
    :   Use this brush in vertex paint mode

        Type:
        :   boolean, default True

    use_paint_weight
    :   Use this brush in weight paint mode

        Type:
        :   boolean, default True

    use_persistent
    :   Sculpt on a persistent layer of the mesh

        Type:
        :   boolean, default False

    use_plane_trim
    :   Limit the distance from the offset plane that a vertex can be affected

        Type:
        :   boolean, default False

    use_pose_ik_anchored
    :   Keep the position of the last segment in the IK chain fixed

        Type:
        :   boolean, default False

    use_pose_lock_rotation
    :   Do not rotate the segment when using the scale deform mode

        Type:
        :   boolean, default False

    use_pressure_area_radius
    :   Enable tablet pressure sensitivity for area radius

        Type:
        :   boolean, default False

    use_pressure_jitter
    :   Enable tablet pressure sensitivity for jitter

        Type:
        :   boolean, default False

    use_pressure_masking
    :   Pen pressure makes texture influence smaller

        Type:
        :   enum in [`'NONE'`, `'RAMP'`, `'CUTOFF'`], default `'NONE'`

    use_pressure_size
    :   Enable tablet pressure sensitivity for size

        Type:
        :   boolean, default False

    use_pressure_spacing
    :   Enable tablet pressure sensitivity for spacing

        Type:
        :   boolean, default False

    use_pressure_strength
    :   Enable tablet pressure sensitivity for strength

        Type:
        :   boolean, default True

    use_primary_overlay
    :   Show texture in viewport

        Type:
        :   boolean, default False

    use_primary_overlay_override
    :   Don’t show overlay during a stroke

        Type:
        :   boolean, default False

    use_random_press_hue
    :   Use pressure to modulate randomness

        Type:
        :   boolean, default False

    use_random_press_sat
    :   Use pressure to modulate randomness

        Type:
        :   boolean, default False

    use_random_press_val
    :   Use pressure to modulate randomness

        Type:
        :   boolean, default False

    use_restore_mesh
    :   Allow a single dot to be carefully positioned

        Type:
        :   boolean, default False

    use_scene_spacing
    :   Calculate the brush spacing using view or scene distance

        - `VIEW`
          View – Calculate brush spacing relative to the view.
        - `SCENE`
          Scene – Calculate brush spacing relative to the scene using the stroke location.

        Type: