PGCRYPT/OpenBlender_Train huggingface dataset:
user: Explain Limitations in complete detail according to the official Blender documentation.

assistant: - Viewer and inspection nodes may not display accurate values when closures are evaluated in multiple contexts.
- Captured external values are read-only and cannot be modified inside the evaluation.
- Closures currently cannot access attributes or data outside their evaluation context.
user: What is Splitting and how is it used in Blender Python scripting?

assistant: You can split up chains of Freestyle lines by enabling one of the following:

Min/Max 2D Angle
:   Splits chains of feature edges when they make a 2D angle above (or below) a minimum (or maximum) threshold.

2D Length
:   Splits chains when they are longer than the given value.

Material Boundary
:   Splits chains of feature edges if they cross from one material to another.

### Split Pattern

Splits the chains using the given dashed pattern (see also [Dashed Line](#dashed-line)).

Dash 1, 2, 3
:   Length of the specified dash for splitting.

Gap 1, 2, 3
:   Length of the specified gap for splitting.
user: Give a detailed overview of GeometryNodePoints(GeometryNode): syntax, arguments, return values, common patterns.

assistant: # GeometryNodePoints(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.GeometryNodePoints(*GeometryNode*)
:   Generate a point cloud with positions and radii defined by fields

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

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

assistant: Value
:   The Gabor noise value with both random intensity and phase. This is equal to sine the phase
    multiplied by the intensity.

Phase
:   The phase of the Gabor noise, which has no random intensity.

Intensity
:   The intensity of the Gabor noise, which has no random phase.
user: What is Introduction and how is it used in Blender Python scripting?

assistant: # Introduction

The Texture Node Editor allows creating custom textures by combining colors,
procedural patterns, and images in various ways. This is a step up from the
[built-in textures](../../render/materials/legacy_textures/introduction.xhtml),
where you can select a type from a list and not much more.

[image reference removed]

Combined textures based on nodes.
user: Explain Damped Track Constraint in complete detail according to the official Blender documentation.

assistant: # Damped Track Constraint

The *Damped Track* constraint makes an object or bone point towards a certain target.
It’s typically called “Look At” or “Aim” in other 3D software.

The word “damped” means that the constraint uses a pure [swing](../../../glossary/index.html#term-Swing) rotation
to minimize rolling around the tracking axis. This is in contrast to the
[Track To Constraint](track_to.html) which applies an “Up” axis
in addition to the tracking.
user: Provide the full official documentation entry for CompositorNodeColorCorrection(CompositorNode), preserving all code examples.

assistant: # CompositorNodeColorCorrection(CompositorNode)

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"), [`CompositorNode`](bpy.types.CompositorNode.html#bpy.types.CompositorNode "bpy.types.CompositorNode")

*class* bpy.types.CompositorNodeColorCorrection(*CompositorNode*)
:   Adjust the color of an image, separately in several tonal ranges (highlights, midtones and shadows)

    *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")

    update()

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

assistant: The navigation gizmo can be found in the top right of the editor.

Navigation Gizmo (left) and Navigation Gizmo in camera view (right).

|  |  |
| --- | --- |
| <../../../_images/editors_3dview_navigate_introduction_gizmo.png> | <../../../_images/editors_3dview_navigate_introduction_gizmo_camera_view.png> |

The Orbit gizmo at the top shows the current orientation of the view.
Dragging it with `LMB` will [orbit](navigation.html#bpy-ops-view3d-view-orbit) the view.
Clicking any of the axis labels will [align](viewpoint.html) the view to that axis.
Clicking the same axis again switches to the opposite side of that same axis.

The four buttons below the orbit gizmo do the following:

- [Zoom the 3D Viewport](navigation.html#bpy-ops-view3d-zoom)
- [Pan the 3D Viewport](navigation.html#bpy-ops-view3d-view-pan)
- [Toggle the Camera View](camera_view.html)
- [Toggle the Projection](projections.html) /
  [Toggle Lock Camera to View](../sidebar.html#bpy-types-spaceview3d-lock-camera) (in camera view)
user: Explain Colors in complete detail according to the official Blender documentation.

assistant: # Colors

The color of a texture can be modified with the *Brightness*, *Contrast*,
and *Saturation* buttons. All textures with RGB values, including
*Images* and *Environment Maps*, may be modified with the RGB sliders.

Clamp
:   Set negative texture RGB and intensity values to zero,
    for some uses like displacement this option can be disabled to get the full range.

Multiply R, G, B
:   Tint the color of a texture by brightening each red, green and blue channel.

Brightness
:   Change the overall brightness/intensity of the texture.

Contrast
:   Change the contrast of the texture.

Saturation
:   Change the saturation of the texture.
user: Provide the full official documentation entry for Bpy.Types.Shadernodetexvoronoi, preserving all code examples.

assistant: bclass ShaderNode.bl_rna_get_subclass_py Next ShaderNodeTexWave(ShaderNode) Previous ShaderNodeTexSky(ShaderNode) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page ShaderNodeTexVoronoi(ShaderNode) ShaderNodeTexVoronoi ShaderNodeTexVoronoi.color_mapping ShaderNodeTexVoronoi.distance ShaderNodeTexVoronoi.feature ShaderNodeTexVoronoi.normalize ShaderNodeTexVoronoi.texture_mapping ShaderNodeTexVoronoi.voronoi_dimensions ShaderNodeTexVoronoi.is_registered_node_type() ShaderNodeTexVoronoi.input_template() ShaderNodeTexVoronoi.output_template() ShaderNodeTexVoronoi.bl_rna_get_subclass() ShaderNodeTexVoronoi.bl_rna_get_subclass_py() Inherited Properties Inherited Functions
user: How do I use Light Output Node in Blender? Include parameters, examples, warnings and best practices.

assistant: # Light Output Node

[image reference removed]

The *Light Output* node is used customize a [Light object](../../lights/light_object.html).
Currently only supported for Cycles.

To start using this node, select the Light and click Nodes ‣ Use Nodes
in the *Data* tab of the [Properties Editor](../../../editors/properties_editor.html) editor.
user: Describe Envelope from the Blender manual or Python API, including usage steps and snippets.

assistant: [image reference removed]

Bone influence areas for envelopes method.

Envelopes is the most general skinning method. It works with all available object types for
skinning (meshes, lattices, curves, surfaces and texts).
It is based on proximity between bones and their geometry,
each bone having two different areas of influence,
shown in the *Envelope* visualization:

- The inside area, materialized by the “solid” part of the bone, and controlled by both root and tip radius.
- The outside area, materialized by the lighter part around the bone,
  and controlled by the *Distance* setting.

Envelope Distance
:   The Distance defines a volume which is the range within the bone
    has an influence on vertices of the deformed object.
    The geometry is less and less affected by the bone as it goes away by following a quadratic decay.

    [image reference removed]

    Single bone with various envelope sizes.

Envelope Weight
:   A bone property, that controls the global influence of the bone over the deformed object,
    when using the envelopes method.

    It is only useful for the parts of geometry that are “shared”,
    influenced by more than one bone (generally, at the joints…) – a bone with a high weight will
    have more influence on the result than one with a low weight…
    Note that when set to 0.0, it has the same effect as disabling the *Deform* option.

Envelope Multiply
:   This option controls how the two deforming methods interact, when they are both enabled.
    By default, when they are both active, all vertices belonging to at least one vertex group are only deformed
    through the vertex groups method. The other “orphan” vertices being handled by the envelopes one.
    When you enable this option, the “deformation influence” that this bone would have on a vertex
    (based from its envelope settings) is multiplied with this vertex’s weight in the corresponding vertex group.
    In other words, the vertex groups method is further “weighted” by the envelopes method.

Radius Head, Tail
:   Set the radius for the head and the tail of envelope bones.
    Inside this volume, the geometry if fully affected by the bone.

    [image reference removed]

    Three Armature Bones all using Envelope Weight.

    The 1st with a default radius value, the two others with differing Tail and Head radius values.
user: Explain GeometryNodeImportVDB(GeometryNode) in complete detail according to the official Blender documentation.

assistant: # GeometryNodeImportVDB(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.GeometryNodeImportVDB(*GeometryNode*)
:   Import volume data from a .vdb file

    *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 Start Tweaking Strips Actions (Full Stack) from the Blender manual or Python API, including usage steps and snippets.

assistant: Enters Tweak Mode for the selected strip’s action, making its keyframes available for editing.
Leaves all the other tracks enabled so that you can still see their effects while making changes.

When you’re done, click Strip ‣ Stop Tweaking Strips Actions
or press `Tab` again.
user: Explain License in complete detail according to the official Blender documentation.

assistant: # License

Blender itself is released under the [GNU General Public License](https://www.gnu.org/licenses/gpl-3.0.html).
More info can be found at: [blender.org/about/license](https://www.blender.org/about/license/).

Except where otherwise noted, the content of the Blender Manual is available under a [Creative Commons
Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/) or any later
version. Excluded from the CC-BY-SA license are any logos, trademarks, icons, source code and Python scripts used
in this manual.

For any references to material from this manual, please attribute the “Blender Documentation Team” and include a
hyperlink (online) or URL (in print) to the manual. For example:

```
The Blender 5.0 Manual
by the Blender Documentation Team
is licensed under a CC-BY-SA v4.0.
```

See [Best practices for attribution](https://wiki.creativecommons.org/wiki/Marking/Users) for further explanation.

It means that when contributing to the manual, you do not hold exclusive copyright to, or ownership of, your text. You
are, of course, acknowledged and appreciated for your contribution. However, others can change and improve your text
in order to keep the manual consistent and up to date.

Previous versions of the Blender Manual are made available under an [Open Content License](https://web.archive.org/web/19981206111937/http://www.opencontent.org/opl.shtml) v2.26 – v2.77.
user: Give a detailed overview of Options: syntax, arguments, return values, common patterns.

assistant: ### Performance

[image reference removed]

Performance panel.

This panel helps you tweak the performance of the Compositor.

Device
:   The device used for compositing.

    CPU:
    :   Use the CPU for compositing.

    GPU:
    :   Use the GPU for compositing.

Precision GPU
:   The precision of compositor intermediate result.

    Auto:
    :   Use full precision for final renders, half precision otherwise.

    Full:
    :   Use full precision for final renders and viewport.

Viewer Region
:   This allows to set an area of interest for the backdrop.
    Press `Ctrl`-`B` and select a rectangular area in the preview
    which will become the next preview in the backdrop.
    `Ctrl`-`Alt`-`B` discards the region back to a full preview.
    This is only a preview option, final compositing during a render ignores this region.
user: Give a detailed overview of Known Limitations: syntax, arguments, return values, common patterns.

assistant: ### Permissions on Windows

Be sure that you have the right privileges for running the executable accessing the path defined.
On Windows for instance, if the option “Run this program as an administrator” is enabled for the executable,
it will lead to a failure to open the editor due to a limitation within the OS User Account Control.
Running a program with elevated privileges is potentially dangerous!
user: Explain Dt Layers Select Src Items in complete detail according to the official Blender documentation.

assistant: # Dt Layers Select Src Items

ACTIVE:
:   Active Layer.

    Only transfer active data layer.

ALL:
:   All Layers.

    Transfer all data layers.

BONE_SELECT:
:   Selected Pose Bones.

    Transfer all vertex groups used by selected pose bones.

BONE_DEFORM:
:   Deform Pose Bones.

    Transfer all vertex groups used by deform bones.
user: Show practical ways to work with GeometryNodeScaleInstances(GeometryNode) in a Blender add-on or script – include code.

assistant: # GeometryNodeScaleInstances(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.GeometryNodeScaleInstances(*GeometryNode*)
:   Scale geometry instances in local or global space

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

assistant: # CompositorNodeDoubleEdgeMask(CompositorNode)

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"), [`CompositorNode`](bpy.types.CompositorNode.html#bpy.types.CompositorNode "bpy.types.CompositorNode")

*class* bpy.types.CompositorNodeDoubleEdgeMask(*CompositorNode*)
:   Create a gradient between two masks

    *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")

    update()

    *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 Brush Gpencil Types Items, preserving all code examples.

assistant: # Brush Gpencil Types Items

DRAW:
:   Draw.

    The brush is of type used for drawing strokes.

FILL:
:   Fill.

    The brush is of type used for filling areas.

ERASE:
:   Erase.

    The brush is used for erasing strokes.

TINT:
:   Tint.

    The brush is of type used for tinting strokes.
user: How do I use Override Hierarchies in Blender? Include parameters, examples, warnings and best practices.

assistant: Hierarchy is a very important concept to understand when working with library overrides.
In Blender, a real-life asset (a character, a prop, a set, etc.) is almost never made of a
single data-block, but is rather a group of data-blocks with dependency relationships to each-other.
E.g. a character will typically have an armature object, several geometry objects,
rig-controllers objects, the object data for all of these objects, materials, textures, etc.

These relationships can be represented as a tree, with a root data-block ‘linking-in’ all its
dependencies, recursively. With library overrides, typically, the root of the hierarchy is also
the data-block that is directly linked when importing the asset (usually a collection).

This concept of hierarchy can also be seen as some sort of super meta-data-block. It is critical
when there are several overrides of the same linked data, since it allows to clearly identify a given
data-block to one override, leaving no ambiguity to processes that affect the whole hierarchy
(e.g. resyncing overrides with their linked data). It also allows to share relationships between
data-blocks of different hierarchies, like a parenting relationships between two different overrides
of a same character.
user: Show practical ways to work with Influence in a Blender add-on or script – include code.

assistant: These parameters modulate the intensity of the light depending on the shader type.
These are meant for artistic control, and any value other than 1.0 breaks
PBR rules.

Diffuse
:   Diffuse reflection intensity multiplier.

Glossy
:   Glossy light intensity multiplier.

Transmission
:   Transmission light intensity multiplier.

Volume Scatter
:   Volume light intensity multiplier.
user: Show practical ways to work with Rigid Body World in a Blender add-on or script – include code.

assistant: The *Rigid Body World* is a group of rigid body objects,
which holds settings that apply to all rigid bodies in this simulation.

See [Rigid Body World](../../physics/rigid_body/world.html) for more information.
user: How do I use Properties in Blender? Include parameters, examples, warnings and best practices.

assistant: Offset
:   Determines the brick offset of the various rows.

Frequency
:   How often rows are offset; a value of 2 gives an even/uneven pattern of rows.

Squash
:   Factor to adjust the brick’s width for particular rows determined by the *Frequency*

Frequency
:   How often rows consist of “squished” bricks.
user: Explain Output in complete detail according to the official Blender documentation.

assistant: [image reference removed]

Canvas Output panel.

From Output panel you can adjust how surface outputs its results.

### Vertex

For *Vertex* format surfaces, you can select a mesh data layer
(color/weight depending on surface type) to generate results to.
You can use the “+”/”-” icons to add/remove a data layers of given name.
If layer with given name is not found, it is shown as red.

### Image Sequence

For *Image Sequence* surfaces,
you can define used UV maps and output file saving directory, filenames and image format.
user: Provide the full official documentation entry for Inherited Properties, preserving all code examples.

assistant: |  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`NodeTreeInterfaceItem.item_type`](bpy.types.NodeTreeInterfaceItem.html#bpy.types.NodeTreeInterfaceItem.item_type "bpy.types.NodeTreeInterfaceItem.item_type") - [`NodeTreeInterfaceItem.parent`](bpy.types.NodeTreeInterfaceItem.html#bpy.types.NodeTreeInterfaceItem.parent "bpy.types.NodeTreeInterfaceItem.parent") | - [`NodeTreeInterfaceItem.position`](bpy.types.NodeTreeInterfaceItem.html#bpy.types.NodeTreeInterfaceItem.position "bpy.types.NodeTreeInterfaceItem.position") - [`NodeTreeInterfaceItem.index`](bpy.types.NodeTreeInterfaceItem.html#bpy.types.NodeTreeInterfaceItem.index "bpy.types.NodeTreeInterfaceItem.index") |
user: Provide the full official documentation entry for Import, preserving all code examples.

assistant: ### General

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

Custom Properties
:   Import user properties as [Custom Properties](../custom_properties.xhtml).

Enums As Strings
:   Store custom property enumeration values as strings.

### Geometry

Custom Normals
:   Import [custom normals](../../modeling/meshes/structure.xhtml#modeling-meshes-normals-custom),
    if available (otherwise Blender will compute them).

Subdivision Data
:   Import FBX subdivision information as
    [Subdivision Surface Modifiers](../../modeling/modifiers/generate/subdivision_surface.xhtml).

Vertex Colors
:   Import vertex color attributes.

    None:
    :   Do not import color attributes.

    sRGB:
    :   Vertex colors in the file are in sRGB [Color Space](../../glossary/index.xhtml#term-Color-Space)

    Linear:
    :   Vertex colors in the file are in Linear [Color Space](../../glossary/index.xhtml#term-Color-Space)

### Materials

Material Name Collision
:   Behavior when the name of an imported material conflicts with an existing material.

    Make Unique:
    :   Import each USD material as a unique Blender material.

    Reference Existing:
    :   If a material with the same name already exists, reference that instead of importing.

### Animation

Offset
:   Offset to apply to animation timestamps, in frames.

### Armature

Ignore Leaf Bones
:   Ignore the last bone at the end of each chain (used to mark the length of the previous bone).
user: What is Drivers and how is it used in Blender Python scripting?

assistant: Upgrading to the latest graphics drivers often solves problems. Newer drivers have bug fixes that help Blender
function correctly.

On Linux, graphics drivers are usually installed as a package by your Linux distribution. Installing the latest
drivers is typically done by upgrading packages or the distribution as a whole. Some distributions provide multiple
packages for multiple drivers versions, giving you the choice to install newer versions.

A lot of fixes for AMD and Intel GPUs are backported into the Mesa drivers. Therefore it is recommended to install or upgrade to their latest point [releases](https://docs.mesa3d.org/relnotes.html). For certain Linux distribution versions this can be done using custom repositories. For example, using the [kisak-mesa PPA](https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa) for Ubuntu.
user: How do I use Color in Blender? Include parameters, examples, warnings and best practices.

assistant: Saturation
:   Adjusts the vividness of colors in the image.

Multiply
:   Multiplies the colors by this value. This will increase the brightness.

Multiply Alpha
:   Multiply alpha along with color channels when using the *Multiply* option.

Convert to Float
:   Converts input to float data.
user: Give a detailed overview of Set Material Node: syntax, arguments, return values, common patterns.

assistant: # Set Material Node

[image reference removed]

The *Set Material* changes the material assignment in the specified selection,
by adjusting the `material_index` attribute. If the material is already used
on the geometry, the existing material index will be reused.
user: How do I use Tool Settings in Blender? Include parameters, examples, warnings and best practices.

assistant: You can configure the brush main settings exposed on the Tool Settings for convenience.
For the draw brushes configuration and settings see:
[Draw Brush](../brushes/draw.html).

Subdivisions
:   The number of stroke points between each stroke edge.

Thickness Profile
:   Use a [curve widget](../../../../interface/controls/templates/curve.html) to define the stroke thickness
    from the start (left) to end (right) of the stroke.

    Use Curve
    :   When enabled, the stroke use a curve profile to control the thickness along the line.
user: Give a detailed overview of Mirror: syntax, arguments, return values, common patterns.

assistant: Mirrors the selected keyframes across a reference point.

By Times over Current Frame
:   Mirror horizontally across the current frame.

By Values over Cursor Value
:   Mirror vertically across the 2D Cursor’s value.

By Times over Zero Time
:   Mirror horizontally across frame 0.

By Values over Zero Value
:   Mirror vertically across value 0.

By Times over First Selected Marker
:   Mirror horizontally across the first selected marker.
user: Show practical ways to work with GeometryNodeSDFGridOffset(GeometryNode) in a Blender add-on or script – include code.

assistant: # GeometryNodeSDFGridOffset(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.GeometryNodeSDFGridOffset(*GeometryNode*)
:   Offset a signed distance field surface by a world-space distance. Dilates (positive) or erodes (negative) while maintaining the signed distance property

    *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: Give a detailed overview of FunctionNodeInputSpecialCharacters(FunctionNode): syntax, arguments, return values, common patterns.

assistant: # FunctionNodeInputSpecialCharacters(FunctionNode)

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"), [`FunctionNode`](bpy.types.FunctionNode.html#bpy.types.FunctionNode "bpy.types.FunctionNode")

*class* bpy.types.FunctionNodeInputSpecialCharacters(*FunctionNode*)
:   Output string characters that cannot be typed directly with the keyboard

    *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: Give a detailed overview of Memory & Limits: syntax, arguments, return values, common patterns.

assistant: Undo Steps
:   Number of Undo steps available.

Undo Memory Limit
:   Maximum memory usage in Mb (0 is unlimited).

Global Undo
:   This enables Blender to save actions done when you are **not** in *Edit Mode*.
    For example, duplicating objects, changing panel settings or switching between modes.

Console Scroll-back Lines
:   The number of lines, buffered in memory of the console window.
    Useful for debugging purposes and command-line rendering.

Texture Time Out
:   Time since last access of a GL texture in seconds, after which it is freed.
    Set this to 0 to keep textures allocated.

    Garbage Collection Rate
    :   Number of seconds between each run of the GL texture garbage collector.

VBO Time Out
:   Time since last access of a GL vertex buffer object (VBO) in seconds after which it is freed
    (set to 0 to keep VBO allocated).

    Garbage Collection Rate
    :   Number of seconds between each run of the GL vertex buffer object garbage collector.

Shader Compilation Method
:   Defines the method used for compiling GPU shaders in parallel.

    - This option is not available on macOS and requires using OpenGL backend.
    - Changing this setting requires restarting Blender to take effect.

    Thread:
    :   Uses multiple threads within a single process to compile shaders concurrently.
        This method is more memory-efficient but may be slower on some systems.

    Subprocess:
    :   Uses multiple separate subprocesses to compile shaders in parallel.
        This can be faster, especially on systems with high core counts, but consumes significantly more RAM.

Threads / Subprocesses
:   The number of shader compilation threads or subprocesses to use.
    The maximum value is limited by the number of logical CPU cores on the system.

    Increasing the number can reduce shader compilation time at the cost of higher memory usage.
    A value of 0 lets Blender automatically choose a suitable number based on the system configuration.

    - This option is not available on macOS and requires using OpenGL backend.
    - Changing this setting requires restarting Blender to take effect.
user: Describe Inputs from the Blender manual or Python API, including usage steps and snippets.

assistant: Image/Color
:   Standard color input.

Factor
:   Controls the amount of influence the node exerts on the image.

Black Level Compositor Only
:   Defines the input color that should be mapped to black.

White Level Compositor Only
:   Defines the input color that should be mapped to white.
user: How do I use SpaceInfo(Space) in Blender? Include parameters, examples, warnings and best practices.

assistant: # SpaceInfo(Space)

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

*class* bpy.types.SpaceInfo(*Space*)
:   Info space data

    show_report_debug
    :   Display debug reporting info

        Type:
        :   boolean, default False

    show_report_error
    :   Display error text

        Type:
        :   boolean, default False

    show_report_info
    :   Display general information

        Type:
        :   boolean, default False

    show_report_operator
    :   Display the operator log

        Type:
        :   boolean, default False

    show_report_warning
    :   Display warnings

        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

    *classmethod* draw_handler_add(*callback*, *args*, *region_type*, *draw_type*)
    :   Add a new draw handler to this space type.
        It will be called every time the specified region in the space type will be drawn.
        Note: All arguments are positional only for now.

        Parameters:
        :   - **callback** (*Callable**[**...**,* *Any**]*) – A function that will be called when the region is drawn.
              It gets the specified arguments as input, it’s return value is ignored.
            - **args** (*tuple**[**Any**,* *...**]*) – Arguments that will be passed to the callback.
            - **region_type** (*str*) – The region type the callback draws in; usually `WINDOW`. ([`bpy.types.Region.type`](bpy.types.Region.html#bpy.types.Region.type "bpy.types.Region.type"))
            - **draw_type** (*str*) – Usually `POST_PIXEL` for 2D drawing and `POST_VIEW` for 3D drawing. In some cases `PRE_VIEW` can be used. `BACKDROP` can be used for backdrops in the node editor.

        Returns:
        :   Handler that can be removed later on.

        Return type:
        :   object

    *classmethod* draw_handler_remove(*handler*, *region_type*)
    :   Remove a draw handler that was added previously.

        Parameters:
        :   - **handler** (*object*) – The draw handler that should be removed.
            - **region_type** (*str*) – Region type the callback was added to.
user: How do I use Example in Blender? Include parameters, examples, warnings and best practices.

assistant: In the image below, notice that:

- The light gray disk has turned white and the dark gray rectangle has turned black
  because of the *Mode*.
- The shapes have become thicker – dilated because of the positive *Size*.
- The shapes appear blurred because of the positive *Falloff Size*.

[image reference removed]
user: What is Tips and Tricks and how is it used in Blender Python scripting?

assistant: # Tips and Tricks

Here are various suggestions that you might find useful when writing scripts.
Some of these are just Python features that you may not have thought to use with Blender,
others are Blender-specific.
user: Give a detailed overview of Brush Settings: syntax, arguments, return values, common patterns.

assistant: ### General

### Unique

Deformation
:   Deformation type that is used by the brush.

    Bend:
    :   Rotates the boundary around the local Y axis.
        Useful for creating folding shapes, like sleeves.

    Expand:
    :   Moves/extends the mesh boundary in the local X direction.
        Useful for extending the boundaries along the surface.

    Inflate:
    :   Works similar to the [Inflate](inflate.xhtml) tool but,
        the vertices that are inflated are constrained to the mesh boundary.

    Grab:
    :   Works similar to the [Grab](grab.xhtml) tool but,
        the vertices that are grabbed are constrained to the mesh boundary.

    Twist:
    :   Rotates the active boundary around the local Z axis.
        Useful for creating folds like on a skirt.

    Smooth:
    :   Works similar to the [Grab](smooth.xhtml) tool but,
        the vertices that are smoothed are constrained to the mesh boundary.

Boundary Falloff
:   How the brush [Falloff](../../brush/falloff.xhtml) is applied across the boundary.

    Constant:
    :   Applies the same deformation in the entire boundary.

    Brush Radius:
    :   Applies the deformation only within the brush radius.

    Loop:
    :   Applies the brush falloff in a loop pattern along the boundary.

    Loop and Invert:
    :   Applies the falloff radius in a loop pattern,
        inverting the direction back & forth.

Boundary Origin Offset
:   Offset of the boundary origin in relation to the brush radius.
user: Explain Chat in complete detail according to the official Blender documentation.

assistant: For real-time discussion, we have [chat.blender.org](https://chat.blender.org) which uses [Blender ID](https://id.blender.org) for authentication.

You can join these channels:

- [#general](https://chat.blender.org/#/room/#general:blender.org)
  For general chat with the community.
- [#blender-coders](https://chat.blender.org/#/room/#blender-coders:blender.org)
  For developers to discuss Blender development.
- [#python](https://chat.blender.org/#/room/#python:blender.org)
  For support for developers using the Python API.
- [#docs](https://chat.blender.org/#/room/#docs:blender.org)
  For discussion related to Blender’s documentation.
- [#translations](https://chat.blender.org/#/room/#translations:blender.org)
  For discussion related to translating Blender and its documentation.
user: Provide the full official documentation entry for ArmatureModifier(Modifier), preserving all code examples.

assistant: # ArmatureModifier(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.ArmatureModifier(*Modifier*)
:   Armature deformation modifier

    invert_vertex_group
    :   Invert vertex group influence

        Type:
        :   boolean, default False

    object
    :   Armature object to deform with

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

    use_bone_envelopes
    :   Bind Bone envelopes to armature modifier

        Type:
        :   boolean, default False

    use_deform_preserve_volume
    :   Deform rotation interpolation with quaternions

        Type:
        :   boolean, default False

    use_multi_modifier
    :   Use same input as previous modifier, and mix results using overall vgroup

        Type:
        :   boolean, default False

    use_vertex_groups
    :   Bind vertex groups to armature modifier

        Type:
        :   boolean, default True

    vertex_group
    :   Name of Vertex Group which determines influence of modifier per point

        Type:
        :   string, default “”, (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: How do I use Searching for Operators in Blender? Include parameters, examples, warnings and best practices.

assistant: ### Menu Search

The Menu Search pop-up lets you search Blender’s interface for a certain
[operator](#) and execute it.
First narrow down the list by typing (part of) the operator’s name,
then either click the operator with `LMB`, or navigate to it with
`Down` and `Up` and activate it with `Return`.

Apart from the operator names, the pop-up also shows the menus
where they’re located.

[image reference removed]

The Menu Search pop-up.

### Operator Search

When [Developer Extras](../editors/preferences/interface.xhtml#bpy-types-preferencesview-show-developer-ui) are activated,
the Operator Search can be accessed from the Edit menu in the Topbar.
This menu searches all [Operators](#)
within Blender, even if they are not exposed in a menu.
This is useful for Python developers for testing purposes.
Blender might also include a few advanced operators that are not
exposed in a menu and can only be accessed via this search menu.