PGCRYPT/OpenBlender_Train huggingface dataset:
user: How do I use Options in Blender? Include parameters, examples, warnings and best practices.

assistant: [[image reference removed]](../../../_images/modeling_modifiers_deform_warp_panel.png)

The Warp modifier.

Object From
:   The object defining the origin transformation of the warp.

Object To
:   The object defining the destination transformation of the warp.

Preserve Volume
:   Enables volume preservation when rotating one of the transforms.

Strength
:   Sets how strong the effect is.

Vertex Group
:   The name of a vertex group which is used to control the influence of the modifier.
    If left empty, the modifier affects all vertices equally.

    Invert
    :   Inverts the influence of the selected vertex group, meaning that the group
        now represents vertices that will not be deformed by the modifier.

        The setting reverses the weight values of the group.

### Falloff

Falloff Type
:   Sets the way the strength of the warp change as it goes from the center of the transform to the *Radius* value.
    See [Proportional Editing](../../../editors/3dview/controls/proportional_editing.html)
    for descriptions of the falloff types.

Radius
:   Sets the distance from the transforms that can be warped by the transform handles.

### Texture

Texture
:   You can finely control which vertices are affected by the warp,
    and to what extent, using a texture.

See [common masking options](../common_options.html#modifiers-common-options-masking) for a complete reference.
user: How do I use Extension files in Blender? Include parameters, examples, warnings and best practices.

assistant: An extension is shared as a `.zip` archive containing a manifest file and other files.
The expected files depend on the extension type.

### Add-on extension

[Add-ons](addons.xhtml#extensions-addons) need at least the manifest and an `__init__.py` file,
while more complex add-ons have a few different .py files or wheels together.

```
my_extension-0.0.1.zip
├─ __init__.py
├─ blender_manifest.toml
└─ (...)
```

### Theme extension

A theme extension only needs the manifest and the .xml theme file.

```
my_extension-0.0.1.zip
├─ blender_manifest.toml
└─ theme.xml
```
user: Show practical ways to work with Outputs in a Blender add-on or script – include code.

assistant: Curves
:   The guide curves with interpolated curves.

Closest Index
:   Index of the closest guide curve for each generated curve.

Closest Weight
:   Weight of the closest guide curve for each generated curve.
user: Give a detailed overview of Limitations: syntax, arguments, return values, common patterns.

assistant: Some OSL features are not available when using the OptiX backend. Examples include:

- Memory usage reductions offered by features like on-demand texture loading and
  :   mip-mapping are not available.
- Texture lookups require OSL to be able to determine a constant image file path for each
  :   texture call.
- Some noise functions are not available. Examples include *Cell*, *Simplex*, and *Gabor*.
- The [trace](#render-shader-nodes-osl-trace) function is not functional.
  As a result of this, the [Ambient Occlusion](../../shader_nodes/input/ao.xhtml#bpy-types-shadernodeambientocclusion)
  and [Bevel](../../shader_nodes/input/bevel.xhtml#bpy-types-shadernodebevel) nodes do not work.
user: Provide the full official documentation entry for Face Set Gesture Tools, preserving all code examples.

assistant: # Face Set Gesture Tools

Face Set gesture tools apply a single new Face Set to all faces within the selection area.

All Face Set gesture tools can be activated in the Toolbar and are comprised of the following:
user: Describe LineStyleTextureSlot(TextureSlot) from the Blender manual or Python API, including usage steps and snippets.

assistant: # LineStyleTextureSlot(TextureSlot)

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

*class* bpy.types.LineStyleTextureSlot(*TextureSlot*)
:   Texture slot for textures in a LineStyle data-block

    alpha_factor
    :   Amount texture affects alpha

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

    diffuse_color_factor
    :   Amount texture affects diffuse color

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

    mapping
    :   - `FLAT`
          Flat – Map X and Y coordinates directly.
        - `CUBE`
          Cube – Map using the normal vector.
        - `TUBE`
          Tube – Map with Z as central axis.
        - `SPHERE`
          Sphere – Map with Z as central axis.

        Type:
        :   enum in [`'FLAT'`, `'CUBE'`, `'TUBE'`, `'SPHERE'`], default `'FLAT'`

    mapping_x
    :   Type:
        :   enum in [`'NONE'`, `'X'`, `'Y'`, `'Z'`], default `'X'`

    mapping_y
    :   Type:
        :   enum in [`'NONE'`, `'X'`, `'Y'`, `'Z'`], default `'Y'`

    mapping_z
    :   Type:
        :   enum in [`'NONE'`, `'X'`, `'Y'`, `'Z'`], default `'Z'`

    texture_coords
    :   Texture coordinates used to map the texture onto the background

        - `WINDOW`
          Window – Use screen coordinates as texture coordinates.
        - `GLOBAL`
          Global – Use global coordinates for the texture coordinates.
        - `ALONG_STROKE`
          Along stroke – Use stroke length for texture coordinates.
        - `ORCO`
          Generated – Use the original undeformed coordinates of the object.

        Type:
        :   enum in [`'WINDOW'`, `'GLOBAL'`, `'ALONG_STROKE'`, `'ORCO'`], default `'ALONG_STROKE'`

    use_map_alpha
    :   The texture affects the alpha value

        Type:
        :   boolean, default False

    use_map_color_diffuse
    :   The texture affects basic color of the stroke

        Type:
        :   boolean, default True

    *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
user: What is Extension files and how is it used in Blender Python scripting?

assistant: An extension is shared as a `.zip` archive containing a manifest file and other files.
The expected files depend on the extension type.

### Add-on extension

[Add-ons](addons.html#extensions-addons) need at least the manifest and an `__init__.py` file,
while more complex add-ons have a few different .py files or wheels together.

```
my_extension-0.0.1.zip
├─ __init__.py
├─ blender_manifest.toml
└─ (...)
```

### Theme extension

A theme extension only needs the manifest and the .xml theme file.

```
my_extension-0.0.1.zip
├─ blender_manifest.toml
└─ theme.xml
```
user: How do I use Options in Blender? Include parameters, examples, warnings and best practices.

assistant: Mode
:   Keyframes:
    :   Shows Keyframes in the range determined by the *Before*/*After* settings.

    Frames:
    :   Shows Frames in the range determined by the *Before*/*After* settings.

    Selected:
    :   Shows only on the manually selected keyframes in the Dope Sheet.

Opacity
:   Control the opacity of the ghost frames.

Filter by Type
:   Filters what type of frames to show in the Onion Skinning range.

Keyframes Before/After
:   Sets how many frames or keyframes, depending on the *Mode*, to show before and after the current frame.
user: What is Data-Blocks and how is it used in Blender Python scripting?

assistant: # Data-Blocks

The base unit for any Blender project is the data-block. Examples of data-blocks include:
meshes, objects, materials, textures, node trees, scenes, texts, brushes, and even Workspaces.

[image reference removed]

Blender File view of the Outliner.

A data-block is a generic abstraction of very different kinds of data,
which features a common set of basic features, properties and behaviors.

Some common characteristics:

- They are the primary contents of the blend-file.
- They can reference each other, for reuse and instancing.
  (Child/parent, object/object-data, materials/images, in modifiers or constraints too…)
- Their names are unique within a blend-file, for a given type.
- They can be added/removed/edited/duplicated.
- They can be linked between files (only enabled for a limited set of data-blocks).
- They can have their own animation data.
- They can have [Custom Properties](custom_properties.xhtml).

User will typically interact with the higher level data types (objects, meshes, etc.).
When doing more complex projects, managing data-blocks becomes more important,
especially when inter-linking blend-files.
The main editor for that is the [Outliner](../editors/outliner/index.xhtml).

Not all data in Blender is a data-block,
bones, sequence strips or vertex groups e.g. are not,
they belong to armature, scene and mesh types respectively.
user: Show practical ways to work with GeometryNodeSetPointRadius(GeometryNode) in a Blender add-on or script – include code.

assistant: # GeometryNodeSetPointRadius(GeometryNode)

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

*class* bpy.types.GeometryNodeSetPointRadius(*GeometryNode*)
:   Set the display size of point cloud points

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *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
user: Show practical ways to work with Switch Direction in a Blender add-on or script – include code.

assistant: The *Switch Direction* operator reverses the direction of a selected curve.
The start point of the curve becomes the end point, and vice versa.
This operation does not change the visual appearance of the curve,
but affects its behavior when used as a path or with options like beveling and tapering.
user: How do I use Action Constraint in Blender? Include parameters, examples, warnings and best practices.

assistant: # Action Constraint

The *Action* constraint evaluates the location, rotation, and scale inside
a certain [Action](../../actions.xhtml) at a certain frame,
then applies those to an object or bone.

The frame can either be given directly, or it can be derived from a location
coordinate, rotation angle, or scale factor of another object or bone.
An example of the latter would be to use frame 0 of the Action if an
[Empty](../../../modeling/empties.xhtml) is at X = 0 and frame 100 if the Empty is at X = 10.
If the Empty is then placed at X = 5, the constraint will interpolate this and
evaluate frame 50.

An alternative (if obscure) way of using this constraint is to reference an Action
that animates properties of *other* constraints. The *Action* constraint will
then apply these properties to the constraints that come after it, as long
as their names match the ones in the Action.
user: Explain RenderSlots(bpy_struct) in complete detail according to the official Blender documentation.

assistant: # RenderSlots(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.RenderSlots(*bpy_struct*)
:   Collection of render layers

    active
    :   Active render slot of the image

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

    active_index
    :   Active render slot of the image

        Type:
        :   int in [0, 32767], default 0

    new(*\**, *name=''*)
    :   Add a render slot to the image

        Parameters:
        :   **name** (*string**,* *(**optional**,* *never None**)*) – Name, New name for the render slot

        Returns:
        :   Newly created render layer

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

    *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
user: Show practical ways to work with Properties in a Blender add-on or script – include code.

assistant: Display As
:   The [Primitives](#primitives) empty type to display in the 3D Viewport.

Size
:   Controls the size of the empties visualization. This does not change its scale, but functions as an offset.
user: Describe References from the Blender manual or Python API, including usage steps and snippets.

assistant: |  |  |
| --- | --- |
| - [`TransformOrientationSlot.custom_orientation`](bpy.types.TransformOrientationSlot.html#bpy.types.TransformOrientationSlot.custom_orientation "bpy.types.TransformOrientationSlot.custom_orientation") |  |
user: Give a detailed overview of Inputs: syntax, arguments, return values, common patterns.

assistant: Grease Pencil
:   The Grease Pencil object with multiple layers to combine.

Selection
:   Operate of a subset of layers by setting the field layer index value to *true*.
    By default, all layers are selected.

Group ID
:   The index numbers of the layer to be merged.
    This input is only visible when using *By Group ID* Mode.
user: Describe GeometryNodeListLength(GeometryNode) from the Blender manual or Python API, including usage steps and snippets.

assistant: # GeometryNodeListLength(GeometryNode)

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

*class* bpy.types.GeometryNodeListLength(*GeometryNode*)
:   Count how many items are in a given list

    data_type
    :   Type:
        :   enum in [Node Socket Data Type Items](bpy_types_enum_items/node_socket_data_type_items.html#rna-enum-node-socket-data-type-items), default `'GEOMETRY'`

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *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
user: Explain MESH_UL_uvmaps(UIList) in complete detail according to the official Blender documentation.

assistant: # MESH_UL_uvmaps(UIList)

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

*class* bpy.types.MESH_UL_uvmaps(*UIList*)
:   draw_item(*_context*, *layout*, *_data*, *item*, *icon*, *_active_data*, *_active_propname*, *_index*)

    *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
user: What is Inputs and how is it used in Blender Python scripting?

assistant: Factor
:   The opacity of the foreground image.

A
:   The background image. Determines the dimensions of the output.

B
:   The foreground image.

Keep in mind that, unlike image editing programs where the foreground layer is on top,
the foreground slot in Blender is on the bottom.
user: Describe Properties from the Blender manual or Python API, including usage steps and snippets.

assistant: The *Closure* node does not have functional properties of its own, but its interface is configurable through the
*Node* tab in the Sidebar. Inputs and outputs can be added, removed, and renamed to define the closure’s signature.

Sync Sockets
:   Updates the current node to match the socket signature of the connected nodes.
    Use this after renaming, adding, or removing sockets.

Define Signature
:   Marks the current zone as the source of a closure signature that other nodes can reference. This ensures consistent
    input and output definitions across multiple closure instances.

### Input Items

List of input sockets
:   Displays one entry per socket defined in the closure. Double-click an entry to rename it.

Add Item
:   Add a new input socket to the closure.

Remove Item
:   Delete the selected input socket.

Type
:   Defines the data type for the selected socket (e.g. Float, Vector, Geometry, Object, Bundle).
    For value types, a default value control appears and is used when the socket is unlinked.

Shape
:   Defines the data structure supported by the input socket, such as a *Single* value, *Field*, or *Grid*.
    The shape determines how the data is evaluated and passed through the node network.
    See [Socket Shape](../../../interface/controls/nodes/parts.xhtml#interface-controls-nodes-socket-shape) for more information.

### Output Items

Available when the closure’s output zone is selected.

List of output sockets
:   Displays one entry per socket defined in the closure output. Double-click to rename.

Add Item
:   Add a new output socket to the closure.

Remove Item
:   Delete the selected output socket.

Type
:   Defines the data type for the selected socket (e.g. Float, Vector, Geometry, Object, Bundle).
    For value types, a default value control appears and is used when the socket is unlinked.

Shape
:   Defines the data structure supported by the input socket, such as a *Single* value, *Field*, or *Grid*.
    The shape determines how the data is evaluated and passed through the node network.
    See [Socket Shape](../../../interface/controls/nodes/parts.xhtml#interface-controls-nodes-socket-shape) for more information.
user: How do I use PreferencesExtensions(bpy_struct) in Blender? Include parameters, examples, warnings and best practices.

assistant: # PreferencesExtensions(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.PreferencesExtensions(*bpy_struct*)
:   Settings for extensions

    active_repo
    :   Index of the extensions repository being edited in the Preferences UI

        Type:
        :   int in [-32768, 32767], default 0

    repos
    :   Type:
        :   [`UserExtensionRepoCollection`](bpy.types.UserExtensionRepoCollection.html#bpy.types.UserExtensionRepoCollection "bpy.types.UserExtensionRepoCollection") [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`UserExtensionRepo`](bpy.types.UserExtensionRepo.html#bpy.types.UserExtensionRepo "bpy.types.UserExtensionRepo"), (readonly)

    use_online_access_handled
    :   The user has been shown the “Online Access” prompt and made a choice

        Type:
        :   boolean, default False

    *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
user: Show practical ways to work with GeometryNodeCurvePrimitiveLine(GeometryNode) in a Blender add-on or script – include code.

assistant: # GeometryNodeCurvePrimitiveLine(GeometryNode)

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

*class* bpy.types.GeometryNodeCurvePrimitiveLine(*GeometryNode*)
:   Generate a poly spline line with two points

    mode
    :   Method used to determine radius and placement

        - `POINTS`
          Points – Define the start and end points of the line.
        - `DIRECTION`
          Direction – Define a line with a start point, direction and length.

        Type:
        :   enum in [`'POINTS'`, `'DIRECTION'`], default `'POINTS'`

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

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

    *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
user: Describe Strip Menu from the Blender manual or Python API, including usage steps and snippets.

assistant: See [Editing Strips](../../../video_editing/edit/montage/editing.xhtml) for more information.

Mirror
:   Interactive Mirror `Ctrl`-`M`
    :   Starts mirror operation based on mouse cursor position

    X Global
    :   Mirrors the image in global X coordinates

    Y Global
    :   Mirrors the image in global Y coordinates

    X Local
    :   Mirrors the image in local X coordinates

    Y Local
    :   Mirrors the image in local Y coordinates

Duplicate `Shift`-`D`
:   The *Duplicate* operator creates a copy of the selected strip(s)
    and places them in the nearest available channel above the original.

    The duplicated content remain selected, allowing immediate repositioning.

Copy `Ctrl`-`C`
:   Adds selected strips to copy-paste buffer.

Paste `Ctrl`-`V`
:   Paste strips from copy-paste buffer.

Animation
:   Insert Keyframe `I`
    :   See [Insert Keyframe](../../../animation/keyframes/editing.xhtml#bpy-ops-anim-keyframe-insert).

    Insert Keyframe with Keying Set `K`
    :   See [Insert Keyframe with Keying Set](../../../animation/keyframes/editing.xhtml#bpy-ops-anim-keyframe-insert-menu).

    Change Keying Set `Shift`-`K`
    :   See [Set Active Keying Set](../../../animation/keyframes/keying_sets.xhtml#bpy-ops-anim-keying-set-active-set).

    Delete Keyframes `Alt`-`I`
    :   See [Delete Keyframes](../../../animation/keyframes/editing.xhtml#bpy-ops-anim-keyframe-delete).

    Clear Keyframes `Shift`-`Alt`-`I`
    :   See [Clear Keyframes](../../../animation/keyframes/editing.xhtml#bpy-ops-anim-keyframe-clear).

Show/Hide
:   Show Hidden Strips `Alt`-`H`
    :   Reveals all hidden/muted strips.

    Hide Selected `H`
    :   Mutes the selected strips.

    Hide Unselected `Shift`-`H`
    :   Mutes all strips except for the currently selected strips.

Delete
:   Delete selected strips
user: Give a detailed overview of Smooth Laplacian Modifier: syntax, arguments, return values, common patterns.

assistant: # Smooth Laplacian Modifier

The *Smooth Laplacian* modifier allows you to reduce noise on a mesh’s surface with minimal changes to its shape.

It can also exaggerate the shape using a negative *Factor*.

The *Smooth Laplacian* is useful for objects that have been reconstructed from
the real world and contain undesirable noise. It removes noise while still
preserving desirable geometry as well as the shape of the original model.

This modifier is based on a curvature flow *Laplace Beltrami* operator in a diffusion equation.
user: Show practical ways to work with Exporting in a Blender add-on or script – include code.

assistant: ### General

Format: ASCII
:   Exports the stl-file in ASCII format rather than as a binary format

Batch
:   Export each object as a separate STL file.

Include: Selection Only
:   When checked, only selected objects are exported.
    Instanced objects, for example collections that are instanced in the scene,
    are considered ‘selected’ when their instancer is selected.

Scale
:   Value by which to scale the exported objects in relation to the world’s origin.

Scene Unit
:   Apply current scene’s unit (as defined by unit scale) to exported data.

Forward, Up
:   Since many applications use a different axis for ‘Up’, these are axis conversion for these settings,
    Forward and Up axes – By mapping these to different axes you can convert rotations
    between applications default up and forward axes.

    Blender uses Y Forward, Z Up (since the front view looks along the +Y direction).
    For example, it’s common for applications to use Y as the up axis, in that case -Z Forward, Y Up is needed.

### Geometry

Apply Modifiers
:   Export objects using the evaluated mesh, meaning the resulting mesh after all
    [Modifiers](../../modeling/modifiers/index.xhtml) have been calculated.
user: Give a detailed overview of Usage: syntax, arguments, return values, common patterns.

assistant: 1. Enable Cryptomatte Object render pass in the Passes panel, and render.
2. In the compositing nodes, create a Cryptomatte node and
   link the Render Layer matching Image and Cryptomatte passes to it.
3. Attach a Viewer node to the Pick output of the Cryptomatte node.
4. Use the Cryptomatte Add/Remove button to sample objects in the Pick Viewer node.
5. Use the Matte output of the Cryptomatte node to get the alpha mask.

### Adding/Removing Layers

By default there are only four crypto layers available as inputs to the Cryptomatte node.
You can add or remove layer inputs through
Sidebar ‣ Item ‣ Properties ‣ Add/Remove Crypto Layer.
These operators will add/remove layers from the bottom of the pass inputs.
user: Explain Points in complete detail according to the official Blender documentation.

assistant: The main element used in editing Grease Pencil objects are points.
Points represent a single point in 3D space.

Each point stores all the properties that define the final appearance of the strokes
as its location, thickness, alpha, weight and UV rotation for textures.
user: Explain Action Constraint in complete detail according to the official Blender documentation.

assistant: # Action Constraint

The *Action* constraint evaluates the location, rotation, and scale inside
a certain [Action](../../actions.xhtml) at a certain frame,
then applies those to an object or bone.

The frame can either be given directly, or it can be derived from a location
coordinate, rotation angle, or scale factor of another object or bone.
An example of the latter would be to use frame 0 of the Action if an
[Empty](../../../modeling/empties.xhtml) is at X = 0 and frame 100 if the Empty is at X = 10.
If the Empty is then placed at X = 5, the constraint will interpolate this and
evaluate frame 50.

An alternative (if obscure) way of using this constraint is to reference an Action
that animates properties of *other* constraints. The *Action* constraint will
then apply these properties to the constraints that come after it, as long
as their names match the ones in the Action.
user: What is Cycles and how is it used in Blender Python scripting?

assistant: In addition to the options above, which apply to all render engines,
Cycles has additional options to further control its behavior.
See [Cycles Render Options](arguments.xhtml#command-line-args-cycles-render-options)
user: Show practical ways to work with Intersections in a Blender add-on or script – include code.

assistant: Another common cause of problems for printing are intersections between surfaces,
where the inside/outside of a model cannot be reliably detected.

Unlike other display modes, intersections have no variance and are either on or off.

[image reference removed]

Intersecting faces.
user: Explain Video in complete detail according to the official Blender documentation.

assistant: ### Output

Videos can be rendered with both wide gamut and HDR color spaces. They use the scene display
by default, but can also be assigned a different color space by overriding the color management
settings in the output properties.

Saving HDR videos has a few additional requirements:

- Set color management display to Rec.2100 PQ or HLG
- Set codec to H.265 or AV1
- Set bit depth to 10 or 12

Video players and devices have different levels of support for HDR video.
Bit depth 10 with PQ encoding is a good default choice to maximize compatibility.

HDR videos are written with 100 nits diffuse white, to match the convention in most video
players and browsers.
user: What is Principled Volume and how is it used in Blender Python scripting?

assistant: # Principled Volume

[image reference removed]

The *Principled Volume* shader combines all volume shading components into
a single easy to use node. Volumes like smoke and fire can be rendered with
a single shader node, which includes scattering, absorption and blackbody emission.
user: Show practical ways to work with Brush Settings in a Blender add-on or script – include code.

assistant: # Brush Settings

Material
:   Data-block selector for the [material](../../../materials/index.xhtml).
    Except for the *Erase* tool of course.

    / Pin Material
    :   Pin the material to the brush.

        The final appearance of the strokes is a combination of the brush and material used,
        binding the material to the brush gives more control and avoids a lack of coordination between the two.
user: How do I use Index in Blender? Include parameters, examples, warnings and best practices.

assistant: # Index

[**_**](#_) | [**A**](#A) | [**B**](#B) | [**C**](#C) | [**D**](#D) | [**E**](#E) | [**F**](#F) | [**G**](#G) | [**H**](#H) | [**I**](#I) | [**J**](#J) | [**K**](#K) | [**L**](#L) | [**M**](#M) | [**N**](#N) | [**O**](#O) | [**P**](#P) | [**Q**](#Q) | [**R**](#R) | [**S**](#S) | [**T**](#T) | [**U**](#U) | [**V**](#V) | [**W**](#W) | [**X**](#X) | [**Y**](#Y) | [**Z**](#Z)
user: What is Outputs and how is it used in Blender Python scripting?

assistant: Image
:   A colored output of the input image with the matte applied to only include selected layers.

Matte
:   A black-and-white alpha mask of the all the selected crypto layers.

Pick
:   A colored representation of the Cryptomatte pass which can be used
    with a Viewer node to select which crypto passes are used to create the matte image.
user: Describe Collections from the Blender manual or Python API, including usage steps and snippets.

assistant: # Collections

There can be many objects in a scene: A typical stage scene consists of furniture, props,
lights, and backdrops.
Blender helps you keep everything organized by allowing you to group like objects together.
Objects can be grouped together without any kind of transformation relationship (unlike parenting).
Collections are used to just logically organize your scene,
or to facilitate one-step appending or linking between files or across scenes.
user: Explain Operators in complete detail according to the official Blender documentation.

assistant: [image reference removed]

Vertex weight operators.

Normalize
:   Recalculates the weights of the active vertex so that they add up to 1.0 while
    retaining their relative magnitude.

Copy
:   Copies all the weights from the active vertex to the other selected vertices.
user: Give a detailed overview of AOVs(bpy_struct): syntax, arguments, return values, common patterns.

assistant: # AOVs(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.AOVs(*bpy_struct*)
:   Collection of AOVs

    add()
    :   add

        Returns:
        :   Newly created AOV

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

    remove(*aov*)
    :   Remove an AOV

        Parameters:
        :   **aov** ([`AOV`](bpy.types.AOV.html#bpy.types.AOV "bpy.types.AOV"), (never None)) – AOV to remove

    *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
user: Explain Select Sharp Edges in complete detail according to the official Blender documentation.

assistant: # Select Sharp Edges

Selects edges whose faces intersect at an acute angle. This can be useful to find hard edges in a mesh.

Sharpness
:   Determines how sharp of an angle at an edge needs to be in order for it to be selected.
user: How do I use Mesh Edit Mode Overlays in Blender? Include parameters, examples, warnings and best practices.

assistant: The following options are available when in Mesh Edit Mode.

Faces
:   Highlight selected faces. Affects all selection modes.

Center
:   Show face center points in solid shading modes. (They’re always shown in wireframe shading mode.)

    Only affects face selection mode.

Creases
:   Display edges marked with a crease
    for the [Subdivision Surface Modifier](../../../modeling/modifiers/generate/subdivision_surface.html).

Sharp
:   Display sharp edges, used with the [Edge Split modifier](../../../modeling/modifiers/generate/edge_split.html).

Bevel
:   Display weights created for the [Bevel Modifier](../../../modeling/modifiers/generate/bevel.html).

Seams
:   Display the [UV unwrapping seams](../../../modeling/meshes/uv/unwrapping/seams.html).

Indices
:   Display the indices of selected vertices, edges, and faces.

### Shading

Retopology
:   This overlay is useful when you have a sculpted mesh with the desired shape and
    want to recreate it with better topology. It makes the edited mesh see-through
    (so that you can see the sculpted mesh underneath it) and optionally renders it
    in front of nearby geometry (so that you can see it underneath the sculpted mesh).

    Offset
    :   Distance to “move the edited mesh towards the camera.” Use this to display the
        mesh in front of other objects that would normally occlude it.

Vertex Groups Weights
:   Visualize the weights of the active vertex group,
    much like in [Weight Paint](../../../sculpt_paint/weight_paint/introduction.html) mode.

    Zero Weights
    :   Display unreferenced and zero-weighted areas in black.
        This helps to identify areas with very low weights that have been painted onto.

        None:
        :   Vertices are displayed in the usual way.

        Active:
        :   Vertices are shown in black if they have no weight in the active vertex group.

        All:
        :   Vertices are shown in black if they have no weight in any vertex group.

### Mesh Analysis

Show the [Mesh Analysis](../../../modeling/meshes/mesh_analysis.html#modeling-mesh-analysis) overlay.

### Measurement

Show numerical measures of the selected elements.
The [Units](../../../scene_layout/scene/properties.html#bpy-types-unitsettings) can be set in the Scene properties.

Edge Length
:   Show the length of selected edges.

Edge Angle
:   Show the angle of selected edges between two faces.

Face Area
:   Show the area of selected faces.

Face Angle
:   Show the angle of selected face corners.

### Normals

- Display vertex normals
- Display face normals at vertices (split normals)
- Display face normals

Size
:   The size to show the selected normals.

    Constant Screen Size Normals
    :   Keep the size of normals constant in relation to the zoom level.

### Freestyle

These settings apply to the [Freestyle](../../../render/freestyle/introduction.html)
Line Art renderer.

Edge Marks
:   Display Freestyle edge marks.

Face Marks
:   Display Freestyle face marks.
user: Give a detailed overview of Inputs: syntax, arguments, return values, common patterns.

assistant: Mesh
:   Standard mesh input.

Start Vertices
:   A selection of the vertices to start at when traveling along the next vertex indices.

Next Vertex Index
:   Describes the path to follow at every vertex.
user: Show practical ways to work with Shrinkwrap Hair Curves in a Blender add-on or script – include code.

assistant: # Shrinkwrap Hair Curves

The *Shrinkwrap Hair Curves* node projects hair curves onto a target surface,
adjusting their positions so they follow the shape of a mesh.
It can be used to conform hair to a scalp or other underlying geometry,
ensuring curves remain properly positioned relative to a surface.
user: Describe References from the Blender manual or Python API, including usage steps and snippets.

assistant: |  |  |
| --- | --- |
| - [`GeometryNodeMenuSwitch.active_item`](bpy.types.GeometryNodeMenuSwitch.html#bpy.types.GeometryNodeMenuSwitch.active_item "bpy.types.GeometryNodeMenuSwitch.active_item") - [`GeometryNodeMenuSwitch.enum_items`](bpy.types.GeometryNodeMenuSwitch.html#bpy.types.GeometryNodeMenuSwitch.enum_items "bpy.types.GeometryNodeMenuSwitch.enum_items") | - [`NodeMenuSwitchItems.new`](bpy.types.NodeMenuSwitchItems.html#bpy.types.NodeMenuSwitchItems.new "bpy.types.NodeMenuSwitchItems.new") - [`NodeMenuSwitchItems.remove`](bpy.types.NodeMenuSwitchItems.html#bpy.types.NodeMenuSwitchItems.remove "bpy.types.NodeMenuSwitchItems.remove") |
user: Give a detailed overview of Storyboarding App Template: syntax, arguments, return values, common patterns.

assistant: # Storyboarding App Template

The *Storyboarding* app template provides a ready-to-use setup for creating storyboards
in Blender, combining 2D drawing and scene management tools in one workspace.

It is based on the *2D Animation* template, but adds a configured Video Sequence Editor (VSE)
for organizing shots using the *Sync Scene* feature.

[image reference removed]

The default Storyboarding App template.
user: Describe Color Mix Strip from the Blender manual or Python API, including usage steps and snippets.

assistant: # Color Mix Strip

The *Color Mix* effect strip mixes two strips by working on
the individual and corresponding pixels of the two input strips.

This effect can do the exact same operation as the Add, Subtract,
or Multiply effect strips but also other color blending modes.
user: Explain Index in complete detail according to the official Blender documentation.

assistant: # Index

[**Symbols**](#Symbols)
| [**A**](#A)
| [**B**](#B)
| [**C**](#C)
| [**D**](#D)
| [**E**](#E)
| [**F**](#F)
| [**G**](#G)
| [**H**](#H)
| [**I**](#I)
| [**K**](#K)
| [**L**](#L)
| [**M**](#M)
| [**N**](#N)
| [**O**](#O)
| [**P**](#P)
| [**Q**](#Q)
| [**R**](#R)
| [**S**](#S)
| [**T**](#T)
| [**U**](#U)
| [**V**](#V)
| [**W**](#W)
| [**Z**](#Z)
user: Provide the full official documentation entry for Examples, preserving all code examples.

assistant: [image reference removed]

Here, the selection outputs are used to set materials on certain faces of the mesh.
A [Random Value Node](../../utilities/random_value.xhtml) is used to limit the
extrusion to a random set of faces.
user: Give a detailed overview of References: syntax, arguments, return values, common patterns.

assistant: |  |  |
| --- | --- |
| - [`GeometryNodeSimulationOutput.state_items`](bpy.types.GeometryNodeSimulationOutput.html#bpy.types.GeometryNodeSimulationOutput.state_items "bpy.types.GeometryNodeSimulationOutput.state_items") |  |
user: Show practical ways to work with Bevel Modifier in a Blender add-on or script – include code.

assistant: # Bevel Modifier

[image reference removed]

The Bevel modifier.

The *Bevel* modifier bevels the edges of the mesh it is applied to,
with some control of how and where the bevel is applied to the mesh.

It is a non-destructive alternative to
the [Bevel Operation](../../meshes/editing/edge/bevel.xhtml) in Edit Mode.

Side views of a cube.

|  |  |
| --- | --- |
| ../../../_images/modeling_modifiers_generate_bevel_square-not.png   Not beveled. | ../../../_images/modeling_modifiers_generate_bevel_square.png   Beveled. |
user: Show practical ways to work with References in a Blender add-on or script – include code.

assistant: |  |  |
| --- | --- |
| - [`SoundEqualizerModifier.graphics`](bpy.types.SoundEqualizerModifier.html#bpy.types.SoundEqualizerModifier.graphics "bpy.types.SoundEqualizerModifier.graphics") | - [`SoundEqualizerModifier.new_graphic`](bpy.types.SoundEqualizerModifier.html#bpy.types.SoundEqualizerModifier.new_graphic "bpy.types.SoundEqualizerModifier.new_graphic") |
user: Show practical ways to work with Outputs in a Blender add-on or script – include code.

assistant: The output of the node is dynamic. It is either a vector or a scalar depending on the operator.
For instance, the *Length* operator has a scalar output while the *Add* operator has a vector output.

Vector
:   Output vector.

Value
:   Output value.
user: Explain Inputs in complete detail according to the official Blender documentation.

assistant: Curve
:   The input curve to generate the tube along.

Scale
:   Distance factor multiplied by the curve’s radius attribute to define the resulting tube radius.

### Profile

Profile Mode
:   Method used to define the profile shape of the tube.

    Round:
    :   Uses a circular profile to define the tube cross-section.

    Custom:
    :   Uses a custom object or geometry as the profile shape.

Resolution Round
:   The number of points around the circular profile.
    Also defines the resolution of the *Round* cap type.

Profile Input Custom
:   Defines how the custom profile is provided.

    Object:
    :   Uses a single object as the custom profile.

    Geometry:
    :   Uses input geometry directly as the profile.

Object / Geometry Custom
:   The specific object or geometry to use as the profile when *Custom* mode is active.

Shade Smooth
:   Enables smooth shading for the generated mesh.

### Resample

Resamples the input curve before generating the mesh.
This helps achieve evenly distributed geometry and consistent resolution along the tube.

Resample Mode
:   Determines how the curve is resampled.

    Evaluated:
    :   Uses the existing evaluated curve points.

    Auto:
    :   Automatically determines an appropriate sample length based on curve details.

    Count:
    :   Uses a fixed number of sample points.

    Length:
    :   Uses a fixed distance between sample points.

Scale Auto
:   Scale factor applied to the automatically derived resample length when using *Auto* mode.

Count Count
:   Number of sample points along the curve when using *Count* mode.

Length Length
:   Distance between sample points when using *Length* mode.

### Caps

Fills the open ends of the tube with cap geometry.

Caps Type
:   Method used to fill the tube ends.

    Flat:
    :   Uses a single n-gon to cap each end.

    Round:
    :   Uses a half-circle shape for rounded caps.

    Custom:
    :   Uses user-provided geometry or an object as the cap.

Smooth Flat Round
:   Smooths the transition between the tube body and the caps instead of creating a sharp edge.

Caps Input Custom
:   Defines how custom caps are provided.

    Object:
    :   Uses a single object as the custom cap.

    Geometry:
    :   Uses input geometry as the custom cap.

Start / End Custom
:   Specifies the objects or geometry to use for the start and end caps when *Custom* mode is active.

### UV Map

Name
:   The name of the UV map to create or modify on the output mesh.

Parameter U/V
:   Defines how the UVs are generated along the tube.

    Factor:
    :   Uses a normalized 0-1 factor along the curve and profile.

    Length:
    :   Maps UVs based on the real length of the curve and circumference.

    Index:
    :   Uses the point indices along the curve and profile.

Consider Curve Radius
:   When enabled, the UV generation takes into account variations in the curve’s radius.