PGCRYPT/OpenBlender_Train huggingface dataset:
user: Describe Examples from the Blender manual or Python API, including usage steps and snippets.

assistant: [image reference removed]

Noise Texture with high detail.

Different Noise types with the same parameters.

|  |  |
| --- | --- |
| <../../../_images/render_shader-nodes_textures_musgrave_example-type-fbm.jpg>   fBM (fractal Brownian Motion). | <../../../_images/render_shader-nodes_textures_musgrave_example-type-multifractal.jpg>   Multifractal. |
| <../../../_images/render_shader-nodes_textures_musgrave_example-type-hybrid.jpg>   Hybrid Multifractal. | <../../../_images/render_shader-nodes_textures_musgrave_example-type-terrain.jpg>   Heterogeneous Terrain. |
| <../../../_images/render_shader-nodes_textures_musgrave_example-type-ridged.jpg>   Ridged Multifractal. |  |
user: Give a detailed overview of GeometryNodeFieldAtIndex(GeometryNode): syntax, arguments, return values, common patterns.

assistant: # GeometryNodeFieldAtIndex(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.GeometryNodeFieldAtIndex(*GeometryNode*)
:   Retrieve data of other elements in the context’s geometry

    data_type
    :   Type:
        :   enum in [Attribute Type Items](bpy_types_enum_items/attribute_type_items.html#rna-enum-attribute-type-items), default `'FLOAT'`

    domain
    :   Domain the field is evaluated in

        Type:
        :   enum in [Attribute Domain Items](bpy_types_enum_items/attribute_domain_items.html#rna-enum-attribute-domain-items), default `'POINT'`

    *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 ShaderNodeVectorRotate(ShaderNode): syntax, arguments, return values, common patterns.

assistant: # ShaderNodeVectorRotate(ShaderNode)

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

*class* bpy.types.ShaderNodeVectorRotate(*ShaderNode*)
:   Rotate a vector around a pivot point (center)

    invert
    :   Invert the rotation angle

        Type:
        :   boolean, default False

    rotation_type
    :   Type of angle input

        - `AXIS_ANGLE`
          Axis Angle – Rotate a point using axis angle.
        - `X_AXIS`
          X Axis – Rotate a point using X axis.
        - `Y_AXIS`
          Y Axis – Rotate a point using Y axis.
        - `Z_AXIS`
          Z Axis – Rotate a point using Z axis.
        - `EULER_XYZ`
          Euler – Rotate a point using XYZ order.

        Type:
        :   enum in [`'AXIS_ANGLE'`, `'X_AXIS'`, `'Y_AXIS'`, `'Z_AXIS'`, `'EULER_XYZ'`], default `'AXIS_ANGLE'`

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

assistant: # Hook Modifier

The *Hook* Modifier is used to deform stroke points using another object
(usually an empty or a bone but it can be any object).

As the hook moves, it pulls points from the strokes with it.
You can think of it as animated
[Proportional Editing](../../../editors/3dview/controls/proportional_editing.html).
user: Give a detailed overview of LineStyleColorModifier_Curvature_3D(LineStyleColorModifier): syntax, arguments, return values, common patterns.

assistant: # LineStyleColorModifier_Curvature_3D(LineStyleColorModifier)

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

*class* bpy.types.LineStyleColorModifier_Curvature_3D(*LineStyleColorModifier*)
:   Change line color based on the radial curvature of 3D mesh surfaces

    blend
    :   Specify how the modifier value is blended into the base value

        Type:
        :   enum in [Ramp Blend Items](bpy_types_enum_items/ramp_blend_items.html#rna-enum-ramp-blend-items), default `'MIX'`

    color_ramp
    :   Color ramp used to change line color

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

    curvature_max
    :   Maximum Curvature

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

    curvature_min
    :   Minimum Curvature

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

    expanded
    :   True if the modifier tab is expanded

        Type:
        :   boolean, default False

    influence
    :   Influence factor by which the modifier changes the property

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

    type
    :   Type of the modifier

        Type:
        :   enum in [Linestyle Color Modifier Type Items](bpy_types_enum_items/linestyle_color_modifier_type_items.html#rna-enum-linestyle-color-modifier-type-items), default `'ALONG_STROKE'`, (readonly)

    use
    :   Enable or disable this modifier during stroke rendering

        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](#bpy.types.LineStyleColorModifier_Curvature_3D.type "bpy.types.LineStyleColorModifier_Curvature_3D.type")
user: Give a detailed overview of Expand Mask by Normals: syntax, arguments, return values, common patterns.

assistant: Expand a mask, following the curvature of the surface.
This operator uses the same internal operator as [Expand](#bpy-ops-sculpt-expand)
meaning all the shortcuts and functionality works the same as that tool.

This operator is especially useful for hard surface sculpting.
user: Show practical ways to work with Read View Layers in a Blender add-on or script – include code.

assistant: Reads all the current scene’s render layers from cache, as needed.
This can be used to save RAM while rendering because the render layers do not have to be saved in RAM.
And also for recovering some information from a failed render.
For this to work, [Cache Result](../../../render/output/properties/output.xhtml#bpy-types-rendersettings-use-render-cache) must be enabled.
user: How do I use Color Filter in Blender? Include parameters, examples, warnings and best practices.

assistant: # Color Filter

Apply color corrections or effects on the active color attribute
on all vertices in the mesh at the same time.

To use this tool, click and drag away from left to right
or from right to left for a negative effect.
user: Describe References from the Blender manual or Python API, including usage steps and snippets.

assistant: |  |  |
| --- | --- |
| - [`GreasePencilDashModifierData.segments`](bpy.types.GreasePencilDashModifierData.html#bpy.types.GreasePencilDashModifierData.segments "bpy.types.GreasePencilDashModifierData.segments") |  |
user: How do I use Movie Distortion Node in Blender? Include parameters, examples, warnings and best practices.

assistant: # Movie Distortion Node

[image reference removed]

In the real world, all camera lenses produce some or the other sort of lens distortion.
But, whatever we render has got no distortion. So, this node helps in removing distortion from movies
or adding distortion to render to make our render blend in with the movie clip.

Usually, it is used while motion tracking.
user: How do I use LineStyleAlphaModifier_DistanceFromCamera(LineStyleAlphaModifier) in Blender? Include parameters, examples, warnings and best practices.

assistant: # LineStyleAlphaModifier_DistanceFromCamera(LineStyleAlphaModifier)

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

*class* bpy.types.LineStyleAlphaModifier_DistanceFromCamera(*LineStyleAlphaModifier*)
:   Change alpha transparency based on the distance from the camera

    blend
    :   Specify how the modifier value is blended into the base value

        Type:
        :   enum in [`'MIX'`, `'ADD'`, `'SUBTRACT'`, `'MULTIPLY'`, `'DIVIDE'`, `'DIFFERENCE'`, `'MINIMUM'`, `'MAXIMUM'`], default `'MIX'`

    curve
    :   Curve used for the curve mapping

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

    expanded
    :   True if the modifier tab is expanded

        Type:
        :   boolean, default False

    influence
    :   Influence factor by which the modifier changes the property

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

    invert
    :   Invert the fade-out direction of the linear mapping

        Type:
        :   boolean, default False

    mapping
    :   Select the mapping type

        - `LINEAR`
          Linear – Use linear mapping.
        - `CURVE`
          Curve – Use curve mapping.

        Type:
        :   enum in [`'LINEAR'`, `'CURVE'`], default `'LINEAR'`

    range_max
    :   Upper bound of the input range the mapping is applied

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

    range_min
    :   Lower bound of the input range the mapping is applied

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

    type
    :   Type of the modifier

        Type:
        :   enum in [Linestyle Alpha Modifier Type Items](bpy_types_enum_items/linestyle_alpha_modifier_type_items.html#rna-enum-linestyle-alpha-modifier-type-items), default `'ALONG_STROKE'`, (readonly)

    use
    :   Enable or disable this modifier during stroke rendering

        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](#bpy.types.LineStyleAlphaModifier_DistanceFromCamera.type "bpy.types.LineStyleAlphaModifier_DistanceFromCamera.type")
user: Give a detailed overview of Track: syntax, arguments, return values, common patterns.

assistant: # Track

[image reference removed]

Track panel.

Name
:   The track name can be changed with this field.
    Track names are used for linking tracking data to other areas, like a Follow Track constraint.

Enable
:   This toggle controls if the marker is enabled.
    If a marker is disabled, its position is not used either by solver nor by constraints.

/ Lock
:   The toggle controls whether the track is locked. Locked tracks cannot be edited at all.
    This helps to prevent accidental changes to tracks which are “finished”
    (tracked accurate along the whole footage).
user: What is Options and how is it used in Blender Python scripting?

assistant: [image reference removed]

The Smooth Corrective modifier.

Factor
:   The factor to control the smoothing amount.
    Higher values will increase the effect.

    Values outside expected range (above 1.0 or below 0.0) will distort the mesh.

Repeat
:   The number of smoothing iterations,
    equivalent to executing the *Smooth* tool multiple times.

Scale
:   Additional scaling factor to increase the size of the mesh.
    This is useful because sometimes the Smooth Corrective modifier
    will introduce volume loss, especially when used with a rig.

Smooth Type
:   Select the smoothing method used.

    Simple
    :   This simply relaxes vertices to their connected edges.

    Length Weight
    :   Uses a method of relaxing that weights by the distance of surrounding vertices.
        This option can give higher quality smoothing in some cases,
        by better preserving the shape of the original form.

Vertex Group
:   If set, restrict the effect to the only vertices in that vertex group.
    This allows for selective, real-time smoothing, by painting vertex weights.

Only Smooth
:   This option is included to preview the smoothing used, before correction is applied.

Pin Boundaries
:   Prevent boundary vertices from smoothing.

Rest Source
:   Select the source for reference vertex positions that defines the non-deformed state.

    Original Coordinates
    :   Use the original input vertex positions.
        This relies on the original mesh having the same number of vertices as the input, modified mesh.

    Bind Coordinates
    :   Optionally you may bind the modifier to a specific state.
        This is required when there are constructive modifiers such as *Subdivision Surface* or *Mirror*
        in the stack before this modifier.
user: Give a detailed overview of Shader Nodes: syntax, arguments, return values, common patterns.

assistant: - All BSDF’s are using approximations to achieve realtime performance
  so there will always be small differences between Cycles and EEVEE.
- Some utility nodes are not yet compatible with EEVEE.
- Certain combinations of BSDF’s will result in more noise than others.
  This is the case when mixing Diffuse BSDF and Refraction BSDF.
- Displacement of flat shaded surfaces will split the mesh into triangles.
  See [Displacement](../material_settings.html#bpy-types-material-displacement-method) for a workaround.
user: Explain CompositorNodeKeying(CompositorNode) in complete detail according to the official Blender documentation.

assistant: # CompositorNodeKeying(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.CompositorNodeKeying(*CompositorNode*)
:   Perform both chroma keying (to remove the backdrop) and despill (to correct color cast from the backdrop)

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

assistant: ### General

### Unique

Deformation
:   The surface alteration that is used in the brush.

    Grab:
    :   Used to drag a group of vertices around.

    Bi-scale Grab:
    :   Like *Grab* but the falloff is more localized to the center of the brush.

    Tri-scale Grab:
    :   Like *Bi-scale Grab* but the falloff is more localized to the center of the brush.

    Scale:
    :   Displaces vertices away from the active vertex.

    Twist:
    :   Vertices are rotated around the active vertex.

Volume Preservation
:   Higher values preserve volumes more, but also lead to more bulging.
    (This value determines the poisson ratio for elastic deformation)
user: How do I use Properties in Blender? Include parameters, examples, warnings and best practices.

assistant: Mode
:   And:
    :   True when both inputs are true.
        ([AND](https://en.wikipedia.org/wiki/AND_gate))

    Or:
    :   True when at least one input is true.
        ([OR](https://en.wikipedia.org/wiki/OR_gate))

    Not:
    :   Opposite of the input.
        ([NOT](https://en.wikipedia.org/wiki/NOT_gate))

    Not And:
    :   (True when at least one input is false.
        [NAND](https://en.wikipedia.org/wiki/NAND_gate))

    Nor:
    :   True when both inputs are false.
        ([NOR](https://en.wikipedia.org/wiki/NOR_gate))

    Equal:
    :   True when both inputs are equal. Also known as “exclusive nor”.
        ([XNOR](https://en.wikipedia.org/wiki/XNOR_gate))

    Not Equal:
    :   ([XOR](https://en.wikipedia.org/wiki/XOR_gate))
        True when both inputs are different. Also known as “exclusive or”.

    Imply:
    :   True unless the first input is true and the second is false.
        ([IMPLY](https://en.wikipedia.org/wiki/IMPLY_gate))

    Subtract:
    :   True when the first input is true and the second is false. Also known as “”not imply”.
        ([NIMPLY](https://en.wikipedia.org/wiki/NIMPLY_gate))
user: Describe References from the Blender manual or Python API, including usage steps and snippets.

assistant: |  |  |
| --- | --- |
| - [`CompositorNodeCryptomatteV2.entries`](bpy.types.CompositorNodeCryptomatteV2.html#bpy.types.CompositorNodeCryptomatteV2.entries "bpy.types.CompositorNodeCryptomatteV2.entries") |  |
user: How do I use BoidRule(bpy_struct) in Blender? Include parameters, examples, warnings and best practices.

assistant: # BoidRule(bpy_struct)

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

subclasses —
[`BoidRuleAverageSpeed`](bpy.types.BoidRuleAverageSpeed.html#bpy.types.BoidRuleAverageSpeed "bpy.types.BoidRuleAverageSpeed"), [`BoidRuleAvoid`](bpy.types.BoidRuleAvoid.html#bpy.types.BoidRuleAvoid "bpy.types.BoidRuleAvoid"), [`BoidRuleAvoidCollision`](bpy.types.BoidRuleAvoidCollision.html#bpy.types.BoidRuleAvoidCollision "bpy.types.BoidRuleAvoidCollision"), [`BoidRuleFight`](bpy.types.BoidRuleFight.html#bpy.types.BoidRuleFight "bpy.types.BoidRuleFight"), [`BoidRuleFollowLeader`](bpy.types.BoidRuleFollowLeader.html#bpy.types.BoidRuleFollowLeader "bpy.types.BoidRuleFollowLeader"), [`BoidRuleGoal`](bpy.types.BoidRuleGoal.html#bpy.types.BoidRuleGoal "bpy.types.BoidRuleGoal")

*class* bpy.types.BoidRule(*bpy_struct*)
:   name
    :   Boid rule name

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

    type
    :   Type:
        :   enum in [Boidrule Type Items](bpy_types_enum_items/boidrule_type_items.html#rna-enum-boidrule-type-items), default `'GOAL'`, (readonly)

    use_in_air
    :   Use rule when boid is flying

        Type:
        :   boolean, default False

    use_on_land
    :   Use rule when boid is on land

        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](#bpy.types.BoidRule.type "bpy.types.BoidRule.type")
user: Show practical ways to work with Contextual Views in a Blender add-on or script – include code.

assistant: # Contextual Views

By default, the 3D Viewport only shows the scene from one viewpoint.
By using Quad Views, you can see it from multiple viewpoints at the same time,
which gives more context about the changes you’re making.
user: What is Inputs and how is it used in Blender Python scripting?

assistant: Mesh
:   Standard geometry input.

Selection
:   A boolean field indicating which elements should be extruded.

Offset
:   The translation vector for each extruded element. By default, this is the element’s
    [normal](../../geometry/read/normal.xhtml).

Offset Scale
:   Scaling factor for the above translation vector.

Individual Face Mode Only
:   Whether to extrude each face individually rather than extruding connected groups of faces together.
user: Show practical ways to work with Opacity Modifier in a Blender add-on or script – include code.

assistant: # Opacity Modifier

The *Opacity* Modifier change the opacity (alpha) value of the stroke points.

The alpha value in Grease Pencil is stored per-point.
The modifier can alter these values to go from totally transparent points to totally opaque points.
user: Describe Options from the Blender manual or Python API, including usage steps and snippets.

assistant: [image reference removed]

The Cast modifier.

Shape
:   Menu to choose target shape of the projection: *Sphere*, *Cylinder* or *Cuboid*.

Axis
:   Toggle buttons to enable/disable the modifier in the X, Y, Z axes directions
    (X and Y only for *Cylinder* cast type, since the Z axis remains unaffected).

Factor
:   The factor to control blending between original and cast vertex positions.

    It is a linear interpolation: 0.0 gives original coordinates (i.e. modifier has no effect),
    1.0 casts to the target shape.

    Values below 0.0 or above 1.0 exaggerate the deformation, sometimes in interesting ways.

Radius
:   If nonzero, this radius defines a sphere of influence.
    Vertices outside it are not affected by the modifier.

Size
:   Alternative size for the projected shape. If zero,
    it is defined by the initial shape and the control object, if any.

Size from Radius
:   If activated, calculate *Size* from *Radius*, for smoother results.

Vertex Group
:   If set, restrict the effect to the only vertices in that vertex group.
    This allows selective, real-time casting, by painting vertex weights.

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

        The setting reverses the weight values of the group.

Object
:   The name of an object to control the effect.
    The location of this object’s origin defines the center of the projection.
    Also, its size and rotation transform the projected vertices.
user: How do I use SpreadsheetColumn(bpy_struct) in Blender? Include parameters, examples, warnings and best practices.

assistant: # SpreadsheetColumn(bpy_struct)

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

*class* bpy.types.SpreadsheetColumn(*bpy_struct*)
:   Persistent data associated with a spreadsheet column

    data_type
    :   The data type of the corresponding column visible in the spreadsheet

        Type:
        :   enum in [`'INT32'`, `'FLOAT'`, `'BOOLEAN'`, `'INSTANCES'`], default `'BOOLEAN'`, (readonly)

    id
    :   Data used to identify the corresponding data from the data source

        Type:
        :   [`SpreadsheetColumnID`](bpy.types.SpreadsheetColumnID.html#bpy.types.SpreadsheetColumnID "bpy.types.SpreadsheetColumnID"), (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: How do I use Interface in Blender? Include parameters, examples, warnings and best practices.

assistant: ### Header

[image reference removed]

UV Editor header.

The header contains several menus and options for working with UVs.

Sync Selection
:   Synchronizes the selection between the UV Editor and the 3D Viewport.
    See [Sync Selection](selecting.xhtml#bpy-types-toolsettings-use-uv-select-sync) for more details.

Selection Mode
:   The UV element type to select.
    See [Selection Mode](selecting.xhtml#bpy-types-toolsettings-uv-select-mode) for more details.

Sticky Selection Mode
:   Which other vertices to select automatically.
    See [Sticky Selection Mode](selecting.xhtml#bpy-types-toolsettings-uv-sticky-select-mode) for more details.

View
:   Tools for controlling how the content is displayed in the editor.
    See [Navigating](navigating.xhtml).

Select
:   Tools for [selecting UVs](selecting.xhtml).

Image
:   Tools for opening and manipulating images.
    See [Editing Images](../image/editing.xhtml).

UV
:   Contains tools for [Unwrapping Meshes](../../modeling/meshes/uv/unwrapping/introduction.xhtml)
    and [Editing UVs](../../modeling/meshes/uv/editing.xhtml).

Pivot `Period`
:   See [Transform Pivot Point](../3dview/controls/pivot_point/index.xhtml).

Snap `Shift`-`Tab`
:   See [Snapping](controls/snapping.xhtml).

Proportional Editing `O`
:   See [Proportional Editing](../3dview/controls/proportional_editing.xhtml).

Image
:   A [data-block menu](../../interface/controls/templates/data_block.xhtml#ui-data-block) used for selecting images.
    When an image has been loaded or created in the UV Editor,
    the [Image panel](../image/image_settings.xhtml) appears in the Sidebar region.

Image Pin
:   When enabled the current image remains visible regardless of the object selection.
    This switching only happens if the 3D Viewport is in Edit Mode or Texture Paint Mode.

    This can be useful to enable when an image is used as a reference.

(Show Gizmo)
:   Lets you show/hide all gizmos using the toggle button, or specific gizmos using
    the drop-down arrow.

    Navigate
    :   Enable/disable the gizmos used to pan or zoom the 2D viewport.
        See [Navigation Gizmos](navigating.xhtml#editors-uv-navigate-gizmos) for more information.

Show Overlays
:   Lets you show/hide all overlays using the toggle button, or specific overlays
    using the drop-down arrow. See [UV Overlays](overlays.xhtml).

Active UV Map Layer
:   Select which UV map to use.

Display Channels
:   Select what color channels are displayed.

    Color & Alpha:
    :   Enables transparency and shows a checkerboard behind the image.

    Color:
    :   Displays the colored image, without alpha channel.

    Alpha:
    :   Displays the alpha channel as a grayscale image. White areas are opaque, black areas are transparent.

    Z-Buffer:
    :   Displays the depth from the camera, from Clip Start to Clip End,
        as specified in the [Camera settings](../../render/cameras.xhtml).

    Red, Green, Blue:
    :   Single color channel visualized as a grayscale image.
user: Explain Sample UV Surface Node in complete detail according to the official Blender documentation.

assistant: # Sample UV Surface Node

[image reference removed]

The *Sample UV Surface* node finds values on a mesh’s surface at specific UV locations.
Internally the process is a “reverse UV lookup” from a location in 2D space. The node then
finds the face that corresponds to each UV coordinate, and the location within that face.
user: How do I use TextureNodeTexVoronoi(TextureNode) in Blender? Include parameters, examples, warnings and best practices.

assistant: # TextureNodeTexVoronoi(TextureNode)

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

*class* bpy.types.TextureNodeTexVoronoi(*TextureNode*)
:   *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 Usage in Blender? Include parameters, examples, warnings and best practices.

assistant: In this example, a plane is warped around the 3D cursor by the indicated number of degrees.

|  |  |
| --- | --- |
| ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_mesh.png   Before. | ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_mesh-90.png   Warp Angle 90. |
| ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_mesh-180.png   Warp Angle 180. | ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_mesh-360.png   Warp Angle 360. |

### Cursor Position & View

The location of the 3D cursor can be used to alter the results of the *Warp* transformation.
As can be seen from the example in this section, the *Warp* radius
is dependent on the distance of the cursor from the selected elements.
The greater the distance, the greater the radius.

The result of the *Warp* transform is also influenced by your current view.
The example in this section shows the results of a 180 degree *Warp* transform applied
to the same Plane mesh when in different views.

This image shows how the Warp transform is influenced by the location of the cursor.

|  |  |
| --- | --- |
| ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_mesh.png   Before. | ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_mesh-180.png   Warp Angle 180. |
| ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_mesh-cursor.png   Before. | ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_mesh-cursor-180.png   Warp Angle 180. |

This image shows the influence of the current view.

|  |  |
| --- | --- |
| ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_view-1.png   Before. | ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_view-2.png   Warp Angle 180 in XZ view. |
| ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_view-3.png   Warp Angle 180 in YZ view. | ../../../../../_images/modeling_meshes_editing_mesh_transform_warp_view-4.png   Warp Angle 180 in User view. |
user: Give a detailed overview of Introduction: syntax, arguments, return values, common patterns.

assistant: # Introduction

Sculpting and painting offers a more freeform workflow of editing via [brushes](brush/index.xhtml).
There are several [modes](../editors/3dview/modes.xhtml) to do this, each with their own purpose.

- [Sculpting](sculpting/introduction/general.xhtml):
  Change and transform the topology of your mesh.
- [Vertex Paint](vertex_paint/introduction.xhtml):
  Change the color of vertices in the active Color Attribute.
- [Weight Paint](weight_paint/introduction.xhtml):
  Change the weight of vertices in the active vertex group.
- [Texture Paint](texture_paint/introduction.xhtml):
  Change the pixels of the active image texture.
user: Provide the full official documentation entry for Baking, preserving all code examples.

assistant: The simulation is automatically cached during playback.
The valid cache can be seen as a strong yellow line in the timeline editor.
This allows for animators to quickly inspect all the previous frames of a simulation.

[image reference removed]

Cached frames in the Timeline.

For the cases where the current frame is the only one relevant, users can opt-out of “Cache” to save memory.

When the result is ready to be sent to a render-farm, it can be baked to disk.
This allows for the simulation to be rendered in a non-sequential order.

[image reference removed]

Simulation and Physics, Simulation Nodes user interface.
user: Provide the full official documentation entry for Strokes, preserving all code examples.

assistant: # Strokes

Strokes are the final rendered lines. Yet you can tweak them, for example,
by removing the ones longer/shorter than some threshold,
chaining lines into a single stroke or breaking a stroke into several ones based on angles,
dashed pattern, etc.

[image reference removed]

Line Style: Strokes.

Caps
:   You can choose between three types of line caps:

    Butt:
    :   Flat cap, exactly at the point the line ends.

    Round:
    :   A half circle centered on the end point of the line.

    Square:
    :   A square centered on the end point of the line
        (hence, like the circle, the drawn end of the line is slightly extended compared to its computed value).

    [image reference removed]

    Line caps example.
user: What is Wipe Strip and how is it used in Blender Python scripting?

assistant: # Wipe Strip

The *Wipe* transition strip can be used to transition from one strip to the next.
The wipe will have no effect if created from a single strip instead of two strips.
The duration of the wipe is the intersection of the two source strips and cannot be adjusted.
To adjust the start and end of the wipe you must adjust the temporal bounds of the source strips
in a way that alters their intersection.
user: Explain GreasePencilFrames(bpy_struct) in complete detail according to the official Blender documentation.

assistant: # GreasePencilFrames(bpy_struct)

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

*class* bpy.types.GreasePencilFrames(*bpy_struct*)
:   Collection of Grease Pencil frames

    new(*frame_number*)
    :   Add a new Grease Pencil frame

        Parameters:
        :   **frame_number** (*int in* *[**-1048574**,* *1048574**]*) – Frame Number, The frame on which the drawing appears

        Returns:
        :   The newly created frame

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

    remove(*frame_number*)
    :   Remove a Grease Pencil frame

        Parameters:
        :   **frame_number** (*int in* *[**-1048574**,* *1048574**]*) – Frame Number, The frame number of the frame to remove

    copy(*from_frame_number*, *to_frame_number*, *\**, *instance_drawing=False*)
    :   Copy a Grease Pencil frame

        Parameters:
        :   - **from_frame_number** (*int in* *[**-1048574**,* *1048574**]*) – Source Frame Number, The frame number of the source frame
            - **to_frame_number** (*int in* *[**-1048574**,* *1048574**]*) – Frame Number of Copy, The frame number to copy the frame to
            - **instance_drawing** (*boolean**,* *(**optional**)*) – Instance Drawing, Let the copied frame use the same drawing as the source

        Returns:
        :   The newly copied frame

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

    move(*from_frame_number*, *to_frame_number*)
    :   Move a Grease Pencil frame

        Parameters:
        :   - **from_frame_number** (*int in* *[**-1048574**,* *1048574**]*) – Source Frame Number, The frame number of the source frame
            - **to_frame_number** (*int in* *[**-1048574**,* *1048574**]*) – Target Frame Number, The frame number to move the frame to

        Returns:
        :   The moved frame

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

    *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 Cryptomatte Node (Legacy) in Blender? Include parameters, examples, warnings and best practices.

assistant: # Cryptomatte Node (Legacy)

[image reference removed]

The Cryptomatte node uses the Cryptomatte standard to efficiently create mattes for compositing.
Cycles and EEVEE output the required render passes, which can then be used in the Compositor
or another compositor with Cryptomatte support to create masks for specified objects.

Unlike the Material and Object Index passes, the objects to isolate are selected in compositing,
and mattes will be anti-aliased and take into account effects like motion blur and transparency.
user: Explain Stabilize Stroke in complete detail according to the official Blender documentation.

assistant: *Stabilize Stroke* makes the stroke lag behind the cursor
and creates a smoothed curve to the path of the cursor.
This can be enabled pressing `Shift` `S` or by clicking the checkbox found in the header.

Radius
:   Minimum distance from the last point before the stroke continues.

Factor
:   A smooth factor, where higher values result in smoother strokes but the drawing sensation
    feels like as if you were pulling the stroke.
user: Provide the full official documentation entry for Example, preserving all code examples.

assistant: Here is and example of using a texture and the mapping curve to generate weights used by
the [Wave](../deform/wave.xhtml) modifier.

Texture channel variations.

|  |  |  |
| --- | --- | --- |
| ../../../_images/modeling_modifiers_modify_weight-mix_intensity.jpg   Using intensity. | ../../../_images/modeling_modifiers_modify_weight-mix_red.jpg   Using Red. | ../../../_images/modeling_modifiers_modify_weight-mix_saturation.jpg   Using Saturation. |

Custom mapping curve with a Vertex Weight Edit modifier.

|  |  |  |
| --- | --- | --- |
| ../../../_images/modeling_modifiers_modify_weight-mix_map-curve.png   A customized mapping curve. | ../../../_images/modeling_modifiers_modify_weight-mix_red.jpg   Custom Mapping disabled. | ../../../_images/modeling_modifiers_modify_weight-mix_red-map.jpg   Custom Mapping enabled. |

[The blend-file](https://archive.blender.org/wiki/2015/index.php/File:ManModifiersWeightVGroupEx.blend),
TEST_4 scene.
user: Explain Outputs in complete detail according to the official Blender documentation.

assistant: Is Valid Offset
:   Whether the input control point plus the offset is a valid index of the original curve.
    Any offset in a cyclic curve is always valid.

Point Index
:   The index of the offset curve point.
user: Describe Installing Extensions from the Blender manual or Python API, including usage steps and snippets.

assistant: There are different ways to install an extension:

Install from the Website
:   Drag the installation URL into Blender.

Install from Blender
:   Search for the extension name and click on Install.

[Install from Disk](#bpy-ops-extensions-package-install-files)
:   Use the drop-down menu in the top right,
    or drag-and-drop an extension `.zip` package into Blender.
user: Explain Introduction in complete detail according to the official Blender documentation.

assistant: # Introduction

Scenes are a way to organize your work. Each blend-file can contain multiple scenes,
which may share other data such as objects, materials, and collections.

A scene defines the visible objects, camera view, lighting setup,
and render settings that make up a specific part of a project.
For example, a single blend-file may include multiple scenes for different shots,
lighting setups, or stages of a production pipeline.

Scene management and library linking are based on Blender’s
[Library and Data System](../../files/index.xhtml).
If you are not familiar with the concepts of data-blocks, linking, and appending,
it is recommended to read that page first.
user: What is Keys and how is it used in Blender Python scripting?

assistant: ### Available Keys

When customizing keymaps it’s useful to use keys which won’t conflict with Blender’s default keymap.

Here are keys which aren’t used and aren’t likely to be used in the future.

F-Keys (`F5` - `F8`)
:   These F-keys (including modifier combination)
    have been intentionally kept free for users to bind their own keys to.

`OSKey` (also known as the `Windows-Key`, `Cmd` or `Super`)
:   Blender doesn’t use this key for any bindings.

    *macOS* is an exception, where `Cmd` replaces `Ctrl`
    except in cases it would conflict with the system’s key bindings.

`Hyper` is a modifier available on Wayland and X11
:   Blender doesn’t use this key for any bindings.

    Note that this modifier typically needs to be configured,
    see: [!136340](https://projects.blender.org/blender/blender/pulls/136340) for details.

Modifier Double Click
:   Binding modifier keys as primary keys is supported,
    to avoid conflicts with regular usage you can bind them to double click.

### Multi-Action Keys

#### Click/Drag

It’s possible to configure a single key to perform multiple operations
using *Click* event instead of *Press*. Then you may bind *Drag* to a separate action.

This is useful for mixing actions where one uses a drag event, e.g:
Toggle a setting using with `Tab`, drag to open a pie menu showing all options related to the setting.

This is used in the default keymap in the 3D Viewport,
`Alt`-`MMB` dragging in different directions rotates the view.
user: How do I use Inputs in Blender? Include parameters, examples, warnings and best practices.

assistant: Image
:   Standard color input.

Key Color
:   The background color usually selected using the color picker and the original image.

Minimum
:   An angle on the color wheel that represents how tolerant the keying color is. Larger angles allow for larger
    variation in the keying color to be considered background pixels.

Maximum
:   Controls the level that is considered the pure background. Higher cutoff levels mean more pixels will be
    100% transparent if they are within the angle tolerance.

Falloff
:   Increase to make nearby pixels partially transparent producing a smoother blend along the edges.
user: Provide the full official documentation entry for Liquid Simulations, preserving all code examples.

assistant: Fluid physics are used to simulate physical properties of liquids especially water.
While creating a scene in Blender, certain objects can be marked to become a part of the fluid simulation.
For a fluid simulation you have to have a domain to define the space that the simulation takes up.
In the domain settings you will be able to define the global simulation parameters (such as viscosity
and gravity).

[image reference removed]

Example of a liquid simulation.
user: How do I use Bpy.Types.Nodetreeinterfacesocketvectorvelocity4D in Blender? Include parameters, examples, warnings and best practices.

assistant: ed Properties Inherited Functions