PGCRYPT/OpenBlender_Train huggingface dataset:
user: Give a detailed overview of Compositing: syntax, arguments, return values, common patterns.

assistant: Blend
:   The method for blending the current strip with strips in lower channels.
    See [Blend Modes](../../../../glossary/index.xhtml#term-Blend-Modes) for more information.

Opacity
:   The opacity ([alpha](../../../../glossary/index.xhtml#term-Alpha-Channel)) of the strip.

    When this property is animated, the opacity is drawn as an overlay on the strip.
    The overlay will look like a dark section that follows the animation curve.
    This can be hidden by disabling the [F-Curves](../display.xhtml#bpy-types-sequencertimelineoverlay-show-fcurves).
user: Show practical ways to work with Camera Data Node in a Blender add-on or script – include code.

assistant: # Camera Data Node

[image reference removed]

The *Camera Data* node returns information about the shading point relative to the camera.
This could be used for example to change the shading
of objects further away from the camera, or make custom fog effects.
user: Describe Examples from the Blender manual or Python API, including usage steps and snippets.

assistant: The left image shows the “wire” in place and after chroma keying has been applied. You will see you are left
with a blank space – it’s shown as a black line here but it will be alpha in your Blender output.

[image reference removed]

Inpaint Node example.

Inpainting fills in a couple of pixels using the surrounding image and voilà… your wire is removed.

Inpainting can also cover up a multitude of other minor sins
such as control points for motion capture: use it sparingly and it will amaze.
user: How do I use Edge Length Node in Blender? Include parameters, examples, warnings and best practices.

assistant: # Edge Length Node

[image reference removed]

The *Edge Length* node outputs the length of each edge in a mesh.
It calculates the distance between the two vertices that define each edge.

This node can be used for geometric analysis, mesh-based effects, or procedural operations
that depend on edge length (such as adaptive subdivision, weight mapping, or trimming).
user: Give a detailed overview of Pull Requests and Reviews: syntax, arguments, return values, common patterns.

assistant: When you commit your changes, they are sent as a pull request for review by the documentation team.
Reviewers may suggest improvements or request additional changes.

Once your pull request is approved, a reviewer will merge it, and your contribution will be published online.
user: Provide the full official documentation entry for Installation on Windows, preserving all code examples.

assistant: # Installation on Windows

This guide covers the following topics:

1. [Installing Python](#installing-python) (used to “convert” the source files to HTML)
2. [Installing Git and Downloading the Repository](#installing-git-and-downloading-the-repository)
3. [Setting up the Build Environment](#setting-up-the-build-environment)
user: Describe SoftBodyModifier(Modifier) from the Blender manual or Python API, including usage steps and snippets.

assistant: # SoftBodyModifier(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.SoftBodyModifier(*Modifier*)
:   Soft body simulation modifier

    point_cache
    :   Type:
        :   [`PointCache`](bpy.types.PointCache.html#bpy.types.PointCache "bpy.types.PointCache"), (readonly, never None)

    settings
    :   Type:
        :   [`SoftBodySettings`](bpy.types.SoftBodySettings.html#bpy.types.SoftBodySettings "bpy.types.SoftBodySettings"), (readonly, never None)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

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

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Describe Generic Constraint from the Blender manual or Python API, including usage steps and snippets.

assistant: # Generic Constraint

The generic constraint has a lot of available parameters.

The X, Y, and Z axis constraints can be used to limit the amount of translation between the objects.
Clamping the min/max to zero has the same effect as the Point constraint.

Clamping the relative rotation to zero keeps the objects in alignment.
Combining an absolute rotation and translation clamp would behave much like the Fixed constraint.

Using a nonzero spread on any parameter allows it to oscillate
in that range throughout the course of the simulation.
user: Give a detailed overview of POSE_UL_selection_set(UIList): syntax, arguments, return values, common patterns.

assistant: # POSE_UL_selection_set(UIList)

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

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

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

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

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Explain ByteColorAttributeValue(bpy_struct) in complete detail according to the official Blender documentation.

assistant: # ByteColorAttributeValue(bpy_struct)

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

*class* bpy.types.ByteColorAttributeValue(*bpy_struct*)
:   Color value in geometry attribute

    color
    :   RGBA color in scene linear color space

        Type:
        :   float array of 4 items in [0, 1], default (0.0, 0.0, 0.0, 0.0)

    color_srgb
    :   RGBA color in sRGB color space

        Type:
        :   float array of 4 items in [0, 1], default (0.0, 0.0, 0.0, 0.0)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

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

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Show practical ways to work with Headings in a Blender add-on or script – include code.

assistant: Use the following hierarchy for headings:

```
#################
  Document Part
#################

****************
Document Chapter
****************

Document Section
================

Document Subsection
-------------------

Document Subsubsection
^^^^^^^^^^^^^^^^^^^^^^

Document Paragraph
""""""""""""""""""
```
user: Give a detailed overview of Instance Bounds Node: syntax, arguments, return values, common patterns.

assistant: # Instance Bounds Node

[image reference removed]

The *Instance Bounds* node outputs the axis-aligned bounding box of each instance in the input geometry.
This can be used to determine the spatial extent of instances,
for example, to position or scale objects based on their size.
user: How do I use Introduction in Blender? Include parameters, examples, warnings and best practices.

assistant: # Introduction

[image reference removed]

The Bone Constraints Properties in Pose Mode,
with an Inverse Kinematics constraint added to the active bone.

As bones behave like objects in *Pose Mode*, they can also be constrained.
This is why the *Constraints* tab is shown in both *Object Mode* and *Edit Mode*.
This panel contains the constraints *of the active bone*
(its name is displayed at the top of the panel, in the *To Bone:…* static text field).

Constraining bones can be used to control their degree of freedom
in their pose transformations, using e.g. the *Limit* constraints.
You can also use constraints to make a bone track another object/bone
(inside the same object, or in another armature), etc.
And the [inverse kinematics feature](inverse_kinematics/introduction.xhtml#bone-constraints-inverse-kinematics)
is also mainly available through the *IK Solver* constraint, which is specific to bones.

For example, a human elbow cannot rotate backward (unless the character has broken their arm),
nor to the sides, and its forward and roll rotations are limited in a given range.
(E.g. depending on the rest position of your elbow, it may be from (0 to 160) or from (-45 to 135).)

So you should apply a *Limit Rotation* constraint to the forearm bone
(as the elbow movement is the result of rotating the forearm bone around its root).

Using bones in constraints, either as owners or as targets, is discussed in detail
in the [constraints pages](../../../constraints/index.xhtml).
user: How do I use Inputs in Blender? Include parameters, examples, warnings and best practices.

assistant: Geometry
:   The geometry to sample.

Sample Position
:   The position to start from when finding the closest location on the target geometry.
    By default, this is the same as if the [Position Node](../read/position.xhtml) was connected.
user: Provide the full official documentation entry for AOV Output Node, preserving all code examples.

assistant: # AOV Output Node

[image reference removed]

Shader AOVs (Arbitrary Output Variables) provide custom render passes for arbitrary shader node components.
As an artist this can be a good way to debug or tweak very fine details of a scene in post-processing.
To use shader AOVs create the pass in the [Shader AOV](../../layers/passes.xhtml#bpy-types-aov) panel
then reference that pass with the *AOV Output* shading node.
Shader AOVs can be added or removed in the *Shader AOV* panel.
user: Explain Select Similar in complete detail according to the official Blender documentation.

assistant: Selects control points that are similar in some way to a selected control point.
The [Adjust Last Operation](../../interface/undo_redo.xhtml#bpy-ops-screen-redo-last) panel provides options for this:

Type
:   Which property to compare for determining similarity.

    Type:
    :   This option does not apply for Surfaces because, unlike Curves, they only support one handle type.

    Radius:
    :   Selects control points that have a similar Radius value.
        See [Transform Panel](properties/transform_panel.xhtml).

    Weight:
    :   Selects control points that have a similar Weight value.
        See [Transform Panel](properties/transform_panel.xhtml).

    Direction:
    :   Selects control points that have a similar normal vector.

Compare
:   How to compare unselected control points to selected ones.

    Equal:
    :   Select control points whose property is equal to that of a selected point.

    Greater:
    :   Select control points whose property is greater than or equal to the smallest property
        among the selected points.

    Less:
    :   Select control points whose property is less than or equal to the greatest property
        among the selected points.

Threshold
:   Tolerance value for also including control points whose property is close to the property
    of a selected point. For example, if a selected control point has a Weight of 0.6 and
    the *Threshold* is set to 0.1, *Select Similar* will include all control points that have
    a Weight between 0.5 and 0.7.
user: Show practical ways to work with Options in a Blender add-on or script – include code.

assistant: [image reference removed]

Copy Rotation constraint.

[Target](../interface/common.xhtml#rigging-constraints-interface-common-target)
:   The object or bone whose rotation to copy. If this target has a sheared transformation,
    this is first undone.

Order
:   The [Euler](../../../glossary/index.xhtml#term-Euler) order to use during the copy operation.
    Defaults to the order of the owner.

Axis
:   The axes for which to copy rotation angles.

Invert
:   The axes for which invert the sign (so an angle of 10° becomes -10° and vice versa).

Mix
:   Specifies how the target’s current rotation (from all its constraints)
    is combined with the owner’s original rotation (from its preceding constraints).

    Replace:
    :   The target’s angles replace the owner’s.

    Add:
    :   The target angles are added to the owner’s.

    Before Original:
    :   The target’s rotation is applied before the owner’s. The result is the same as
        the owner’s rotation if it were a child of the target and there was no constraint.

    After Original:
    :   The target’s rotation is applied after the owner’s. The result is the same as
        the target’s rotation if it were a child of the owner and there was no constraint.

    Offset (Legacy):
    :   This replicates the behavior of the original Offset checkbox. It was intended
        to be similar to *Before Original*, but does not work correctly with multiple axes
        and is thus deprecated.

[Target/Owner](../interface/common.xhtml#rigging-constraints-interface-common-space)
:   The spaces for retrieving the angles from the target and for applying them to the owner.

[Influence](../interface/common.xhtml#bpy-types-constraint-influence)
:   How strongly the constraint affects the owner.
user: How do I use Outputs in Blender? Include parameters, examples, warnings and best practices.

assistant: Image
:   The color image from the *Image* input with the mask applied so that only the selected
    objects/materials remain. Everything else is made transparent.

Matte
:   A grayscale mask of the selected objects or materials.

Pick
:   A colored representation of the Cryptomatte which can be used for picking objects or materials.
user: How do I use Miscellaneous in Blender? Include parameters, examples, warnings and best practices.

assistant: Slide Spline Curvature `LMB`
:   Moves the curve and/or control points by clicking on them and dragging.

Add Vertex and Slide `Ctrl`-`LMB`
:   Inserts new control points and defines handle orientations by a continued mouse drag.
    If the last point was selected, double-click will also close the curve.

Add Feather Vertex and Slide `Shift`-`Ctrl`-`LMB`
:   Inserts new feather control points that can be transformed independently of the main spline curve.
    If no feather mask is in use this will create a basic feather mask to the curve.
user: How do I use The Home Location of Assets in Blender? Include parameters, examples, warnings and best practices.

assistant: There can be as many catalogs as you want, but **an asset can be assigned to a single catalog** at a time.
This is similar to a file system, where a file is only in one directory
(ignoring advanced things like symbolic links).

Catalogs themselves can be nested and moved by dragging and dropping.
Moving a catalog will not modify the assets it contains; they will simply move along
to the new location of the catalog.

Selecting a catalog in the Asset Browser will show all assets in that catalog and in child catalogs.
So, in the preceding example, selecting `Characters/Ellie/Poses` will also show assets from
`Characters/Ellie/Poses/Head` and `Characters/Ellie/Poses/Hands`.
user: Describe Slice from the Blender manual or Python API, including usage steps and snippets.

assistant: Renders only a single 2D section of the domain object.

Axis
:   Auto:
    :   Adjust slice direction according to the view direction.

    X/Y/Z:
    :   Slice along the X/Y/Z axis.

Position
:   Position of the slice relative to the length of the respective domain side.

Gridlines Closest Interpolation Only
:   Display gridlines to differentiate the underlying cells in the current slice of the fluid domain.
user: Give a detailed overview of Bpy.Types.Bonecollection: syntax, arguments, return values, common patterns.

assistant: _ancestors bpy_struct.type_recast bpy_struct.values References ¶ Armature.collections Armature.collections_all Bone.collections BoneCollection.children BoneCollection.parent BoneCollections.active BoneCollections.new BoneCollections.new BoneCollections.remove EditBone.collections Next BoneCollectionMemberships(bpy_struct) Previous Bone(bpy_struct) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page BoneCollection(bpy_struct) BoneCollection BoneCollection.bones BoneCollection.child_number BoneCollection.children BoneCollection.index BoneCollection.is_editable BoneCollection.is_expanded BoneCollection.is_local_override BoneCollection.is_solo BoneCollection.is_visible BoneCollection.is_visible_ancestors BoneCollection.is_visible_effectively BoneCollection.name BoneCollection.parent BoneCollection.bones_recursive BoneCollection.bl_system_properties_get() BoneCollection.assign() BoneCollection.unassign() BoneCollection.bl_rna_get_subclass() BoneCollection.bl_rna_get_subclass_py() Inherited Properties Inherited Functions References
user: Describe Properties from the Blender manual or Python API, including usage steps and snippets.

assistant: Mode
:   Position:
    :   The handle inputs are the absolute positions of the handles in 3D space.

    Offset:
    :   The handle positions are relative to the control point on the curve.
        The handle inputs give the offset from the control points.
user: What is View Layer and how is it used in Blender Python scripting?

assistant: # View Layer

[image reference removed]

View Layer panel.

The Layer Panel shows the settings of the active View Layer.

Use for Rendering
:   The active view layer will be used during rendering.

Render Single Layer
:   Only render the active view layer.
user: What is – Wireframe and how is it used in Blender Python scripting?

assistant: Only displays the edges (wireframes) of the objects in the scene.

Wireframe Color
:   How wireframes are colored. This affects the Wireframe shading mode and overlay.

    Theme:
    :   Use the *Active Object*, *Wire*, or *Wire Edit* [theme color](../../preferences/themes.html)
        based on the object’s current state.

    Object:
    :   Use the color from the object’s
        [Viewport Display](../../../render/workbench/display_settings.html#properties-object-viewport-display) settings.

    Random:
    :   Each object gets displayed in a random color.

Background
:   How the background is displayed in the 3D Viewport.

    Theme:
    :   Use the background of the theme. This can be configured in the
        [Themes Preferences](../../preferences/themes.html)
        under 3D Viewport ‣ Theme Space ‣ Gradient Colors.

    World:
    :   Use the color from the [World](../../../render/lights/world.html)’s Viewport Display options.

    Custom:
    :   Select a custom color for the background of the 3D Viewport.

### Options

X-Ray `Alt`-`Z`
:   Make objects transparent, allowing you to see and select items that would otherwise be occluded.
    The slider controls object opacity.

Outline
:   Draw an outline around objects. The color of the outline can be adjusted.
user: Explain GeometryNodeCurveHandleTypeSelection(GeometryNode) in complete detail according to the official Blender documentation.

assistant: # GeometryNodeCurveHandleTypeSelection(GeometryNode)

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

*class* bpy.types.GeometryNodeCurveHandleTypeSelection(*GeometryNode*)
:   Provide a selection based on the handle types of Bézier control points

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

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

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

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

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

        Returns:
        :   Result

        Return type:
        :   boolean

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

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

        Returns:
        :   result

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

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

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

        Returns:
        :   result

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

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

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

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Describe Example from the Blender manual or Python API, including usage steps and snippets.

assistant: |  |  |  |
| --- | --- | --- |
| ../../../_images/modeling_modifiers_deform_curve_example-edit-curve.png   Edit curve. | ../../../_images/modeling_modifiers_deform_curve_example-monkeyoncurve1.png   Monkey on a curve. | ../../../_images/modeling_modifiers_deform_curve_example-monkeyoncurve2.png   Monkey deformations. |
user: What is Outputs and how is it used in Blender Python scripting?

assistant: Image
:   The final image with the generated glare added.

Glare
:   The generated glare effect isolated from the input image.
    Useful for further compositing or adjustments.

Highlights
:   The extracted bright areas used to generate the glare effect.
    Can be used to fine-tune the glare or as a base for custom effects.
user: How do I use PrimitiveFloat(bpy_struct) in Blender? Include parameters, examples, warnings and best practices.

assistant: # PrimitiveFloat(bpy_struct)

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

*class* bpy.types.PrimitiveFloat(*bpy_struct*)
:   RNA wrapped float

    value
    :   Type:
        :   float in [-inf, inf], default 0.0, (readonly)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

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

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: What is References and how is it used in Blender Python scripting?

assistant: |  |  |
| --- | --- |
| - [`Context.blend_data`](bpy.types.Context.html#bpy.types.Context.blend_data "bpy.types.Context.blend_data") | - [`RenderEngine.update`](bpy.types.RenderEngine.html#bpy.types.RenderEngine.update "bpy.types.RenderEngine.update") |
user: Show practical ways to work with Mesh to SDF Grid Node in a Blender add-on or script – include code.

assistant: # Mesh to SDF Grid Node

[image reference removed]

The *Mesh to SDF Grid* node converts a mesh into a Signed Distance Field (SDF)
grid. Each voxel in the resulting grid stores the shortest distance to the
surface of the mesh, with the sign indicating whether the voxel is inside or
outside the mesh.

Positive values represent distances outside the mesh, negative values represent
distances inside the mesh, and zero corresponds to the mesh surface.
SDF grids are useful for many applications, including surface reconstruction,
collision detection, morphing, and volumetric modeling.
user: Give a detailed overview of Quickstart: syntax, arguments, return values, common patterns.

assistant: # Quickstart

This API is generally stable
but some areas are still being extended and improved.

Blender Python API features:

- Edit any data the user interface can (Scenes, Meshes, Particles etc.).
- Modify user preferences, keymaps and themes.
- Run tools with own settings.
- Create user interface elements such as menus, headers and panels.
- Create new tools.
- Create interactive tools.
- Create new rendering engines that integrate with Blender.
- Subscribe to changes to data and it’s properties.
- Define new settings in existing Blender data.
- Draw in the 3D Viewport using Python.

(Still) missing features:

- Create new space types.
- Assign custom properties to every type.
user: Explain Channel Region in complete detail according to the official Blender documentation.

assistant: The Channel region sits on the left side of the editor and contains the channel properties
listed below. Its visibility can be toggled with View ‣ Channels.

Name
:   The name of the channel. Double-click to change.

Mute Channel
:   Disable the entire channel so that none of its strips can be seen (or heard) in the final video.
    Note that you can also mute individual strips.

Lock Channel
:   Lock the entire channel to protect all its strips against accidental changes.
    Note that you can also lock individual strips.
user: Give a detailed overview of Property Override Flag Collection Items: syntax, arguments, return values, common patterns.

assistant: # Property Override Flag Collection Items

LIBRARY_OVERRIDABLE:
:   Library Overridable.

    Make that property editable in library overrides of linked data-blocks.
    NOTE: For a property to be overridable, its whole chain of parent properties must also be defined as overridable.

NO_PROPERTY_NAME:
:   No Name.

    Do not use the names of the items, only their indices in the collection.

USE_INSERTION:
:   Use Insertion.

    Allow users to add new items in that collection in library overrides.
user: Describe Hair Attachment Info from the Blender manual or Python API, including usage steps and snippets.

assistant: # Hair Attachment Info

The *Hair Attachment Info* node provides information about how and where hair curves
are attached to a surface mesh.
It allows nodes to retrieve stored attachment coordinates, verify whether the attachment
is still valid, and access the surface normal at the attachment point.
This information is essential for deformation, simulation, and reattachment of hair
when the surface mesh changes.
user: Describe Gabor Texture Node from the Blender manual or Python API, including usage steps and snippets.

assistant: # Gabor Texture Node

[image reference removed]

The *Gabor Texture* node evaluates a Gabor noise at the input texture coordinates. Gabor noise is
visually characterized by random interleaved bands whose direction and width can be controlled.
Additionally, it can be used to create omnidirectional noise like the standard Noise Texture node,
but since it is more expensive to compute, using the Noise Texture node is probably the better
option in those cases. See the examples for more information.
user: Describe BlendDataWorlds(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # BlendDataWorlds(bpy_struct)

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

*class* bpy.types.BlendDataWorlds(*bpy_struct*)
:   Collection of worlds

    new(*name*)
    :   Add a new world to the main database

        Parameters:
        :   **name** (*string**,* *(**never None**)*) – New name for the data-block

        Returns:
        :   New world data-block

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

    remove(*world*, *\**, *do_unlink=True*, *do_id_user=True*, *do_ui_user=True*)
    :   Remove a world from the current blendfile

        Parameters:
        :   - **world** ([`World`](bpy.types.World.html#bpy.types.World "bpy.types.World"), (never None)) – World to remove
            - **do_unlink** (*boolean**,* *(**optional**)*) – Unlink all usages of this world before deleting it
            - **do_id_user** (*boolean**,* *(**optional**)*) – Decrement user counter of all data-blocks used by this world
            - **do_ui_user** (*boolean**,* *(**optional**)*) – Make sure interface does not reference this world

    tag(*value*)
    :   tag

        Parameters:
        :   **value** (*boolean*) – Value

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

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

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Explain Bone Colors in complete detail according to the official Blender documentation.

assistant: Bones can be individually colored. You can either choose a color set from the predefined
[theme](../../../../editors/preferences/themes.xhtml#bpy-types-theme) list or define a custom one.

[image reference removed]

When selecting *Custom Color Set*, you need to define three colors:
Regular (for when the bone is not selected), Selected, and Active.

You can temporarily disable all the color assignments by unchecking
[Bone Colors](../../properties/display.xhtml#bpy-types-armature-show) in the armature’s Viewport Display panel.

Bone Color
:   The bone’s primary color, affecting both Edit Mode and Pose Mode.

    This color is stored on the armature data-block, so that if you have
    multiple armature objects that share this data-block, they will all use
    the same color.

    Copy Bone Color to Selected
    :   Copy the bone color of the [Active](../../../../glossary/index.xhtml#term-Active) bone to all selected bones.

Pose Bone Color Pose Mode
:   Lets you optionally override the above *Bone Color* in Pose Mode
    (by setting it to something else than *Default Colors*).

    This color is stored on the [Pose Bone](../../../../glossary/index.xhtml#term-Pose-Bone), meaning it can be different
    in every armature object – even ones that reference the same data-block.

    Copy Bone Color to Selected
    :   Copy the bone color of the [Active](../../../../glossary/index.xhtml#term-Active) bone to all selected bones.
user: Explain Hints in complete detail according to the official Blender documentation.

assistant: Your computer accidentally turns off in the middle of rendering your movie!
:   Unless your animation renders in a few minutes,
    it is best to render the animation as separate image files.
    Instead of rendering directly to a compressed movie file, use a lossless format (e.g. `PNG`).

    This allows you an easy recovery if there is a problem and you have to re-start the rendering,
    since the frames you have already rendered will still be in the output directory.

    Just disable the *Overwrite* option to start rendering where you left off.

    You can then make a movie out of the separate frames with Blender’s Sequence editor
    or use 3rd party encoding software.

Animation Preview
:   It can be useful to render a subset of the animated sequence,
    since only part of an animation may have an error.

    Using an image format for output,
    you can use the *Frame Step* option to render every *N’th* frame.
    Then disable *Overwrite* and re-render with *Frame Step* set to 1.
user: Give a detailed overview of Pie Menus: syntax, arguments, return values, common patterns.

assistant: A pie menu is a menu whose items are spread radially around the mouse.

[image reference removed]

The 3D Viewport Mode Pie menu.

Releasing the key without moving the mouse will keep the menu open so you
can click the desired item.
If you do move the mouse before releasing, the item closest to the mouse
will be activated instantly.

An open disc widget at the center of the pie menu shows
the current direction of the pie menu. The selected item is also highlighted.
A pie menu will only have a valid direction for item selection
if the mouse is touching or extending beyond the disc widget at the center of the menu.

Pie menu items support key accelerators, which are the letters underlined on each menu item.
Number keys can also be used.

If there are sub-pies available, it is indicated by a plus icon.
user: Explain ThemeConsole(bpy_struct) in complete detail according to the official Blender documentation.

assistant: # ThemeConsole(bpy_struct)

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

*class* bpy.types.ThemeConsole(*bpy_struct*)
:   Theme settings for the Console

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

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

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

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

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

    select
    :   Type:
        :   float array of 4 items in [0, 1], default (0.0, 0.0, 0.0, 0.0)

    space
    :   Settings for space

        Type:
        :   [`ThemeSpaceGeneric`](bpy.types.ThemeSpaceGeneric.html#bpy.types.ThemeSpaceGeneric "bpy.types.ThemeSpaceGeneric"), (readonly, never None)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

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

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Describe Make an Override from the Blender manual or Python API, including usage steps and snippets.

assistant: Create overrides from the selected data-blocks.

Blender automatically create overrides for all required data-blocks to ensure that
valid override hierarchies are created.

Only overrides created from selected items will be user-editable.

### Selected Items

Depending on where from the override is created, there are several ways to
‘select’ items to be overridden and user-editable.

#### 3DView

The selected objects will be considered as selected.

When a selected object is a local *Empty* instantiating a linked collection, the following will happen:

- The *Empty* object will be removed.
- Its linked collection will be overridden, and that override will be instanced
  in the same collection in the current *View Layer*.
- If the collection contains *Armature* objects, they will be user-editable.
  Otherwise, no created override will be defined as user-editable.

#### Outliner

The operation can be applied on either the selected items only, their content only, or both.

#### ID Widget

Only the linked data-block in the ID Widget is considered as selected, and set as editable
once overridden.

### Make Editable

That same operation can also be used to make existing overrides user-editable,
after they have been created, or [cleared](#bpy-ops-ui-override-idtemplate-clear)
user: What is Save Copy and how is it used in Blender Python scripting?

assistant: Choose a file path to save the blend-file to, but return to editing the original file upon completion.
This can be used to save backups of the current working state without modifying the original file.

For options see [Save As](#bpy-ops-wm-save-as-mainfile).
user: What is Color and how is it used in Blender Python scripting?

assistant: # Color

In this tab you control the color of your strokes.

[[image reference removed]](../../../../_images/render_freestyle_parameter-editor_line-style_color_tab.png)

Line Style: Color.

Base Color
:   The base color for this line style.
user: Provide the full official documentation entry for Properties, preserving all code examples.

assistant: Depth Order
:   Defines how the strokes are ordered in 3D space (for objects not displayed *In Front*).

    2D Layers:
    :   The Strokes drawing order respect the order of the 2D layers list (top to bottom)
        and ignores the real position of the strokes in 3D space.
        See [2D Layers](../../../../grease_pencil/properties/layers.html) for more information.

    3D Location:
    :   The strokes drawing order is based on the stroke location in 3D space.
user: Give a detailed overview of Transform: syntax, arguments, return values, common patterns.

assistant: A Bézier curve can be edited by transforming the locations of both control points and handles.
NURBS curve on the other hand have only control points.

Move, Rotate, Scale
:   Like other elements in Blender, curve control points and handles can be
    moved, rotated, or scaled as described in
    [Basic Transformations](../../../scene_layout/object/editing/transform/introduction.html).

To Sphere, Shear, Bend, Push/Pull, Warp, Randomize
:   The transform tools are described in
    the [Transformations](../../meshes/editing/mesh/transform/index.html) sections.

Move/Scale Texture Space
:   Like other objects, curves have textures spaces which can be
    [edited](../../meshes/uv/uv_texture_spaces.html#properties-texture-space-editing).

### Radius

Controls the width of the extrusion along the “spinal” curve.
The radius will be interpolated from point to point (you can check it with the normals).
The *Radius* of the points is set using the *Radius* transform tool. Or in the Sidebar *Transform* panel.

[[image reference removed]](../../../_images/modeling_curves_editing_curve_extrude-radius.png)

One control point radius set to zero.
user: Explain Radial Tiling Node in complete detail according to the official Blender documentation.

assistant: # Radial Tiling Node

[[image reference removed]](../../../../_images/node-types_ShaderNodeRadialTiling.png)

The *Radial Tiling Node* provides the ability to divide a 2D cartesian input coordinate system
into as many radial segments as specified by the *Sides* input.
Each segment has its own affinely transformed segment coordinate system,
which can be used to tile textures in a radially symmetric manner.
user: Explain Orbit in complete detail according to the official Blender documentation.

assistant: Rotate the view around the point of interest by clicking and dragging
`MMB` on the viewport’s area.

`RMB` cancels the orbit operation.

The `Alt` key has several effects on orbiting:

- Clicking a point with `Alt`-`MMB` will make it the point of interest:
  it becomes the central point which the view orbits around.
- Holding `Alt` and then dragging with `MMB` in a certain direction
  will [align](viewpoint.html) the view to an axis
  and make it orthographic.
- Dragging with `MMB` and then holding `Alt`
  will perform an orbit while also snapping to the world axes,
  as well as the diagonals between them.

To change the viewing angle in discrete steps, use `Numpad8` and `Numpad2`
to go up and down, or `Numpad4` and `Numpad6` for left and right.
You can also press `Numpad9` to switch to the opposite side of the view
(rotates the camera 180° around the Z axis).
user: Explain GeometryNodeMeshCircle(GeometryNode) in complete detail according to the official Blender documentation.

assistant: # GeometryNodeMeshCircle(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.GeometryNodeMeshCircle(*GeometryNode*)
:   Generate a circular ring of edges

    fill_type
    :   Type:
        :   enum in [Node Geometry Mesh Circle Fill Type Items](bpy_types_enum_items/node_geometry_mesh_circle_fill_type_items.html#rna-enum-node-geometry-mesh-circle-fill-type-items), default `'NONE'`

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

        Returns:
        :   Result

        Return type:
        :   boolean

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

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

        Returns:
        :   result

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

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

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

        Returns:
        :   result

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

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

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

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Explain GeometryNodeRaycast(GeometryNode) in complete detail according to the official Blender documentation.

assistant: # GeometryNodeRaycast(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.GeometryNodeRaycast(*GeometryNode*)
:   Cast rays from the context geometry onto a target geometry, and retrieve information from each hit point

    data_type
    :   Type of data stored in attribute

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

    *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 Inherited Properties from the Blender manual or Python API, including usage steps and snippets.

assistant: |  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`ID.name`](bpy.types.ID.html#bpy.types.ID.name "bpy.types.ID.name") - [`ID.name_full`](bpy.types.ID.html#bpy.types.ID.name_full "bpy.types.ID.name_full") - [`ID.id_type`](bpy.types.ID.html#bpy.types.ID.id_type "bpy.types.ID.id_type") - [`ID.session_uid`](bpy.types.ID.html#bpy.types.ID.session_uid "bpy.types.ID.session_uid") - [`ID.is_evaluated`](bpy.types.ID.html#bpy.types.ID.is_evaluated "bpy.types.ID.is_evaluated") - [`ID.original`](bpy.types.ID.html#bpy.types.ID.original "bpy.types.ID.original") - [`ID.users`](bpy.types.ID.html#bpy.types.ID.users "bpy.types.ID.users") - [`ID.use_fake_user`](bpy.types.ID.html#bpy.types.ID.use_fake_user "bpy.types.ID.use_fake_user") - [`ID.use_extra_user`](bpy.types.ID.html#bpy.types.ID.use_extra_user "bpy.types.ID.use_extra_user") - [`ID.is_embedded_data`](bpy.types.ID.html#bpy.types.ID.is_embedded_data "bpy.types.ID.is_embedded_data") | - [`ID.is_linked_packed`](bpy.types.ID.html#bpy.types.ID.is_linked_packed "bpy.types.ID.is_linked_packed") - [`ID.is_missing`](bpy.types.ID.html#bpy.types.ID.is_missing "bpy.types.ID.is_missing") - [`ID.is_runtime_data`](bpy.types.ID.html#bpy.types.ID.is_runtime_data "bpy.types.ID.is_runtime_data") - [`ID.is_editable`](bpy.types.ID.html#bpy.types.ID.is_editable "bpy.types.ID.is_editable") - [`ID.tag`](bpy.types.ID.html#bpy.types.ID.tag "bpy.types.ID.tag") - [`ID.is_library_indirect`](bpy.types.ID.html#bpy.types.ID.is_library_indirect "bpy.types.ID.is_library_indirect") - [`ID.library`](bpy.types.ID.html#bpy.types.ID.library "bpy.types.ID.library") - [`ID.library_weak_reference`](bpy.types.ID.html#bpy.types.ID.library_weak_reference "bpy.types.ID.library_weak_reference") - [`ID.asset_data`](bpy.types.ID.html#bpy.types.ID.asset_data "bpy.types.ID.asset_data") - [`ID.override_library`](bpy.types.ID.html#bpy.types.ID.override_library "bpy.types.ID.override_library") - [`ID.preview`](bpy.types.ID.html#bpy.types.ID.preview "bpy.types.ID.preview") |