user: Explain Brush Operators in complete detail according to the official Blender documentation.

assistant: # Brush Operators

bpy.ops.brush.asset_activate(*\**, *asset_library_type='LOCAL'*, *asset_library_identifier=''*, *relative_asset_identifier=''*, *use_toggle=False*)
:   Activate a brush asset as current sculpt and paint tool

    Parameters:
    :   - **asset_library_type** (enum in [Asset Library Type Items](bpy_types_enum_items/asset_library_type_items.html#rna-enum-asset-library-type-items), (optional)) – Asset Library Type
        - **asset_library_identifier** (*string**,* *(**optional**,* *never None**)*) – Asset Library Identifier
        - **relative_asset_identifier** (*string**,* *(**optional**,* *never None**)*) – Relative Asset Identifier
        - **use_toggle** (*boolean**,* *(**optional**)*) – Toggle, Switch between the current and assigned brushes on consecutive uses.

bpy.ops.brush.asset_delete()
:   Delete the active brush asset

bpy.ops.brush.asset_edit_metadata(*\**, *catalog_path=''*, *author=''*, *description=''*)
:   Edit asset information like the catalog, preview image, tags, or author

    Parameters:
    :   - **catalog_path** (*string**,* *(**optional**,* *never None**)*) – Catalog, The asset’s catalog path
        - **author** (*string**,* *(**optional**,* *never None**)*) – Author
        - **description** (*string**,* *(**optional**,* *never None**)*) – Description

bpy.ops.brush.asset_load_preview(*\**, *filepath=''*, *hide_props_region=True*, *check_existing=False*, *filter_blender=False*, *filter_backup=False*, *filter_image=True*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=9*, *show_multiview=False*, *use_multiview=False*, *display_type='DEFAULT'*, *sort_method=''*)
:   Choose a preview image for the brush

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **hide_props_region** (*boolean**,* *(**optional**)*) – Hide Operator Properties, Collapse the region displaying the operator settings
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **show_multiview** (*boolean**,* *(**optional**)*) – Enable Multi-View
        - **use_multiview** (*boolean**,* *(**optional**)*) – Use Multi-View
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode

bpy.ops.brush.asset_revert()
:   Revert the active brush settings to the default values from the asset library

bpy.ops.brush.asset_save()
:   Update the active brush asset in the asset library with current settings

bpy.ops.brush.asset_save_as(*\**, *name=''*, *asset_library_reference=''*, *catalog_path=''*)
:   Save a copy of the active brush asset into the default asset library, and make it the active brush

    Parameters:
    :   - **name** (*string**,* *(**optional**,* *never None**)*) – Name, Name for the new brush asset
        - **asset_library_reference** (*enum in* *[**]**,* *(**optional**)*) – Library, Asset library used to store the new brush
        - **catalog_path** (*string**,* *(**optional**,* *never None**)*) – Catalog, Catalog to use for the new asset

bpy.ops.brush.scale_size(*\**, *scalar=1.0*)
:   Change brush size by a scalar

    Parameters:
    :   **scalar** (*float in* *[**0**,* *2**]**,* *(**optional**)*) – Scalar, Factor to scale brush size by

bpy.ops.brush.stencil_control(*\**, *mode='TRANSLATION'*, *texmode='PRIMARY'*)
:   Control the stencil brush

    Parameters:
    :   - **mode** (enum in [`'TRANSLATION'`, `'SCALE'`, `'ROTATION'`], (optional)) – Tool
        - **texmode** (enum in [`'PRIMARY'`, `'SECONDARY'`], (optional)) – Tool

bpy.ops.brush.stencil_fit_image_aspect(*\**, *use_repeat=True*, *use_scale=True*, *mask=False*)
:   When using an image texture, adjust the stencil size to fit the image aspect ratio

    Parameters:
    :   - **use_repeat** (*boolean**,* *(**optional**)*) – Use Repeat, Use repeat mapping values
        - **use_scale** (*boolean**,* *(**optional**)*) – Use Scale, Use texture scale values
        - **mask** (*boolean**,* *(**optional**)*) – Modify Mask Stencil, Modify either the primary or mask stencil

bpy.ops.brush.stencil_reset_transform(*\**, *mask=False*)
:   Reset the stencil transformation to the default

    Parameters:
    :   **mask** (*boolean**,* *(**optional**)*) – Modify Mask Stencil, Modify either the primary or mask stencil