PGCRYPT/OpenBlender_Train huggingface dataset:
user: Provide the full official documentation entry for Locks, preserving all code examples.

assistant: Vertex groups can be locked to prevent undesired edits to a particular vertex group.

Lock All
:   Locks all vertex groups.

Lock Selected
:   Locks selected vertex groups.

Lock Unselected
:   Locks unselected vertex groups.

Lock Only Selected
:   Lock selected and unlock selected vertex groups.

Lock Only Unselected
:   Unlock selected and lock unselected vertex groups.

Unlock All
:   Unlocks all vertex groups.

Unlock Selected
:   Unlocks selected vertex groups.

Unlock Unselected
:   Unlocks Unselected vertex groups.

Invert Locks
:   Inverts the locks on all vertex groups.
user: Describe Bpy.Types.Animdata from the Blender manual or Python API, including usage steps and snippets.

assistant: py_struct.is_property_set bpy_struct.items bpy_struct.keyframe_delete bpy_struct.keyframe_insert bpy_struct.keys bpy_struct.path_from_id bpy_struct.path_from_module bpy_struct.path_resolve bpy_struct.pop bpy_struct.property_overridable_library_set bpy_struct.property_unset bpy_struct.rna_ancestors bpy_struct.type_recast bpy_struct.values References ¶ Annotation.animation_data Armature.animation_data CacheFile.animation_data Camera.animation_data Curve.animation_data Curves.animation_data FreestyleLineStyle.animation_data GreasePencil.animation_data ID.animation_data_create Key.animation_data Lattice.animation_data Light.animation_data LightProbe.animation_data Mask.animation_data Material.animation_data Mesh.animation_data MetaBall.animation_data MovieClip.animation_data NodeTree.animation_data Object.animation_data ParticleSettings.animation_data PointCloud.animation_data Scene.animation_data Speaker.animation_data Texture.animation_data Volume.animation_data World.animation_data Next AnimDataDrivers(bpy_struct) Previous AlphaUnderStrip(EffectStrip) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page AnimData(bpy_struct) AnimData AnimData.action AnimData.action_blend_type AnimData.action_extrapolation AnimData.action_influence AnimData.action_slot AnimData.action_slot_handle AnimData.action_slot_handle_tweak_storage AnimData.action_suitable_slots AnimData.action_tweak_storage AnimData.drivers AnimData.last_slot_identifier AnimData.nla_tracks AnimData.use_nla AnimData.use_pin AnimData.use_tweak_mode AnimData.nla_tweak_strip_time_to_scene() AnimData.fix_paths_rename_all() AnimData.bl_rna_get_subclass() AnimData.bl_rna_get_subclass_py() Inherited Properties Inherited Functions References
user: Describe Options from the Blender manual or Python API, including usage steps and snippets.

assistant: [image reference removed]

The Array modifier.

Count
:   Total number of copies.

Material Override
:   Index of the material to use on duplicated strokes (0 use strokes original materials).

### Relative Offset

Factor X, Y, Z
:   Adds a translation equal to the object’s bounding box size along each axis,
    multiplied by a scaling factor, to the offset. X, Y and Z scaling factors can be specified.

### Constant Offset

Factor X, Y, Z
:   Adds a constant translation component to the duplicate object’s offset.
    X, Y and Z constant components can be specified.

### Object Offset

Distance X, Y, Z
:   Adds a transformation taken from an object (relative to the current object) to the offset.
    It is good practice to use an empty object centered or near to the initial object.

### Randomize

Offset X, Y, Z
:   Add random offset values to the copies.

Rotation X, Y, Z
:   Add random rotation values to the copies.

Scale X, Y, Z
:   Add random scale values to the copies.

Uniform Scale
:   Use the same random *Seed* for each scale axis in the copies for a uniform scale.

