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

assistant: # SceneHydra(bpy_struct)

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

*class* bpy.types.SceneHydra(*bpy_struct*)
:   Scene Hydra render engine settings

    export_method
    :   How to export the Blender scene to the Hydra render engine

        - `HYDRA`
          Hydra – Fast interactive editing through native Hydra integration.
        - `USD`
          USD – Export scene through USD file, for accurate comparison with USD file export.

        Type:
        :   enum in [`'HYDRA'`, `'USD'`], default `'HYDRA'`

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Provide the full official documentation entry for Toggle Cyclic, preserving all code examples.

assistant: Toggles between an open curve and closed curve (Cyclic).
Only curves with at least one selected control point will be closed/open.
The shape of the closing segment is based on the start and end handles for Bézier curves,
and as usual on adjacent control points for NURBS.
The only time a handle is adjusted after closing is if the handle is an *Auto* one.
Fig. [Open and Closed curves.](#fig-curve-editing-open-close) is the same Bézier curve open and closed.

This action only works on the original starting control point or the last control point added.
Deleting a segment(s) does not change how the action applies;
it still operates only on the starting and last control points. This means that
`Alt`-`C` may actually join two curves instead of closing a single curve!
Remember that when a 2D curve is closed, it creates a renderable flat face.

[image reference removed]

Open and Closed curves.
user: Show practical ways to work with GeometryNodeSetPosition(GeometryNode) in a Blender add-on or script – include code.

assistant: # GeometryNodeSetPosition(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.GeometryNodeSetPosition(*GeometryNode*)
:   Set the location of each 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: What is UI_UL_list(UIList) and how is it used in Blender Python scripting?

assistant: # UI_UL_list(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.UI_UL_list(*UIList*)
:   *static* filter_items_by_name(*pattern*, *bitflag*, *items*, *propname='name'*, *flags=None*, *reverse=False*)
    :   Set FILTER_ITEM for items which name matches filter_name one (case-insensitive).
        pattern is the filtering pattern.
        propname is the name of the string property to use for filtering.
        flags must be a list of integers the same length as items, or None!
        return a list of flags (based on given flags if not None),
        or an empty list if no flags were given and no filtering has been done.

    *classmethod* sort_items_by_name(*items*, *propname='name'*)
    :   Re-order items using their names (case-insensitive).
        propname is the name of the string property to use for sorting.
        return a list mapping org_idx -> new_idx,
        or an empty list if no sorting has been done.

    *static* sort_items_helper(*sort_data*, *key*, *reverse=False*)
    :   Common sorting utility. Returns a neworder list mapping org_idx -> new_idx.
        sort_data must be an (unordered) list of tuples [(org_idx, …), (org_idx, …), …].
        key must be the same kind of callable you would use for sorted() builtin function.
        reverse will reverse the sorting!

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

assistant: # File Browser

The File Browser is used in all file-related operations. These include:

- Opening and saving blend-files.
- Browsing the content of other blend-files when appending or linking data-blocks
  (see [Linked Libraries](../files/linked_libraries/index.xhtml)).
- Importing from/exporting to other file formats.
- Updating the locations of previously imported media (images, videos, fonts…).

The most common way to use this editor is through modal operators (like opening or saving a blend-file).
The File Browser will appear in a new window, wait for you to select a file, and then close again.

You can also use the File Browser like a regular, permanently visible editor. In fact,
the predefined Video Editing [workspace](../interface/window_system/workspaces.xhtml) uses it this way.
This lets you drag-and-drop media from the browser straight into e.g. the
[3D Viewport](3dview/introduction.xhtml) or the
[Video Sequencer](video_sequencer/introduction.xhtml), saving you some overhead.

[image reference removed]

The File Browser.
user: What is Visibility and how is it used in Blender Python scripting?

assistant: ### Ray Visibility

Objects can be set to be invisible to particular ray types.
This can be used, for example, to make an emitting mesh invisible to camera rays.
For instanced objects, visibility is inherited; if the parent object is hidden for some ray types,
the children will be hidden for these too.

In terms of performance, using these options is more efficient that using a shader node setup
that achieves the same effect.

Camera
:   Makes the object visible to the [Camera](../../cameras.html);
    this includes the viewport’s perspective in viewport rendering.

Shadow
:   Enables the object to cast shadows. The object will not be capture inside the shadow maps.

### Light Probes

Objects can be set to not be captured by certain [light probe](../light_probes/index.html).
This can be used, for example, to avoid animated object being recorded into static light probes.
For instanced objects, visibility is inherited; if the parent object is hidden for some ray types,
the children will be hidden for these too.

Volume
:   Makes the object visible during light probe volumes [baking](../light_probes/volume.html#eevee-lightprobe-volume-bake).

Sphere
:   Makes the object visible during light probe sphere capture.

Plane
:   Makes the object visible during light probe plane capture.
user: How do I use Custom Brush Shortcuts in Blender? Include parameters, examples, warnings and best practices.

assistant: To give a brush a shortcut, simply right click it in the asset shelf or brush selector popup, and
select *Assign Shortcut*. To modify or remove an existing shortcut, select *Change Shortcut* or
*Remove Shortcut* accordingly.
user: Provide the full official documentation entry for Properties, preserving all code examples.

assistant: Level
:   H (Hue), S (Saturation), V (Value)

Curve
:   For the curve controls see: [Curve widget](../../../../interface/controls/templates/curve.xhtml#ui-curve-widget).
    By default, the curve is a straight line, meaning there is no change.
    The spectrum allows you to raise or lower HSV levels for each range of pixel colors.
    To change an H, S, or V level, move the curve points up or down. Pixels with hue values each
    point in the horizontal position of the graph will be changed depending on the shape of the curve.
user: Describe Sidebar from the Blender manual or Python API, including usage steps and snippets.

assistant: The *Sidebar* (on the right side of the editor area)
contains [Panels](tabs_panels.xhtml#ui-panels)
with settings of objects within the editor and the editor itself.
`N` toggles the visibility of the Sidebar.
user: What is Options and how is it used in Blender Python scripting?

assistant: As the modifier is only a container its actual options are configured in the *Particle Properties* tab.
See the [Particle Systems Properties](../../../physics/particles/index.html) for more information.
user: Give a detailed overview of References: syntax, arguments, return values, common patterns.

assistant: |  |  |
| --- | --- |
| - [`BlendData.window_managers`](bpy.types.BlendData.html#bpy.types.BlendData.window_managers "bpy.types.BlendData.window_managers") | - [`Context.window_manager`](bpy.types.Context.html#bpy.types.Context.window_manager "bpy.types.Context.window_manager") |
user: Provide the full official documentation entry for References, preserving all code examples.

assistant: |  |  |
| --- | --- |
| - [`WindowManager.xr_session_state`](bpy.types.WindowManager.html#bpy.types.WindowManager.xr_session_state "bpy.types.WindowManager.xr_session_state") - [`XrActionMaps.find`](bpy.types.XrActionMaps.html#bpy.types.XrActionMaps.find "bpy.types.XrActionMaps.find") - [`XrActionMaps.new`](bpy.types.XrActionMaps.html#bpy.types.XrActionMaps.new "bpy.types.XrActionMaps.new") | - [`XrActionMaps.new_from_actionmap`](bpy.types.XrActionMaps.html#bpy.types.XrActionMaps.new_from_actionmap "bpy.types.XrActionMaps.new_from_actionmap") - [`XrActionMaps.remove`](bpy.types.XrActionMaps.html#bpy.types.XrActionMaps.remove "bpy.types.XrActionMaps.remove") |
user: What is Attaching a Crash Log and how is it used in Blender Python scripting?

assistant: Attaching a crash log to your bug report (in the case of a hard crash) may help the development team to identify the
problem more easily. Follow the directions in [Crashes](crash.xhtml) to locate the text file and upload it to the bug
report.
user: Explain Checker Deselect in complete detail according to the official Blender documentation.

assistant: This tool applies an alternating selected/deselected checker pattern.
This only works if you already have more than one control point selected.

It works by changing the current selection so that only every Nth
control points will remain selected, starting from the active one.

Deselected
:   The number of deselected elements in each pattern repetition.

Selected
:   The number of selected elements in each pattern repetition.

Offset
:   Offset from the starting point.
user: What is Smoke Material and how is it used in Blender Python scripting?

assistant: Realistic smoke can be rendered with
the [Principled Volume](../../render/shader_nodes/shader/volume_principled.xhtml) shader.

[Smoke Material Example Animation](https://www.youtube.com/watch?v=hxV_bHG4fl8)
user: What is Forward Compatibility and how is it used in Blender Python scripting?

assistant: ### Loss of Data

Forward compatibility is inherently harder to ensure, and loss of feature should always be expected
when opening a blend-file saved with a more recent version of Blender.

A warning is shown in the UI when editing a more recent blend-file.
Trying to overwrite it (with a simple ‘Save’ operation) will also show a confirmation popup,
as this could make that loss of data permanent.

### Complete Incompatibility

When Blender switches to a new major version release (e.g. from 3.x to 4.0), there can also be major
changes that will make the blend-file fully incompatible with older versions of Blender.

In such cases, older Blender will fail opening (or appending/linking from) the newer blend-file, with a
message stating which minimal version is needed to open it.

In such cases, the last LTS release of the previous release cycle will be kept compatible with the newer
file format version, and will be usable as converter between both versions.

For example, Blender 3.6 LTS can open files from Blender 4.x, and will perform the necessary conversion
such that when re-saved from 3.6, the files become compatible with all 3.x Blender versions.
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") - [`UIList.bl_idname`](bpy.types.UIList.html#bpy.types.UIList.bl_idname "bpy.types.UIList.bl_idname") - [`UIList.list_id`](bpy.types.UIList.html#bpy.types.UIList.list_id "bpy.types.UIList.list_id") - [`UIList.layout_type`](bpy.types.UIList.html#bpy.types.UIList.layout_type "bpy.types.UIList.layout_type") - [`UIList.use_filter_show`](bpy.types.UIList.html#bpy.types.UIList.use_filter_show "bpy.types.UIList.use_filter_show") - [`UIList.filter_name`](bpy.types.UIList.html#bpy.types.UIList.filter_name "bpy.types.UIList.filter_name") | - [`UIList.use_filter_invert`](bpy.types.UIList.html#bpy.types.UIList.use_filter_invert "bpy.types.UIList.use_filter_invert") - [`UIList.use_filter_sort_alpha`](bpy.types.UIList.html#bpy.types.UIList.use_filter_sort_alpha "bpy.types.UIList.use_filter_sort_alpha") - [`UIList.use_filter_sort_reverse`](bpy.types.UIList.html#bpy.types.UIList.use_filter_sort_reverse "bpy.types.UIList.use_filter_sort_reverse") - [`UIList.use_filter_sort_lock`](bpy.types.UIList.html#bpy.types.UIList.use_filter_sort_lock "bpy.types.UIList.use_filter_sort_lock") - [`UIList.bitflag_filter_item`](bpy.types.UIList.html#bpy.types.UIList.bitflag_filter_item "bpy.types.UIList.bitflag_filter_item") - [`UIList.bitflag_item_never_show`](bpy.types.UIList.html#bpy.types.UIList.bitflag_item_never_show "bpy.types.UIList.bitflag_item_never_show") |
user: Explain Options in complete detail according to the official Blender documentation.

assistant: [image reference removed]

Shadow Visual Effect.

Shadow Color
:   Defines the shadow color.

Offset X, Y
:   Control the shadow displacement in pixels on the X and Y axis.

Scale X, Y
:   Control the size of the shadow on the X and Y axis.

Rotation
:   Sets the shadow rotation around the Grease Pencil object center
    or another object when *Use Object As Pivot* is enabled.

Object Pivot
:   When enabled, an *Object* is used by the shadow as the center of rotation.

### Blur

Blur X, Z
:   Control the blur scale in pixels on the X and Z axis.

Samples
:   Number of blur samples (0 disabled the blur effect).

### Wave Effect

When enabled, apply a wave distortion to the shadow.

Orientation
:   Sets horizontal or vertical direction for the waves.

Amplitude
:   Controls the strength and the depth of the wave.

Period
:   Controls the wave period. The time it takes to complete one cycle.

Phase
:   Shifts the wave pattern over the shadow.
user: Give a detailed overview of Inherited Properties: syntax, arguments, return values, common patterns.

assistant: |  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`StripModifier.name`](bpy.types.StripModifier.html#bpy.types.StripModifier.name "bpy.types.StripModifier.name") - [`StripModifier.type`](bpy.types.StripModifier.html#bpy.types.StripModifier.type "bpy.types.StripModifier.type") - [`StripModifier.mute`](bpy.types.StripModifier.html#bpy.types.StripModifier.mute "bpy.types.StripModifier.mute") - [`StripModifier.enable`](bpy.types.StripModifier.html#bpy.types.StripModifier.enable "bpy.types.StripModifier.enable") - [`StripModifier.show_expanded`](bpy.types.StripModifier.html#bpy.types.StripModifier.show_expanded "bpy.types.StripModifier.show_expanded") | - [`StripModifier.input_mask_type`](bpy.types.StripModifier.html#bpy.types.StripModifier.input_mask_type "bpy.types.StripModifier.input_mask_type") - [`StripModifier.mask_time`](bpy.types.StripModifier.html#bpy.types.StripModifier.mask_time "bpy.types.StripModifier.mask_time") - [`StripModifier.input_mask_strip`](bpy.types.StripModifier.html#bpy.types.StripModifier.input_mask_strip "bpy.types.StripModifier.input_mask_strip") - [`StripModifier.input_mask_id`](bpy.types.StripModifier.html#bpy.types.StripModifier.input_mask_id "bpy.types.StripModifier.input_mask_id") - [`StripModifier.is_active`](bpy.types.StripModifier.html#bpy.types.StripModifier.is_active "bpy.types.StripModifier.is_active") |
user: Give a detailed overview of BlendDataTextures(bpy_struct): syntax, arguments, return values, common patterns.

assistant: # BlendDataTextures(bpy_struct)

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

*class* bpy.types.BlendDataTextures(*bpy_struct*)
:   Collection of textures

    new(*name*, *type*)
    :   Add a new texture to the main database

        Parameters:
        :   - **name** (*string**,* *(**never None**)*) – New name for the data-block
            - **type** (enum in [Texture Type Items](bpy_types_enum_items/texture_type_items.html#rna-enum-texture-type-items)) – Type, The type of texture to add

        Returns:
        :   New texture data-block

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

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

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

    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: How do I use CurveSlice(bpy_struct) in Blender? Include parameters, examples, warnings and best practices.

assistant: # CurveSlice(bpy_struct)

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

*class* bpy.types.CurveSlice(*bpy_struct*)
:   A single curve from a curves data-block

    first_point_index
    :   The index of this curve’s first control point

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

    index
    :   Index of this curve

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

    points
    :   Control points of the curve

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

    points_length
    :   Number of control points in the curve

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

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: What is MeshUVLoop(bpy_struct) and how is it used in Blender Python scripting?

assistant: # MeshUVLoop(bpy_struct)

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

*class* bpy.types.MeshUVLoop(*bpy_struct*)
:   (Deprecated) Layer of UV coordinates in a Mesh data-block

    pin_uv
    :   Type:
        :   boolean, default False

    uv
    :   Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 2 items in [-inf, inf], default (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 NodeSocketImage(NodeSocketStandard) in a Blender add-on or script – include code.

assistant: # NodeSocketImage(NodeSocketStandard)

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

*class* bpy.types.NodeSocketImage(*NodeSocketStandard*)
:   Image socket of a node

    default_value
    :   Input value used for unconnected socket

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

    links
    :   List of node links from or to this socket.

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

        (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 NodeSocketFloatTime(NodeSocketStandard) and how is it used in Blender Python scripting?

assistant: # NodeSocketFloatTime(NodeSocketStandard)

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

*class* bpy.types.NodeSocketFloatTime(*NodeSocketStandard*)
:   Floating-point number socket of a node

    default_value
    :   Input value used for unconnected socket

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

    links
    :   List of node links from or to this socket.

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

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

assistant: Data Type
:   Float:
    :   The node will average a *Float* field.

    Vector:
    :   The node will average a *Vector* field.

Domain
:   The [attribute domain](../../attributes_reference.xhtml#attribute-domains) used for evaluate the *Value* input.
user: Show practical ways to work with Inputs in a Blender add-on or script – include code.

assistant: Path
:   The path to the CSV file. The file must be structured with one row per point and values separated by a delimiter.

Delimiter
:   The character used to separate values within each row of the CSV file,
    such as a comma (,), semicolon (;), or tab character.
user: Give a detailed overview of Basic: syntax, arguments, return values, common patterns.

assistant: # Basic

These rig types are used to generate simple single-bone features,
and for custom rigging done directly in the meta-rig.

The single-bone rig types must be applied separately to every bone even within a connected chain,
and can have connected children controlled by a different rig type.
This is unlike chain-based rig types that usually consume the whole connected chain.
user: Describe Brush Settings from the Blender manual or Python API, including usage steps and snippets.

assistant: ### General

Only Size and Auto-Masking has an impact on the brush behavior for this brush.

### Unique

Deformation
:   Deformation type that is used by the brush.

    Rotate/Twist:
    :   Rotates the mesh around the pose origin.
        When pressing `Ctrl`, the brush applies a twist rotation
        instead (and disables any IK segments that are used).

    Scale/Translate:
    :   Scale the mesh based on the pose origin.
        While holding `Ctrl` the brush moves the mesh.

    Squash/Stretch:
    :   Works similar to *Scale/Translate* however, it applies different
        scale values along different axes to achieve the stretching effect.

Rotation Origins
:   Method to set the rotation origin for the pose origin or individual IK segments.

    Topology:
    :   Sets the rotation origin automatically using the topology and shape of the mesh.

    Face Sets:
    :   Creates a pose segment per [Face Set](../editing/face_sets.xhtml#sculpting-editing-facesets), starting from the active face set.
        This can lead to the most accurate and desirable results.

    Face Sets FK:
    :   Simulates a [Forward Kinematics](../../../glossary/index.xhtml#term-Forward-Kinematics) deformation using the [Face Set](../editing/face_sets.xhtml#sculpting-editing-facesets)
        under the cursor as control.

Pose Origin Offset
:   Offset of the pose origin in relation to the brush radius.
    This is useful to manipulate areas with a lot of complex shapes like fingers.

Smooth Iterations
:   Controls the smoothness of the falloff of the deformation.

Pose IK Segments
:   Controls how many [IK segments](../../../animation/armatures/posing/bone_constraints/inverse_kinematics/introduction.xhtml#bone-constraints-inverse-kinematics)
    are going to be created for posing.
    This can be seen by a divided white line on the cursor.
    This is also useful for making curved deformations with the pose brush,
    like hair clumps and tails.

Lock Rotation when Scaling
:   When using *Scale/Translate Deformation*, do not rotate the segment; only scaling is applied.

Keep Anchor Point
:   Keeps the position of the last segment in the IK chain fixed.
    If this is disabled, the mesh can be dragged around more freely,
    creating snake like shapes.

Connected Only
:   The brush will only affect topologically connected elements.
    Disabling this will allow deforming multiple disconnected meshes at the same time,
    for example characters with clothing & shoes.

    Disabling this setting can have a big impact on performance,
    as neighboring elements will be merged internally.
    Keeping the *Max Element Distance* as low as possible
    will help counteract the performance impact.

Max Element Distance
:   Maximum distance to search for disconnected loose parts in the mesh.
user: Provide the full official documentation entry for Inputs, preserving all code examples.

assistant: Image
:   The input RGBA image to be processed.

Factor
:   Blend factor for how strongly the node affects the image.
    A value of 1.0 fully applies the effect; lower values blend with the original.

Spill Channel
:   Selects which channel to reduce:

    R:
    :   Suppress red spill.

    G:
    :   Suppress green spill (common for green screens).

    B:
    :   Suppress blue spill (common for blue screens).

Limit Method
:   Chooses the method for spill reduction:

    Simple:
    :   Compares the *Limiting Channel* channel to the others and reduces it if it is higher.

    Average:
    :   Uses the average of the other two channels to set the limit for the despill channel.

Limit Channel Simple
:   When using the *Simple* algorithm, you can choose which channel(s) to use as a reference for limiting:

    R:
    :   Use red as the reference.

    G:
    :   Use green as the reference.

    B:
    :   Use blue as the reference.

Limit Strength
:   Specifies the limiting strength of the limit channel.

### Spill Strength

If enabled, the spill strength for each color channel can be specified.
If disabled, the spill channel will have a unit scale, while other channels will be zero.

Strength
:   Specifics the spilling strength of each color channel.
user: Show practical ways to work with Online Editing in a Blender add-on or script – include code.

assistant: # Online Editing

Welcome!
This page explains the process for contributing to Blender’s documentation through our online editing workflow.
Whether you’re fixing typos or adding entirely new sections, your contributions are valuable.

Below is an overview of the online editing process.
user: What is SoundStrip(Strip) and how is it used in Blender Python scripting?

assistant: # SoundStrip(Strip)

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

*class* bpy.types.SoundStrip(*Strip*)
:   Sequence strip defining a sound to be played over a period of time

    animation_offset_end
    :   Animation end offset (trim end)

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

    animation_offset_start
    :   Animation start offset (trim start)

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

    pan
    :   Playback panning of the sound (only for Mono sources)

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

    pitch_correction
    :   Maintain the original pitch of the audio when changing playback speed

        Type:
        :   boolean, default False

    retiming_keys
    :   Type:
        :   [`RetimingKeys`](bpy.types.RetimingKeys.html#bpy.types.RetimingKeys "bpy.types.RetimingKeys") [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`RetimingKey`](bpy.types.RetimingKey.html#bpy.types.RetimingKey "bpy.types.RetimingKey"), (readonly)

    show_waveform
    :   Display the audio waveform inside the strip

        Type:
        :   boolean, default False

    sound
    :   Sound data-block used by this strip

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

    sound_offset
    :   Offset of the sound from the beginning of the strip, expressed in seconds

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

    volume
    :   Playback volume of the sound

        Type:
        :   float in [0, 100], default 1.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: How do I use Usage in Blender? Include parameters, examples, warnings and best practices.

assistant: ### Selecting a Brush and Material

In the Tool Settings select the brush, material and color type to use with the tool.
The Box tool uses *Draw Brush* types.
See [Brush Settings](../brushes/draw.html#grease-pencil-draw-common-options) for more information.

### Creating Boxes

1. Click (`LMB` or the `Pen` tip) and drag the start point.
2. Release on the desired end point.
3. After releasing you can move the start and end point by clicking and dragging on the yellow manipulators.
4. Then confirm (`Return`/`MMB`) or cancel (`Esc`/`RMB`).

While dragging you can use `Shift` to make a perfect square
or use `Alt` to create the box from a center point.

`NumpadPlus` and `NumpadMinus` or using the mouse `Wheel`
will increase or decrease the amount of points in the final box.

`F` will adjust the line thickness and `Shift`-`F` will adjust the opacity of the strokes.

|  |  |  |
| --- | --- | --- |
| <../../../../_images/grease-pencil_modes_draw_tools_box_example-01.png>   click and dragging the start point. | <../../../../_images/grease-pencil_modes_draw_tools_box_example-02.png>   Moving start and end points with manipulators. | <../../../../_images/grease-pencil_modes_draw_tools_box_example-03.png>   The box after confirming. |
user: How do I use Introduction in Blender? Include parameters, examples, warnings and best practices.

assistant: # Introduction

Montage is the technique of assembling separate clips (video, audio, text, effects) into a coherent sequence.
The importance of montage was first demonstrated by the Russian filmmaker Lev Kuleshov in the 1910s and 1920s.
Famous is the Kuleshov effect: viewers derive more meaning from the
interaction of two sequential shots than from a single shot in isolation
(see the [Wikipedia article](https://en.wikipedia.org/wiki/Kuleshov_effect) for a nice illustration).

Obviously, the first thing in assembling your timeline is importing or adding strips.
There are several ways to do this and each has its own advantages and disadvantages.

Before you can do anything with a strip, you have to select them. There are multiple ways of selecting strips.

Strips can be moved in time (left to right on the X axis) or in the display stack (bottom to top on the Y axis).

Splitting or cutting a strip will create two parts of the strip (before and after the split).
There are two variants: Split and Hold Split.

Trimming is the process of removing or adding a portion of the video at its head or tail.
This will result in a decrease or increase of the duration of the video.

Grouping is the creating of a meta strip whereby several strips are grouped together.
user: How do I use Hovering in Blender? Include parameters, examples, warnings and best practices.

assistant: The following shortcuts can be pressed while hovering the mouse cursor
over an editable field.

### Properties

|  |  |
| --- | --- |
| `Ctrl`-`C` | Copy the (single) value of the field. |
| `Ctrl`-`V` | Paste the (single) value of the field. |
| `Ctrl`-`Alt`-`C` | Copy the entire vector or color of the field. |
| `Ctrl`-`Alt`-`V` | Paste the entire vector or color of the field. |
| `RMB` | Open the context menu. |
| `Backspace` | Reset the value to its default. |
| `Minus` | Invert the value’s sign (multiply by -1.0). |
| `Ctrl`-`Wheel` | Change the value in incremental steps.  For fields with a pop-up list of values, this cycles the value. |
| `Return` | Activates menus and toggles checkboxes. |
| `Alt` | Hold while editing values to apply the change to all selected items (objects, bones, sequence-strips).  This can be used for number fields and toggles. |
user: Show practical ways to work with Example in a Blender add-on or script – include code.

assistant: The image below shows a typical shader node tree that maps a floral texture image along strokes.
The UV Along Stroke input node retrieves UV maps defined by Freestyle along generated strokes, and
passes them to the Vector input channel of the Image Texture node.
A texture image is selected in the Image Texture node,
and its color is inputted to the Alpha channel of the Line Style Output node.
Since the Alpha Factor is set to one, the texture image replaces the base alpha transparency of the active line style
(shown in the Freestyle Line Style panel).
On the other hand, the Mix blend mode is selected in the Line Style Output node with the Color Factor set to zero,
so that the gradient line color specified in the active line style is applied along strokes.

[image reference removed]

Example of Line Style Nodes
([blend-file](https://archive.blender.org/wiki/2015/index.php/File:Blender_272_textured_strokes_in_cycles.blend)).

It is noted that the texture image `FS_floral_brush.png`
shown in the screen capture is an example of Freestyle brush images with tips.
Specifically, the upper half of the image is used as a seamless horizontal tile of the stroke body.
Whereas the parts in the lower half are tips (stroke caps) at both ends of the stroke.
user: Explain Geometry Node in complete detail according to the official Blender documentation.

assistant: # Geometry Node

[image reference removed]

The *Geometry* node gives geometric information about the current shading point.
All vector coordinates are in *World Space*. For volume shaders,
only the position and incoming vector are available.
user: How do I use Example in Blender? Include parameters, examples, warnings and best practices.

assistant: The image below shows the difference between rotating an object
around the 3D Cursor (left) and rotating it around the
[Median Point](median_point.xhtml) (right).

[image reference removed]

Rotation around the 3D Cursor compared to the Median Point.
user: Give a detailed overview of Bpy.Types.Curves: syntax, arguments, return values, common patterns.

assistant: verridable_library bpy_struct.is_property_readonly bpy_struct.is_property_set bpy_struct.items bpy_struct.keyframe_delete bpy_struct.keyframe_insert bpy_struct.keys bpy_struct.path_from_id bpy_struct.path_from_module bpy_struct.path_resolve bpy_struct.pop bpy_struct.property_overridable_library_set bpy_struct.property_unset bpy_struct.rna_ancestors bpy_struct.type_recast bpy_struct.values ID.bl_system_properties_get ID.rename ID.evaluated_get ID.copy ID.asset_mark ID.asset_clear ID.asset_generate_preview ID.override_create ID.override_hierarchy_create ID.user_clear ID.user_remap ID.make_local ID.user_of_id ID.animation_data_create ID.animation_data_clear ID.update_tag ID.preview_ensure ID.bl_rna_get_subclass ID.bl_rna_get_subclass_py References ¶ BlendData.hair_curves BlendDataHairCurves.new BlendDataHairCurves.remove Curves.unit_test_compare Next CurvesModifier(StripModifier) Previous CurveSplines(bpy_struct) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page Curves(ID) Curves Curves.animation_data Curves.attributes Curves.color_attributes Curves.curve_offset_data Curves.curves Curves.materials Curves.normals Curves.points Curves.position_data Curves.selection_domain Curves.surface Curves.surface_collision_distance Curves.surface_uv_map Curves.use_mirror_x Curves.use_mirror_y Curves.use_mirror_z Curves.use_sculpt_collision Curves.add_curves() Curves.remove_curves() Curves.resize_curves() Curves.reorder_curves() Curves.set_types() Curves.unit_test_compare() Curves.bl_rna_get_subclass() Curves.bl_rna_get_subclass_py() Inherited Properties Inherited Functions References
user: Describe Introduction from the Blender manual or Python API, including usage steps and snippets.

assistant: # Introduction

Blender lets you animate almost any property, going from the X coordinate of an object to the
transparency of a material. The evolution of a property’s value over time is described by
a *function curve*, or F-Curve for short.

An important aspect of F-Curves is that they can interpolate. This saves you the effort of
manually configuring a value on every single frame, which would be highly impractical.
Instead, you define just a few values on key frames, and let the curve calculate the
values on all the other frames.

[image reference removed]

Example of interpolation.

The example curve on the right has two such keyframes (indicated by black dots):
one on frame 0 with value 0, and another on frame 25 with value 10.
The curve automatically calculates the values for the other frames,
such as for frame 5 where the value is 2.
user: Explain Mask Node in complete detail according to the official Blender documentation.

assistant: # Mask Node

[image reference removed]

The Mask node can be used to select a [Mask data-block](../../../movie_clip/masking/index.html).
This node can be used with other nodes, for example to Invert, Multiply or Mix, or used as a factor input.
user: Give a detailed overview of Outputs: syntax, arguments, return values, common patterns.

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: Explain Instance Bounds Node in complete detail according to the official Blender documentation.

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: What is SpreadsheetColumnID(bpy_struct) and how is it used in Blender Python scripting?

assistant: # SpreadsheetColumnID(bpy_struct)

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

*class* bpy.types.SpreadsheetColumnID(*bpy_struct*)
:   Data used to identify a spreadsheet column

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

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: Value
:   The immediate value of each primitive to blur.

Iterations
:   Number of repetitions of mixing value with neighbors. Each iteration is independent.
    Until one iteration is completed, its results are not used as a source for next blurring.

Weight
:   Weight of each primitive.
user: Show practical ways to work with Tooltips in a Blender add-on or script – include code.

assistant: [image reference removed]

Tooltip of the Renderer selector in the Info Editor.

After hovering the mouse cursor over a button or setting for a few moments, a tooltip will appear.

### Elements

The context-sensitive tooltip might contain some of these elements:

Short Description
:   Related details depending on the control.

Shortcut
:   A keyboard or mouse shortcut associated to the tool.

Value
:   The value of the property.

    Hovering over a color property will display a large swatch preview of the color and the color’s hexadecimal, RGBA,
    and HSVA values.

    [image reference removed]

    Tooltip showing color information.

Library
:   Source file of the active object. See also [Linked Libraries](../files/linked_libraries/index.xhtml).

Disabled (red)
:   The reason why the value is not editable.

Python
:   When [Python Tooltips](../editors/preferences/interface.xhtml#bpy-types-preferencesview-show-tooltips-python) are enabled, a Python expression is
    displayed for [scripting](../advanced/scripting/index.xhtml#scripting-index) (usually an operator or property).
user: Provide the full official documentation entry for References, preserving all code examples.

assistant: |  |  |
| --- | --- |
| - [`CurveMapping.curves`](bpy.types.CurveMapping.html#bpy.types.CurveMapping.curves "bpy.types.CurveMapping.curves") | - [`CurveMapping.evaluate`](bpy.types.CurveMapping.html#bpy.types.CurveMapping.evaluate "bpy.types.CurveMapping.evaluate") |
user: What is Inputs and how is it used in Blender Python scripting?

assistant: The inputs of the node are dynamic. Some inputs are only available for certain operations.
For instance, the *Addend* input is only available for the *Multiply Add* operator.

Value
:   Input Value. Trigonometric functions read this value as radians.

Addend
:   Input Addend.

Base
:   Input Base.

Exponent
:   Input Exponent.

Epsilon
:   Input Epsilon.

Distance
:   Input Distance.

Min
:   Input Minimum.

Max
:   Input Maximum.

Increment
:   Input Increment.

Scale
:   Input Scale.

Degrees
:   Input Degrees.

Radians
:   Input Radians.
user: Give a detailed overview of Mask Filters: syntax, arguments, return values, common patterns.

assistant: Similarly to other [Filter Tools](../introduction/filters.xhtml),
mask filters are operations that are applied to the whole mask.

Type
:   Smooth/Sharpen Mask
    :   Changes the sharpness of the mask edge.
        Using this can be faster and more consistent than smoothing the mask
        with the [Mask](../brushes/mask.xhtml) brush.

    Grow/Shrink Mask
    :   Further grow or shrink the mask along the surface of the mesh.

    Increase/Decrease Contrast
    :   Changes the contrast of the mask.

In the [Adjust Last Operation](../../../interface/undo_redo.xhtml#bpy-ops-screen-redo-last) panel there are further options
to add iterations for a stronger effect.

Iterations
:   The number of times the filter is applied.

Auto Iteration Count
:   Use an automatic number of iterations based on the number of vertices of the sculpt.
    Disable this option to set the Iterations manually.