Seed
:   [Seed](../../../glossary/index.xhtml#term-Seed) used by the pseudo-random number generator.

### Influence

See [Influence Filters](../introduction.xhtml#grease-pencil-modifier-influence-filters).
user: Explain Gas in complete detail according to the official Blender documentation.

assistant: Buoyancy Density
:   Buoyant force based on gas density.

    - Values above 0 will cause the gas to rise (simulating gas which is lighter than ambient air).
    - Values below 0 will cause gas to sink (simulating gas which is heavier than ambient air).

Buoyancy Heat
:   Controls how much gas is affected by temperature.
    The effect this setting has on gas depends on the per flow object
    [Initial Temperature](../flow.html#bpy-types-fluidflowsettings-temperature):

    - Values above 0 will result in the gas rising when the flow object *Initial Temperature* is
      set to a positive value, and gas sinking when the flow object *Initial Temperature* is
      set to a negative value.
    - Values below 0 will result in the opposite of positive values,
      i.e. gas emitted from flow objects with a positive *Initial Temperature* will sink,
      and gas from flow objects with a negative *Initial Temperature* will rise.

    Note that gas from multiple flow objects with different temperatures will mix and warm up or
    cool down until an equilibrium is reached.

Vorticity
:   Controls the amount of turbulence in the gas. Higher values will make lots of small swirls,
    while lower values make smoother shapes.

    Comparison of different amounts of vorticity.

    |  |  |
    | --- | --- |
    | ../../../../_images/physics_fluid_type_domain_settings_vorticity-off.png   Domain with a vorticity of 0.0. | ../../../../_images/physics_fluid_type_domain_settings_vorticity-on.png   Domain with a vorticity of 0.2. |

### Dissolve

Allow gas to dissipate over time.

Time
:   Speed of gas dissipation in frames.

Slow
:   Dissolve gas in a logarithmic fashion. Dissolves quickly at first, but lingers longer.
user: Give a detailed overview of Light Probes: syntax, arguments, return values, common patterns.

assistant: # Light Probes

Light probe objects are used by EEVEE as support objects.

There are three different types of light probes.
Each type of light probe records the lighting at a different resolution and frequency.
Probes are used together to recover incoming light information when using ray tracing is not possible
(either for performance or for technical limitations).

These types of objects are only useful for EEVEE (and by extension, the Material Preview mode).
user: Give a detailed overview of Troubleshooting Linux – AMD: syntax, arguments, return values, common patterns.

assistant: # Troubleshooting Linux – AMD

Blender uses OpenGL for the 3D Viewport and user interface. The graphics processing unit (GPU) and driver have a big
impact on Blender’s behavior and performance.

This section lists possible solutions for graphics glitches, problems with EEVEE and Cycles, and crashes related to
your GPU.
user: Give a detailed overview of Wireframe Modifier: syntax, arguments, return values, common patterns.

assistant: # Wireframe Modifier

The *Wireframe* modifier transforms a mesh into a wireframe by iterating over its
faces, collecting all edges and turning those edges into four-sided polygons.
Be aware of the fact that your mesh needs to have faces to be wireframed.
You can define the thickness, the material and several other parameters of the generated
wireframe dynamically via the given modifier options.
user: Explain Pose Library in complete detail according to the official Blender documentation.

assistant: # Pose Library

This section describes the pose library, which is based on the [Asset Browser](../../../../editors/asset_browser.xhtml).
For an overview of the asset system, see the [Asset Libraries](../../../../files/asset_libraries/index.xhtml) section.
The pose library is meant to be used in Pose Mode. In other words, it only works
when posing an armature, and not for general object animation.
user: Give a detailed overview of Index: syntax, arguments, return values, common patterns.

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: Describe QuaternionAttributeValue(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # QuaternionAttributeValue(bpy_struct)

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

*class* bpy.types.QuaternionAttributeValue(*bpy_struct*)
:   Rotation value in geometry attribute

    value
    :   Quaternion

        Type:
        :   float array of 4 items in [-inf, inf], default (0.0, 0.0, 0.0, 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
user: Provide the full official documentation entry for JSON, preserving all code examples.

assistant: To generate a valid JSON file use the [server generate](../../command_line/extension_arguments.html#command-line-args-extension-server-generate)
Blender command-line tool:

```
blender --command extension server-generate --repo-dir=/path/to/packages
```

This creates an `index.json` listing from all the .zip extensions found in the –repo-dir location.

For more details, read the generated JSON
[API](https://developer.blender.org/docs/features/extensions/api_listing/).

### Testing

To test the generated repository, add a new Remote Repository from the Preferences:

- Get Extensions → Repositories → [+] → Add Remote Repository
- Paste the location of the generated JSON as the URL.
  So the example `/path/to/packages` would use the:

  - `file:///path/to/packages/index.json` on Linux and macOS.
  - `file:///C:/path/to/packages/index.json` on Windows.
  - `file://HOST/share/path/to/packages/index.json` for network shares on Windows.
user: Show practical ways to work with POSE_UL_selection_set(UIList) in a Blender add-on or script – include code.

assistant: # POSE_UL_selection_set(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.POSE_UL_selection_set(*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: Show practical ways to work with Outputs in a Blender add-on or script – include code.

assistant: Mesh
:   Mesh component of the input geometry.

Curve
:   Curve component of the input geometry.

Point Cloud
:   Point cloud component of the input geometry.

Volume
:   Volume component of the input geometry.

Instances
:   Instances component of the input geometry. Even if the instances contain geometry data with
    one of the other types, all instances will be added to this output.
    A [Realize Instances Node](../../instances/realize_instances.xhtml) can be added to move the data from
    geometry instances to their corresponding outputs.
user: Describe Editing from the Blender manual or Python API, including usage steps and snippets.

assistant: The following operations are available in the file list’s context menu.

External
:   Use the operating system to perform an action on the file or directory.
    The options listed below might not be available on all operating systems.

    Open:
    :   Open the file.

    Open Folder:
    :   Open the folder.

    Edit:
    :   Edit the file.

    New:
    :   Create a new file of this type.

    Find File:
    :   Search for files of this type.

    Show:
    :   Show this file.

    Play:
    :   Play this file.

    Browse:
    :   Browse this file.

    Preview:
    :   Preview this file.

    Print:
    :   Print this file.

    Install:
    :   Install this file.

    Run As User:
    :   Run as specific user.

    Properties:
    :   Show OS Properties for this item.

    Find in Folder:
    :   Search for items in this folder.

    Command Prompt Here:
    :   Open a command prompt here.

Delete `Delete`, `X`
:   Delete the currently selected files or directories by moving them to the operating system’s “trash”.

    Note, on Linux deleting directories requires KDE or GNOME.

Rename `F2`
:   Change the name of the currently selected file or directory.
user: Describe RenderResult(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # RenderResult(bpy_struct)

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

*class* bpy.types.RenderResult(*bpy_struct*)
:   Result of rendering, including all layers and passes

    layers
    :   Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`RenderLayer`](bpy.types.RenderLayer.html#bpy.types.RenderLayer "bpy.types.RenderLayer"), (readonly)

    resolution_x
    :   Type:
        :   int in [-inf, inf], default 0, (readonly)

    resolution_y
    :   Type:
        :   int in [-inf, inf], default 0, (readonly)

    views
    :   Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`RenderView`](bpy.types.RenderView.html#bpy.types.RenderView "bpy.types.RenderView"), (readonly)

    load_from_file(*filepath*)
    :   Copies the pixels of this render result from an image file

        Parameters:
        :   **filepath** (*string**,* *(**never None**)*) – File Name, Filename to load into this render tile, must be no smaller than the render result

    stamp_data_add_field(*field*, *value*)
    :   Add engine-specific stamp data to the result

        Parameters:
        :   - **field** (*string**,* *(**never None**)*) – Field, Name of the stamp field to add
            - **value** (*string**,* *(**never None**)*) – Value, Value of the stamp data

    *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 BSDF Parameters and how is it used in Blender Python scripting?

assistant: A major difference from non-physically-based renderers is that direct light reflection from
lights and indirect light reflection of other surfaces are not decoupled, but rather handled
using a single BSDF.
This limits the possibilities a bit, but we believe overall it is helpful in creating
consistent-looking renders with fewer parameters to tune.

Roughness
:   For the glossy BSDFs,
    the *roughness* parameter controls the sharpness of the reflection, from 0.0 (perfectly sharp)
    to 1.0 (very soft).
user: Provide the full official documentation entry for Usage, preserving all code examples.

assistant: The *Warp* modifier can be awkward to use sometimes, and its use case is rather small,
but there are a few still. For example, it can be used to have
an interactive [Proportional Editing](../../../editors/3dview/controls/proportional_editing.xhtml)
that can be used for animations.

Another way to use this modifier is similar to
the [Deform Modifier](mesh_deform.xhtml).
This allows you to deform parts of the mesh without having to make a vertex group.
user: Explain Plane in complete detail according to the official Blender documentation.

assistant: The standard plane is a single quad face composed of four vertices, four edges, and one face.
It lies flat and has no thickness, making it a purely two-dimensional object.

Planes are commonly used to represent surfaces such as floors, walls, tabletops, or mirrors.
They are also frequently used as emitter objects, camera backgrounds, or for projection mapping.

Size
:   Sets the width and height of the plane (the full extent from edge to edge).
user: Describe TextureSlot(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # TextureSlot(bpy_struct)

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

subclasses —
[`BrushTextureSlot`](bpy.types.BrushTextureSlot.html#bpy.types.BrushTextureSlot "bpy.types.BrushTextureSlot"), [`LineStyleTextureSlot`](bpy.types.LineStyleTextureSlot.html#bpy.types.LineStyleTextureSlot "bpy.types.LineStyleTextureSlot"), [`ParticleSettingsTextureSlot`](bpy.types.ParticleSettingsTextureSlot.html#bpy.types.ParticleSettingsTextureSlot "bpy.types.ParticleSettingsTextureSlot")

*class* bpy.types.TextureSlot(*bpy_struct*)
:   Texture slot defining the mapping and influence of a texture

    blend_type
    :   Mode used to apply the texture

        Type:
        :   enum in [`'MIX'`, `'DARKEN'`, `'MULTIPLY'`, `'LIGHTEN'`, `'SCREEN'`, `'ADD'`, `'OVERLAY'`, `'SOFT_LIGHT'`, `'LINEAR_LIGHT'`, `'DIFFERENCE'`, `'SUBTRACT'`, `'DIVIDE'`, `'HUE'`, `'SATURATION'`, `'COLOR'`, `'VALUE'`], default `'MIX'`

    color
    :   Default color for textures that don’t return RGB or when RGB to intensity is enabled

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

    default_value
    :   Value to use for Ref, Spec, Amb, Emit, Alpha, RayMir, TransLu and Hard

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

    name
    :   Texture slot name

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

    offset
    :   Fine tune of the texture mapping X, Y and Z locations

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

    output_node
    :   Which output node to use, for node-based textures

        Type:
        :   enum in [`'DEFAULT'`], default `'DEFAULT'`

    scale
    :   Set scaling for the texture’s X, Y and Z sizes

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

    texture
    :   Texture data-block used by this texture slot

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

    *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: Provide the full official documentation entry for Introduction, preserving all code examples.

assistant: # Introduction

A *Keyframe* is simply a marker of time which stores the value of a property.

For example, a Keyframe might define that the horizontal position of a cube is at 3 m on frame 1.

The purpose of a Keyframe is to allow for interpolated animation, meaning, for example,
that the user could then add another key on frame 10, specifying the cube’s horizontal position at 20 m,
and Blender will automatically determine the correct position of the cube for all the frames between frame 1 and 10
depending on the chosen interpolation method (e.g. Linear, Bézier, Quadratic, etc.).

An overview of existing keyframes can be seen via the [Dope Sheet](../../editors/dope_sheet/index.xhtml) editor.
user: What is Instance Transform Node and how is it used in Blender Python scripting?

assistant: # Instance Transform Node

[image reference removed]

The *Instance Transform* outputs the [Transformation Matrix](../../../glossary/index.xhtml#term-Transformation-Matrix) of each top-level instance in the
local space of the modifier object.

The [Instances](../instances.xhtml) page contains more information about geometry instances.
user: Show practical ways to work with Options in a Blender add-on or script – include code.

assistant: [image reference removed]

Follow Path constraint.

[Target](../interface/common.xhtml#rigging-constraints-interface-common-target)
:   The Curve object to follow.

Offset Fixed Position disabled
:   The number of frames to subtract from the Curve’s *Evaluation Time*. A positive value will
    move the owner to an earlier point on the Curve, while a negative value will move it to
    a later point.

Offset Factor Fixed Position enabled
:   Relative position along the Curve, independent of its *Evaluation Time*. A value of 0 corresponds
    to the start of the Curve while a value of 1 corresponds to the end.

Forward Axis
:   The local axis of the owner that should be aligned to the Curve’s tangent direction.
    Requires that *Follow Curve* is enabled.

    A negative axis will make the owner point in the opposite direction.

Up Axis
:   The local axis of the owner that should be aligned (as much as possible) to the global Z axis.
    Requires that *Follow Curve* is enabled.

Fixed Position
:   Ignore the Curve’s *Evaluation Time* and position the owner using only the *Offset Factor*.

    Despite the name of this property, the owner can still be moved over time by animating
    the *Offset Factor*.

Curve Radius
:   Scale the owner based on the [radii](../../../modeling/curves/editing/curve.xhtml#modeling-curve-radius) of the Curve’s
    control points.

Follow Curve
:   Rotate the owner according to the *Forward Axis* and the *Up Axis*.

Animate Path
:   By default, the Curve’s *Evaluation Time* is static and the constraint owner doesn’t move.
    Clicking this button will animate the *Evaluation Time* so that it’s always equal to the
    current scene frame.

    Of course, it’s also possible to skip this button and animate the *Evaluation Time* by hand.

[Influence](../interface/common.xhtml#bpy-types-constraint-influence)
:   How strongly the constraint affects the owner.
user: Explain Strengths in complete detail according to the official Blender documentation.

assistant: Default
:   Goal weight/strength for all vertices when no *Vertex Group* is assigned.
    If you use a vertex group the weight of a vertex defines its goal.

Min/Max
:   When you use a vertex group, you can use the *Minimum* and *Maximum* to fine-tune (clamp) the weight values.
    The lowest vertex weight will become *Minimum*, the highest value becomes *Maximum*.
user: Explain Visualization in complete detail according to the official Blender documentation.

assistant: In Object Mode, the calculated mesh is shown, along with a black “selection ring”.

[image reference removed]

Meta Ball in Edit Mode.

In Edit Mode (Fig. [Meta Ball in Edit Mode.](#fig-meta-ball-example)), a meta is displayed as a mesh
(either shaded or as black wireframe, but without any vertex of course),
with two colored circles: a red one for selection (pink when selected),
and a green one for a direct control of the meta’s stiffness (light green when active).
Note that except for the [scale transformation](../../scene_layout/object/editing/transform/scale.xhtml#bpy-ops-transform-resize),
having the green circle highlighted is equivalent to having the red one.
user: What is GeometryNodeCurveHandleTypeSelection(GeometryNode) and how is it used in Blender Python scripting?

assistant: # GeometryNodeCurveHandleTypeSelection(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.GeometryNodeCurveHandleTypeSelection(*GeometryNode*)
:   Provide a selection based on the handle types of Bézier control points

    handle_type
    :   - `FREE`
          Free – The handle can be moved anywhere, and does not influence the point’s other handle.
        - `AUTO`
          Auto – The location is automatically calculated to be smooth.
        - `VECTOR`
          Vector – The location is calculated to point to the next/previous control point.
        - `ALIGN`
          Align – The location is constrained to point in the opposite direction as the other handle.

        Type:
        :   enum in [`'FREE'`, `'AUTO'`, `'VECTOR'`, `'ALIGN'`], default `'FREE'`

    mode
    :   Whether to check the type of left and right handles

        Type:
        :   enum set in [Node Geometry Curve Handle Side Items](bpy_types_enum_items/node_geometry_curve_handle_side_items.html#rna-enum-node-geometry-curve-handle-side-items), default set()

    *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: How do I use Working Space in Blender? Include parameters, examples, warnings and best practices.

assistant: File
:   Color space used for all scene linear colors in this file, and for shader, compositing and geometry
    nodes processing. The default is Linear Rec.709, while Linear Rec.2020 and ACEScg are available for
    working with a wider gamut of colors and compatibility with ACES workflows.

    The working space affects the colors of all data-blocks in a file, and has a significant effect on
    rendering and compositing results. Generally the working space should be chosen at the start of a
    project and used for all blend files.

    Blender can convert between different working spaces, however this is only an approximation and
    manual fix-ups are typically needed. When linking and appending data-blocks, colors are
    automatically converted to match the current file.

Sequencer
:   The color space that the [Sequencer](../../editors/video_sequencer/index.xhtml) operates in.
    By default, the Sequencer operates in sRGB space,
    but it can also be set to work in Linear space like the Compositing nodes, or another color space.
    Different color spaces will give different results for color correction, crossfades, and other operations.

    The default supported color spaces are described in
    [Built-in Color Spaces](#ocio-config-default-color-spaces).
user: Provide the full official documentation entry for Examples, preserving all code examples.

assistant: | Input Value | Round | Floor | Ceiling | Truncate |
| --- | --- | --- | --- | --- |
| -69.6574 | -70 | -70 | -69 | -69 |
| -3.14159 | -3 | -4 | -3 | -3 |
| -1.5 | -2 | -2 | -1 | -1 |
|  |  |  |  |  |
| 1.5 | 2 | 1 | 2 | 1 |
| 3.14159 | 3 | 3 | 4 | 3 |
| 69.6574 | 70 | 69 | 70 | 69 |
user: Explain Voxel Index Node in complete detail according to the official Blender documentation.

assistant: # Voxel Index Node

[image reference removed]

The *Voxel Index* node outputs the integer index of the voxel that the field
is currently being evaluated on.

Unlike a position in object space, the voxel index refers to the discrete
cell coordinates inside a voxel grid. This makes it possible to reason
about neighboring voxels directly in index space, without converting
through world or object space.

This node can be combined with nodes such as
[Integer Math](../../utilities/math/integer_math.xhtml)
and [Sample Grid Index](../sample/sample_grid_index.xhtml)
to sample values from nearby voxels by offsetting the indices.
user: Explain SDF Grid Median Node in complete detail according to the official Blender documentation.

assistant: # SDF Grid Median Node

[image reference removed]

The *SDF Grid Median* node applies a median filter to a Signed Distance Field (SDF) grid.
This operation smooths the field by replacing each voxel value with the
median of its neighboring values, effectively removing noise and small
artifacts while preserving sharp features and edges.

Unlike [mean](sdf_grid_mean.xhtml)
or [Laplacian](sdf_grid_laplacian.xhtml)
smoothing, the median filter is non-linear and
better suited for cleaning up impulsive noise (isolated spikes or dips) in
the grid. It maintains the overall structure and boundaries of the surface,
making it useful for refining SDFs generated from noisy or voxelized meshes.
user: Describe MESH_UL_color_attributes(UIList) from the Blender manual or Python API, including usage steps and snippets.

assistant: # MESH_UL_color_attributes(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_color_attributes(*UIList*)
:   draw_item(*_context*, *layout*, *data*, *attribute*, *_icon*, *_active_data*, *_active_propname*, *_index*)

    filter_items(*_context*, *data*, *property*)

    *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 References in complete detail according to the official Blender documentation.

assistant: |  |  |
| --- | --- |
| - [`MetaStrip.channels`](bpy.types.MetaStrip.html#bpy.types.MetaStrip.channels "bpy.types.MetaStrip.channels") | - [`SequenceEditor.channels`](bpy.types.SequenceEditor.html#bpy.types.SequenceEditor.channels "bpy.types.SequenceEditor.channels") |
user: Describe PrimitiveInt(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # PrimitiveInt(bpy_struct)

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

*class* bpy.types.PrimitiveInt(*bpy_struct*)
:   RNA wrapped int

    value
    :   Type:
        :   int in [-inf, inf], default 0, (readonly)

    *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 Space Action Mode Items in a Blender add-on or script – include code.

assistant: # Space Action Mode Items

DOPESHEET:
:   Dope Sheet.

    Edit all keyframes in scene.

TIMELINE:
:   Timeline.

    Simple timeline view with playback controls in the header, without channel list, side-panel, or footer.
user: Describe Sculpt Mode Overlays from the Blender manual or Python API, including usage steps and snippets.

assistant: Mask
:   Show [Masks](../../../sculpt_paint/sculpting/editing/mask.xhtml#sculpt-mask-menu) as overlays on an object. The opacity of the overlay can be adjusted.

Face Sets
:   Show [Face Sets](../../../sculpt_paint/sculpting/editing/face_sets.xhtml#sculpting-editing-facesets) as overlays on an object.
    The opacity of the overlay can be adjusted.
user: Describe VIEW3D_AST_brush_texture_paint(AssetShelf) from the Blender manual or Python API, including usage steps and snippets.

assistant: # VIEW3D_AST_brush_texture_paint(AssetShelf)

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

*class* bpy.types.VIEW3D_AST_brush_texture_paint(*AssetShelf*)
:   *classmethod* brush_type_poll(*context*, *asset*)

    *static* draw_popup_selector(*layout*, *context*, *brush*, *show_name=True*)

    *static* get_shelf_name_from_context(*context*)

    *classmethod* has_tool_with_brush_type(*context*, *brush_type*)

    *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: Provide the full official documentation entry for References, preserving all code examples.

assistant: |  |  |
| --- | --- |
| - [`PreferencesSystem.solid_lights`](bpy.types.PreferencesSystem.html#bpy.types.PreferencesSystem.solid_lights "bpy.types.PreferencesSystem.solid_lights") | - [`StudioLight.solid_lights`](bpy.types.StudioLight.html#bpy.types.StudioLight.solid_lights "bpy.types.StudioLight.solid_lights") |
user: Explain XrActionMapBinding(bpy_struct) in complete detail according to the official Blender documentation.

assistant: # XrActionMapBinding(bpy_struct)

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

*class* bpy.types.XrActionMapBinding(*bpy_struct*)
:   Binding in an XR action map item

    axis0_region
    :   Action execution region for the first input axis

        - `ANY`
          Any – Use any axis region for operator execution.
        - `POSITIVE`
          Positive – Use positive axis region only for operator execution.
        - `NEGATIVE`
          Negative – Use negative axis region only for operator execution.

        Type:
        :   enum in [`'ANY'`, `'POSITIVE'`, `'NEGATIVE'`], default `'ANY'`

    axis1_region
    :   Action execution region for the second input axis

        - `ANY`
          Any – Use any axis region for operator execution.
        - `POSITIVE`
          Positive – Use positive axis region only for operator execution.
        - `NEGATIVE`
          Negative – Use negative axis region only for operator execution.

        Type:
        :   enum in [`'ANY'`, `'POSITIVE'`, `'NEGATIVE'`], default `'ANY'`

    component_paths
    :   OpenXR component paths

        Type:
        :   [`XrComponentPaths`](bpy.types.XrComponentPaths.html#bpy.types.XrComponentPaths "bpy.types.XrComponentPaths") [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`XrComponentPath`](bpy.types.XrComponentPath.html#bpy.types.XrComponentPath "bpy.types.XrComponentPath"), (readonly)

    name
    :   Name of the action map binding

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

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

    pose_rotation
    :   Type:
        :   [`mathutils.Euler`](mathutils.html#mathutils.Euler "mathutils.Euler") rotation of 3 items in [-inf, inf], default (0.0, 0.0, 0.0)

    profile
    :   OpenXR interaction profile path

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

    threshold
    :   Input threshold for button/axis actions

        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
user: Provide the full official documentation entry for ParticleSystemModifier(Modifier), preserving all code examples.

assistant: # ParticleSystemModifier(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.ParticleSystemModifier(*Modifier*)
:   Particle system simulation modifier

    particle_system
    :   Particle System that this modifier controls

        Type:
        :   [`ParticleSystem`](bpy.types.ParticleSystem.html#bpy.types.ParticleSystem "bpy.types.ParticleSystem"), (readonly, 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
user: Show practical ways to work with LineStyleGeometryModifiers(bpy_struct) in a Blender add-on or script – include code.

assistant: # LineStyleGeometryModifiers(bpy_struct)

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

*class* bpy.types.LineStyleGeometryModifiers(*bpy_struct*)
:   Geometry modifiers for changing line geometries

    new(*name*, *type*)
    :   Add a geometry modifier to line style

        Parameters:
        :   - **name** (*string**,* *(**never None**)*) – New name for the geometry modifier (not unique)
            - **type** (enum in [Linestyle Geometry Modifier Type Items](bpy_types_enum_items/linestyle_geometry_modifier_type_items.html#rna-enum-linestyle-geometry-modifier-type-items)) – Geometry modifier type to add

        Returns:
        :   Newly added geometry modifier

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

    remove(*modifier*)
    :   Remove a geometry modifier from line style

        Parameters:
        :   **modifier** ([`LineStyleGeometryModifier`](bpy.types.LineStyleGeometryModifier.html#bpy.types.LineStyleGeometryModifier "bpy.types.LineStyleGeometryModifier"), (never None)) – Geometry modifier 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: Show practical ways to work with Structure in a Blender add-on or script – include code.

assistant: Vertex Mass
:   Value for the mass of the hair.

Stiffness
:   Controls the bending stiffness of the hair strands.

    Random
    :   Random stiffness of hair.

Damping
:   Damping of bending motion.
user: Give a detailed overview of Collections Menu: syntax, arguments, return values, common patterns.

assistant: The *Collections* menu provides tools for organizing and managing objects within collections.
Collections are used to group objects for easier scene organization,
visibility control, and rendering management.
Objects can belong to one or multiple collections, allowing flexible structuring of complex scenes.

Move to Collection `M`
:   Moves the selected objects to a different collection.
    The menu allows choosing an existing collection, creating a new one,
    or moving the objects to the *Scene Collection* (the root level of the scene).
    Once moved, the objects are removed from their previous collection unless they are also linked elsewhere.

Link to Collection `Shift`-`M`
:   Links the selected objects to an additional collection without removing them from their existing collections.
    This allows the same object to appear in multiple collections simultaneously,
    useful for managing shared elements across different scene layers or views.
    A new collection can also be created from the menu.

Create New Collection `Ctrl`-`G`
:   Creates a new collection and adds the selected object(s) to it.
    The name of the new collection can be specified in
    the *Create New Collection* [Adjust Last Operation](../../interface/undo_redo.html#bpy-ops-screen-redo-last) panel.
    This collection is not linked to the active scene.

Remove from Collection `Ctrl`-`Alt`-`G`
:   Remove the selected objects from a collection. If the object belongs to more than one collection,
    a pop-up lets you select the collection and an option to remove it from all collections.

Remove from All Collections `Shift`-`Ctrl`-`Alt`-`G`
:   Remove the selected objects from all collections.

Add Selected to Active Objects Collection `Shift`-`Ctrl`-`G`
:   Adds the selected objects to one of the collections active object belongs to.
    Optionally add to "All Collections"
    to ensure selected objects are included in the same collections as the active object.

Remove Selected from Active Collection `Shift`-`Alt`-`G`
:   Causes the selected objects to be removed from the collections to which the active object belongs.

Hide Other Collections `Ctrl`-`H`
:   Hides collections which were not selected.
user: Describe Options from the Blender manual or Python API, including usage steps and snippets.

assistant: [image reference removed]

The Length modifier.

Mode
:   Absolute:
    :   Length is in geometry space.

    Relative:
    :   Length is in ratio to the stroke’s length.

Start
:   Added length to the start of the stroke. Negative value will shrink the stroke.

End
:   Added length to the end of the stroke. Negative value will shrink the stroke.

Used Length
:   Define what portion of the stroke is used to calculate the direction of the extension.

### Curvature

When enabled, the extension will follow the curvature of the stroke.

Point Density
:   Multiplied by Start/End for the total point count.

Segment Influence
:   Factor to determine how much the length of the individual segments
    should influence the final computed curvature. Higher factors makes
    small segments influence the overall curvature less.

Filter Angle
:   Ignore points on the stroke that deviate from their neighbors by more
    than this angle when determining the extrapolation shape.

Invert
:   Invert the curvature of the stroke’s extension.

### Random Offsets

Random Offset Start/End
:   Size of random length added to the start/end of each stroke.

Random Noise Offset
:   Smoothly offset each stroke’s random value.

Seed
:   Number used to generate different noise patterns.

#### Randomize

Re-randomizes values over time.

Step
:   Number of frames before recalculate random values again.

### Influence Filters

See [Influence Filters](../introduction.html#grease-pencil-modifier-influence-filters).
user: Provide the full official documentation entry for Blur Attribute Node, preserving all code examples.

assistant: # Blur Attribute Node

[image reference removed]

The *Blur Attribute* node smooths attribute values between neighboring geometry elements.

The goal of each step is mixing values of each element with its neighbors.
The weight for element is factor for multiplying all neighbor’s values before accumulating them as new primitive
value.

Blurring will only work with certain geometry types and [attribute domains](../attributes_reference.xhtml#attribute-domains).
Therefore, the attribute can only be affected on the [Meshes](../../meshes/introduction.xhtml) and
[Curves](../../curves/introduction.xhtml) components.

The domains this node works on is based on the [field context](../fields.xhtml#field-context) of the node’s evaluation.
Only domains with explicit relations with their neighbors will work with this node.
Explicit relations for correct blurring are vertices, edges, and faces of meshes, and curve control points.

All [attribute data types](../attributes_reference.xhtml#attribute-data-types) are supported except
for boolean attributes.