PGCRYPT/OpenBlender_Train huggingface dataset:
user: How do I use Copy/Paste in Blender? Include parameters, examples, warnings and best practices.

assistant: Use `Ctrl`-`C` to copy the selected keyframes and `Ctrl`-`V` to paste them.
After pasting, the [Adjust Last Operation](../../../interface/undo_redo.xhtml#bpy-ops-screen-redo-last) panel provides some extra options:

Frame Offset
:   Offsets the pasted keyframes horizontally so that…

    Frame Start
    :   …the first one lands on the current frame.

    Frame End
    :   …the last one lands on the current frame.

    Frame Relative
    :   …they land at the same distance from the current frame as when they were copied.

    No Offset
    :   …they stay at their original frames.

Value Offset
:   Offsets the pasted keyframes vertically so that…

    Left Key
    :   …the first one has the value of the existing keyframe to the left of the Playhead.

    Right Key
    :   …the last one has the value of the existing keyframe to the right of the Playhead.

    Current Frame Value
    :   …the first one has the value of the curve at the current frame.

    Cursor Value
    :   …the first one has the value of the [2D Cursor](../introduction.xhtml#graph-editor-2d-cursor).

    No Offset
    :   …they keep their original values.

Type
:   Mix
    :   Integrates the pasted keyframes with existing ones, only overwriting those that share a frame.

    Overwrite All
    :   Removes all previous keyframes in the target F-Curves.

    Overwrite Range
    :   Within each F-Curve, remove the existing keyframes that are in the range of the keyframes
        pasted into it.

    Overwrite Entire Range
    :   Within each F-Curve, remove the existing keyframes that are in the range of all pasted
        keyframes combined.

Flipped
:   If you copied keyframes from one or more pairs of
    [symmetrically opposite bones](../../../animation/armatures/bones/editing/naming.xhtml),
    enabling this option will paste the keyframes of the left bones into the curves of the right ones
    and vice versa. In addition, the values are inverted, effectively mirroring the animation.
user: How do I use Making Single User in Blender? Include parameters, examples, warnings and best practices.

assistant: When a data-block is shared between several users, you can make a copy of it for a given user.
To do so, click on the user count button to the right of its name.
This will duplicate that data-block and assign the newly created copy to that usage only.
user: Give a detailed overview of Effects: syntax, arguments, return values, common patterns.

assistant: [image reference removed]

Effects panel.

This is a special feature for “Paint” type surface.
It generates animated movement on canvas surface.

Effects
:   Spread
    :   Paint slowly spreads to surrounding points eventually filling all connected areas.

    Drip
    :   Paint moves in specific direction specified by Blender force fields,
        gravity and velocity with user-defined influences.

    Shrink
    :   Painted area slowly shrinks until disappears completely.

For spread and drip effects, only “wet paint” is affected, so as the paint dries,
movement becomes slower until it stops.
user: How do I use Set Grid Transform Node in Blender? Include parameters, examples, warnings and best practices.

assistant: # Set Grid Transform Node

[image reference removed]

The *Set Grid Transform* node defines the spatial transform of a voxel grid,
converting its index space (voxel coordinates) into object space.

By default, voxel grids use a transform that maps integer voxel indices
directly to object space coordinates. This node allows specifying a custom
transform, enabling operations such as repositioning, rotating, or scaling
a grid relative to an object or scene.
user: Show practical ways to work with Window Options in a Blender add-on or script – include code.

assistant: `-w`, `--window-border`
:   Force opening with borders.

`-W`, `--window-fullscreen`
:   Force opening in full-screen mode.

`-p`, `--window-geometry` `<sx>` `<sy>` `<w>` `<h>`
:   Open with lower left corner at `<sx>`, `<sy>` and width and height as `<w>`, `<h>`.

`-M`, `--window-maximized`
:   Force opening maximized.

`-con`, `--start-console`
:   Start with the console window open (ignored if `-b` is set), (Windows only).

`--no-native-pixels`
:   Do not use native pixel size, for high resolution displays (MacBook `Retina`).

`--no-window-focus`
:   Open behind other windows and without taking focus.
user: What is Properties and how is it used in Blender Python scripting?

assistant: Type
:   *Bands* or *Rings* shaped waves.

Bands/Rings Direction
:   The axis the bands or rings propagate from i.e. which axis they are perpendicular to.
    When using *Bands* a *Diagonal* axis is an option and when using *Rings* the rings
    can propagate outwards from a single point by using *Spherical* direction.

Wave Profile
:   Controls the look of the wave type.

    Saw:
    :   Uses a sawtooth profile.

    Sine:
    :   Uses the standard sine profile.
user: Provide the full official documentation entry for Usage, preserving all code examples.

assistant: Start by loading a video file into the [Movie Clip Editor](../../../editors/clip/introduction.xhtml),
registering the physical object in the [Objects Panel](../../../movie_clip/tracking/clip/sidebar/track/objects.xhtml),
and using [motion tracking](../../../movie_clip/tracking/introduction.xhtml) to track at least
eight [markers](../../../movie_clip/tracking/clip/marker.xhtml) on that physical object.
Then use [Solve Camera/Object Motion](../../../movie_clip/tracking/clip/editing/track.xhtml#bpy-ops-clip-solve-camera) to reconstruct the motion of the physical object,
and finally add this constraint to a Blender object.
user: Show practical ways to work with GeometryNodeUVUnwrap(GeometryNode) in a Blender add-on or script – include code.

assistant: # GeometryNodeUVUnwrap(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.GeometryNodeUVUnwrap(*GeometryNode*)
:   Generate a UV map based on seam edges

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

        Returns:
        :   Result

        Return type:
        :   boolean

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

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

        Returns:
        :   result

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

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

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

        Returns:
        :   result

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

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Give a detailed overview of Lens: syntax, arguments, return values, common patterns.

assistant: Focal Length
:   The focal length with which the movie was shot.
    It can be set in millimeters or pixels.

Optical Center
:   Defines the optical center (also known as the *principal point*) of the lens used by the camera.
    In most cases this coincides with the center of the image, but certain lenses may have
    an offset optical center. Refer to the specifications of camera or lens used if needed.

    The values are given in normalized image coordinates.

Lens Distortion
:   Mathematical function to convert distorted to undistorted coordinates.

    Polynomial:
    :   Polynomial radial distortion. Uses three distortion coefficients: K1, K2, and K3.

    Division:
    :   It defines high distortions, which makes this model suitable much better for cameras with fisheye lenses.
        Use two distortion coefficients: K1, K2.

    Nuke:
    :   Distortion model used by the Nuke compositor. Use two distortion coefficients K1, K2.

    Brown:
    :   Brown-Conrady is one of most advanced mathematical lens distortion models.
        Used to model both radial and tangential distortion. Can use up to four
        radial distortion coefficients: K1 - K4 and up to two tangential distortion coefficients: P1 and P2.

Coefficients
:   Coefficients are used to compensate for lens distortion when the movie was shot.
    Currently these values can be tweaked by hand only (there are no calibration tools yet)
    using tools available in Distortion mode. To do this tweak K1 until the solving is the closest to
    the known focal length (but also take grid and annotations into account
    to prevent “impossible” distortion).

    Radial Distortion Coefficients (K1 - K4)
    :   The coefficients in lens distortion models work independent from each other.
        Positive values will give a barrel distortion while negative values give a pincushion distortion.
        With a mixture of both negative and positive coefficients you can define more complicated
        mustache distortions or other complex distortions, that are less common but not rare.

        [image reference removed]

        Example of radial distortion for positive and negative K coefficients.

    Tangential Distortion Coefficients (P1, P2)
    :   Works independent and allow to compensate for situations when the sensor is not
        perpendicular to a group of lens. The optical center (also called principal point)
        will be shifted (distorted) from the center of the sensor.
        P1 is used to compensate for sensor rotation in Z (vertical) axes,
        while P2 is for compensating sensor rotation in X (horizontal) axes.
        Such distortions can be found in sources from cameras with a sensor stabilization system.

        [image reference removed]

        Example of tangential distortion for P coefficients.
user: How do I use GeometryNodeSetPosition(GeometryNode) in Blender? Include parameters, examples, warnings and best practices.

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

assistant: Opens a pop-up menu with operators to remove geometry from the Grease Pencil object.

Frames
:   Deletes all the strokes at the current frame and in the current layer/channel.

### Delete

Deletes the selected points.
When only one point remains, there is no more visible stroke,
and when all points are deleted, the stroke itself is deleted.

### Dissolve

Dissolving removes points between other points and connect the remaining points.

`Ctrl`-`X` Opens a pop-up to choose the dissolve type.

Dissolve
:   Deletes the selected points without splitting the stroke.
    The remaining points in the strokes stay connected.

Dissolve Between
:   Deletes all the points between the selected points without splitting the stroke.
    The remaining points in the strokes stay connected.

Dissolve Unselect
:   Deletes all the points that are not selected in the stroke without splitting the stroke.
    The remaining points in the strokes stay connected.

### Delete Active Keyframe (Active Layer)

Deletes all the strokes at the current frame in the active layer.

### Delete Active Keyframes (All Layers)

Deletes all the strokes at the current frame in all layer.
user: Describe Navigating from the Blender manual or Python API, including usage steps and snippets.

assistant: While performing a transformation, you can perform navigation actions such as zooming,
panning, or rotating by holding `Alt` then perform the desired action.

This behavior can be changed through the *Transform Navigation with Alt* setting
in the [Keymap](../../editors/preferences/keymap.html) Preferences.
user: Describe Options from the Blender manual or Python API, including usage steps and snippets.

assistant: [[image reference removed]](../../../_images/modeling_modifiers_deform_corrective-smooth_panel.png)

The Smooth Corrective modifier.

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

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

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

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

Smooth Type
:   Select the smoothing method used.

    Simple
    :   This simply relaxes vertices to their connected edges.

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

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

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

Pin Boundaries
:   Prevent boundary vertices from smoothing.

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

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

    Bind Coordinates
    :   Optionally you may bind the modifier to a specific state.
        This is required when there are constructive modifiers such as *Subdivision Surface* or *Mirror*
        in the stack before this modifier.
user: What is Accessibility and how is it used in Blender Python scripting?

assistant: Reduce Motion
:   Avoids interface animations and motion effects.
    This option helps reduce visual distractions and can improve comfort for
    users sensitive to motion or those who prefer a more static interface.
user: How do I use GeometryNodeFieldToGridItems(bpy_struct) in Blender? Include parameters, examples, warnings and best practices.

assistant: # GeometryNodeFieldToGridItems(bpy_struct)

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

*class* bpy.types.GeometryNodeFieldToGridItems(*bpy_struct*)
:   Collection of field to grid items

    new(*socket_type*, *name*)
    :   Add an item at the end

        Parameters:
        :   - **socket_type** (enum in [Node Socket Data Type Items](bpy_types_enum_items/node_socket_data_type_items.html#rna-enum-node-socket-data-type-items)) – Socket Type, Socket type of the item
            - **name** (*string**,* *(**never None**)*) – Name

        Returns:
        :   Item, New item

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

    remove(*item*)
    :   Remove an item

        Parameters:
        :   **item** ([`GeometryNodeFieldToGridItem`](bpy.types.GeometryNodeFieldToGridItem.html#bpy.types.GeometryNodeFieldToGridItem "bpy.types.GeometryNodeFieldToGridItem"), (never None)) – Item, The item to remove

    clear()
    :   Remove all items

    move(*from_index*, *to_index*)
    :   Move an item to another position

        Parameters:
        :   - **from_index** (*int in* *[**0**,* *inf**]*) – From Index, Index of the item to move
            - **to_index** (*int in* *[**0**,* *inf**]*) – To Index, Target index for the item

    *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 Move on Axis and how is it used in Blender Python scripting?

assistant: Moves selected UV coordinates along a chosen axis by a specified distance.
This operator is designed for precise UV adjustments and supports multiple
movement modes. It is especially useful when combined with the number pad keys
for quick directional nudging.

Use the following shortcuts to move UVs directly from the keyboard:

- `Numpad8` / `Numpad2`: Move up or down.
- `Numpad4` / `Numpad6`: Move left or right.

Type
:   The movement unit type.

    Dynamic:
    :   Move using the active grid size.
        Holding `Ctrl` while pressing a number pad key activates this mode.

    Pixel:
    :   Move by pixel increments.
        Holding `Shift` while pressing a number pad key activates this mode.

    UDIM:
    :   Move by full UV tiles (1.0 UV unit).
        Using the number pad keys with no modifying keys uses this mode.

Axis
:   The axis along which to move the UVs.

    X Axis:
    :   Move vertices horizontally.

    Y Axis:
    :   Move vertices vertically.

Distance
:   The distance to move the UVs, measured in the selected unit type.
user: Explain Camera and Object Motion Solving in complete detail according to the official Blender documentation.

assistant: Blender not only supports the solving of camera motion, including tripod shots,
but also the solving of object motion in relation to the motion of the camera.
In addition to that there is the Plane Track, which solves the motion of all markers on one plane.
user: How do I use Splash Screen in Blender? Include parameters, examples, warnings and best practices.

assistant: # Splash Screen

When starting Blender, the splash screen appears in the center of the window.
It contains options to create new projects or open recent ones.
A more detailed description can be found below.

[image reference removed]

Blender Splash Screen.

To close the splash screen and start a new project,
click anywhere outside the splash screen (but inside the Blender window) or press `Esc`.
The splash screen will disappear revealing the default screen.
To reopen the splash screen, click on the Blender icon in the Topbar and select *Splash Screen*.
user: Provide the full official documentation entry for Enabling Add-on, preserving all code examples.

assistant: This add-on is enabled by default, in case it is not:

1. Open Blender and go to [Add-ons](../../editors/preferences/addons.html) section of the [Preferences](../../editors/preferences/index.html).
2. Search “BioVision Motion Capture (BVH) format” and check the *Enable Add-on* checkbox.
user: Provide the full official documentation entry for NodeClosureOutputItems(bpy_struct), preserving all code examples.

assistant: # NodeClosureOutputItems(bpy_struct)

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

*class* bpy.types.NodeClosureOutputItems(*bpy_struct*)
:   new(*socket_type*, *name*)
    :   Add an item at the end

        Parameters:
        :   - **socket_type** (enum in [Node Socket Data Type Items](bpy_types_enum_items/node_socket_data_type_items.html#rna-enum-node-socket-data-type-items)) – Socket Type, Socket type of the item
            - **name** (*string**,* *(**never None**)*) – Name

        Returns:
        :   Item, New item

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

    remove(*item*)
    :   Remove an item

        Parameters:
        :   **item** ([`NodeClosureOutputItem`](bpy.types.NodeClosureOutputItem.html#bpy.types.NodeClosureOutputItem "bpy.types.NodeClosureOutputItem"), (never None)) – Item, The item to remove

    clear()
    :   Remove all items

    move(*from_index*, *to_index*)
    :   Move an item to another position

        Parameters:
        :   - **from_index** (*int in* *[**0**,* *inf**]*) – From Index, Index of the item to move
            - **to_index** (*int in* *[**0**,* *inf**]*) – To Index, Target index for the item

    *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 Interface: syntax, arguments, return values, common patterns.

assistant: Color Picker
:   The large color field lets you pick two color components at once, depending on the selected picker type.
    The third component (such as value or saturation) is controlled with a slider next to the color field.

    The picker’s appearance and behavior depend on the type chosen in the Preferences; see [Types](#types) below.

Value/Lightness
:   The vertical slider with a gradient background defines the brightness or lightness of the selected color.
    You can scroll the `Wheel` for fine adjustments or click and drag the handle.

Below the color picking widget are a few options, the first affects how the color component’s values are computed.

Linear:
:   Displays color component values in the scene’s [linear working](../../../render/color_management/color_spaces.xhtml#bpy-types-blendfilecolorspace-working-space)
    color space used internally for rendering and compositing.

Perceptual:
:   Displays color component values in the color picking space (*sRGB* by default),
    which matches the visual appearance of the color widgets and is more intuitive for user selection.

The next set of options change the [Color Model](../../../glossary/index.xhtml#term-Color-Model) that is used.
The available options depend on the [Color Picker Type](../../../editors/preferences/interface.xhtml#bpy-types-preferencesview-color-picker-type).

RGB:
:   Defines a color by directly mixing *Red*, *Green*, and *Blue* components.

HSV/HSL:
:   Defines a color by adjusting *Hue*, *Saturation*, and *Value* (or Lightness).
    Useful for adjusting color tone and intensity independently.

Component Values
:   The numeric fields below the picker show the component values (RGB or HSV/HSL).
    Blender expresses these in the range **0.0 to 1.0**.
    For color inputs that include an [Alpha Channel](../../../glossary/index.xhtml#term-Alpha-Channel), an additional slider and field are shown.

Hex
:   Displays or accepts the color’s hexadecimal (hex) representation.
    Hex shorthand notation can be used (for example, `FC0` for `FFCC00`).

Eyedropper
:   Samples a color from anywhere inside the Blender window using the [Eyedropper](../buttons/eyedropper.xhtml#ui-eyedropper).

    The sampled colors are read in **linear color space**, so they do not account for display transformations
    such as view or exposure adjustments.
    Sampling colors from overlays, reference images, or video preview regions may be inaccurate
    since those may be drawn after color management transforms.
user: What is Cloth with Animated Vertex Groups and how is it used in Blender Python scripting?

assistant: Cloth with animated pinned vertices:
[Regression blend-file](https://archive.blender.org/wiki/2015/index.php/File:Cloth_anim_vertex.blend).
Unsupported: Starting with a goal of 0 and increasing it,
but still having the vertex not pinned will **not** work (e.g. from goal = 0 to goal = 0.5).
user: Explain Spreadsheet in complete detail according to the official Blender documentation.

assistant: # Spreadsheet

The Spreadsheet editor is used to inspect the geometry attributes of the [active](../glossary/index.html#term-Active) object,
typically in order to debug [geometry nodes](../modeling/geometry_nodes/introduction.html).

[image reference removed]

The Spreadsheet editor.
user: Explain Inputs in complete detail according to the official Blender documentation.

assistant: Vector
:   Texture coordinate to sample texture at;
    defaults to Generated texture coordinates if the socket is left unconnected.

Scale
:   Overall texture scale.

Distortion
:   Amount of distortion of the wave.

Detail
:   Amount of distortion noise detail.

Detail Scale
:   Scale of distortion noise.

Roughness
:   Blend between a smoother noise pattern, and rougher with sharper peaks.

Phase Offset
:   Position of the wave along the *Bands Direction*.
    This can be used as an input for more control over the distortion.
user: Give a detailed overview of Cube: syntax, arguments, return values, common patterns.

assistant: Adds a standard cube mesh composed of six quad faces, eight vertices, and twelve edges.
This is one of the most basic and frequently used primitives in modeling,
serving as a starting point for creating boxes, crates, buildings, or sculpting bases.

Size
:   Sets the total width, height, and depth of the cube (i.e., the full diameter along each axis).
    A size of 2 creates a cube that spans from -1 to +1 on all axes.
user: Describe Delete Tracks from the Blender manual or Python API, including usage steps and snippets.

assistant: Deletes the selected tracks and the strips they contain.

When using the keyboard shortcuts, make sure the mouse cursor is hovering over the track region,
as otherwise, Blender will only delete the selected strips.
user: How do I use Force Fields in Blender? Include parameters, examples, warnings and best practices.

assistant: Soft body vertices interact with all the [Force Fields](../../forces/force_fields/index.xhtml)
applied (usually to particles) in the layer, such as wind, force fields,
and what ever physics field effect is on a common layer.

### Soft Body Field Weights

The *Soft Body Field Weights* panel allows you to control how much influence
each type of external force field has on the soft body system.

Effector Collection
:   Limit effectors to a specified group. Only effectors in this group will have an effect on the current system.

Gravity
:   Control how much the Global Gravity has an effect on the system.

All
:   Scale all of the effector weights.
user: Provide the full official documentation entry for Multicam Selector Strip, preserving all code examples.

assistant: # Multicam Selector Strip

The Multicam Selector strip is used for multi-camera editing.
Multi-camera editing is when a scene is recorded using multiple cameras from different angles
and then edited together afterwards.
user: Give a detailed overview of Duplicate Active Keyframe (Active Layer): syntax, arguments, return values, common patterns.

assistant: Duplicates the strokes on the last keyframe by copying them to the current frame.

Mode
:   Pick which layers to duplicate.

    Active:
    :   Duplicate only the active layer.

    All:
    :   Duplicate all the layers.
user: Explain Radius Node in complete detail according to the official Blender documentation.

assistant: # Radius Node

[image reference removed]

The *Radius* node outputs the radius value at each point on the evaluated geometry.
For curves, this value is used for things like determining the size of the mesh created in
the [Curve to Mesh](../../curve/operations/curve_to_mesh.html) node.
For point clouds, the value is used for the display size of the point in the viewport.
user: Show practical ways to work with Toolbar in a Blender add-on or script – include code.

assistant: # Toolbar

The following tools are available in Edit Mode:

[Select](../../../interface/selecting.html)
:   Select control points.

Cursor
:   Change the location of the [3D Cursor](../../../editors/3dview/3d_cursor.html).

Move
:   Translation tool.

Rotate
:   Rotation tool.

Scale
:   Scale tool.

    [Scale Cage](../../../scene_layout/object/tools/scale_cage.html)
    :   Editable bounding box for scaling control points.

Transform
:   Combined tool for translating, rotating, and scaling.

[Annotate](../../../interface/annotate_tool.html)
:   Draw free-hand annotations.

[Measure](../../../editors/3dview/toolbar/measure.html)
:   Measure distances in the scene.

[Shear](../../meshes/editing/mesh/transform/shear.html)
:   Shear control points along a certain axis.
user: Explain Surface Primitives in complete detail according to the official Blender documentation.

assistant: # Surface Primitives

The *Add Surface* menu offers the following primitives:

|  |  |
| --- | --- |
| ../../_images/modeling_surfaces_primitives_curve.png   NURBS curve primitives. | ../../_images/modeling_surfaces_primitives_surface.png   NURBS surface primitives. |

NURBS Curve
:   Adds a simple curve of four control points forming an arc.

NURBS Circle
:   Adds a closed loop of control points forming a circle.

NURBS Surface
:   Adds a simple surface patch consisting of a 4×4 grid with the center points slightly raised.

NURBS Cylinder
:   Adds an open cylinder, consisting of an extruded *NURBS Circle*.

NURBS Sphere
:   Adds a generic sphere constructed from control points arranged in a cube.

NURBS Torus
:   Adds a doughnut-shaped primitive created by rotating a circle around an axis.
user: Show practical ways to work with Gamma Node in a Blender add-on or script – include code.

assistant: # Gamma Node

[image reference removed]

Use this node to apply a gamma correction. The node is typically used to convert from gamma encoded to linear
color space, or in the reverse direction with 1/gamma.
user: Give a detailed overview of Editing UVs: syntax, arguments, return values, common patterns.

assistant: # Editing UVs

After unwrap, you will likely need to arrange the UV maps,
so that they can be used in texturing or painting. Your goals for editing are:

- Stitch pieces (of UV maps) back together.
- Minimize wasted space in the image.
- Enlarge the faces where you want more detail.
- Re-size/enlarge the faces that are stretched.
- Shrink the faces that are too grainy and have too much detail.

With a minimum of dead space,
the most pixels can be dedicated to giving the maximum detail and fineness to the UV texture.
A UV face can be as small as a pixel (the little dots that make up an image)
or as large as an entire image. You probably want to make major adjustments first,
and then tweak the layout.
user: What is Properties and how is it used in Blender Python scripting?

assistant: Operation
:   The boolean operation to perform between the input SDF grids:

    Intersect:
    :   Keeps only the overlapping region of the two grids where both contain
        interior (negative) values.

    Union:
    :   Combines both grids by taking the minimum distance at each voxel.
        The resulting grid contains the merged shape of both inputs.

    Difference:
    :   Subtracts the second grid from the first by inverting its sign and then
        taking the maximum distance.
        Useful for cutting holes or carving one SDF out of another.
user: Describe Text Boxes from the Blender manual or Python API, including usage steps and snippets.

assistant: Text boxes (or frames) allow you to distribute the text among rectangular areas within a single text object.
An arbitrary number of freely movable and re-sizable text frames are allowed per text object.

The text flows continuously from the lowest-numbered frame to the highest-numbered frame with text
inside each frame word-wrapped.
It flows between frames when a lower-numbered frame cannot fit any more text.
If the last frame is reached, text overflows out of it (by default, see options below).

[image reference removed]

Text Boxes panel.

Add Textbox
:   Inserts a new frame, just after the current one (in text flow order).
    The new frame will have the same size and position as the selected one.

(Remove Text Block)
:   Delete the current frame.

Overflow
:   How to handle text overflowing available space in the defined boxes.

    Overflow:
    :   Just keep text running out of the last box.

    Scale to Fit:
    :   Scale text to fit into the available space.

    Truncate:
    :   Hide the end of the text that does not fit into the available space.

Size X, Y
:   Specifies the width and height of the text box, if set to **zero** no word wrapping happens
    (it is ignored, and the whole text box system is disabled if all are set to a null size).

Offset X, Y
:   Controls the *X* and *Y* offset of the frame, i.e. its position.

[image reference removed]

Multiple columns, text flowing between boxes.
user: Explain ShaderNodeMapping(ShaderNode) in complete detail according to the official Blender documentation.

assistant: # ShaderNodeMapping(ShaderNode)

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

*class* bpy.types.ShaderNodeMapping(*ShaderNode*)
:   Transform the input vector by applying translation, rotation, and scale

    vector_type
    :   Type of vector that the mapping transforms

        Type:
        :   enum in [Mapping Type Items](bpy_types_enum_items/mapping_type_items.html#rna-enum-mapping-type-items), default `'POINT'`

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

        Returns:
        :   Result

        Return type:
        :   boolean

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

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

        Returns:
        :   result

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

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

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

        Returns:
        :   result

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

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: The *Stitch* tool, will join selected UVs that share vertices.
You set the tool to limit stitching by distance in the [Adjust Last Operation](../../../interface/undo_redo.html#bpy-ops-screen-redo-last) panel,
by activating *Use Limit* and adjusting the *Limit Distance*.
user: Give a detailed overview of Elements: syntax, arguments, return values, common patterns.

assistant: Cube
:   The gray cube in the center of the scene is a [mesh](../../modeling/meshes/index.html) object.
    Its orange outline indicates that it’s selected.
    The orange dot in the center is its [Origin](../../scene_layout/object/origin.html),
    which indicates its precise location.

Light
:   The set of concentric black circles is a [light source](../../render/lights/light_object.html)
    illuminating the cube.

Camera
:   The pyramid with a big triangle above it is the [camera](../../render/cameras.html),
    which is used as the point of view for rendering.

3D Cursor
:   The [3D cursor](3d_cursor.html), a cross with a red-and-white circle,
    determines where newly added objects are placed and can also serve as a
    transformation [pivot point](controls/pivot_point/index.html).

Grid Floor
:   The gray lines forming a floor mark the zero height of the world.
    The red and green lines are the axes of the world coordinate system.
    They meet at the world origin, which is also where the origin of the *Cube* is located.
    The Grid Floor settings are in the [Viewport Overlays](display/overlays.html) popover.

### Text Info

The top left corner of the viewport shows various bits of information –
see [Viewport Overlays](display/overlays.html) for details.
user: Show practical ways to work with Features in a Blender add-on or script – include code.

assistant: - **File Browser:**
  Preconfigured to display only relevant file types, making it easier to locate and import video, image,
  and audio files.
- **Preview:**
  The Preview area provides an interactive viewer where you can select, transform, and preview strips
  directly in the video output.
- **Sequencer:**
  The Sequencer is where you assemble and edit video, image, and sound strips.
- **Properties Editor:**
  Simplified to display only essential tabs: *Render*, *Output*, *Scene*, and *Strip Modifiers*.
user: Explain Translate Blender in complete detail according to the official Blender documentation.

assistant: # Translate Blender

Bring Blender closer to everyone! 🌎 By translating Blender’s user interface, you help artists and creators worldwide
work in their native language. No coding skills are needed—just a passion for Blender and the ability to translate.
Join the translation community today and make Blender truly global!

For more information, see the [Blender UI Translation Guide](https://developer.blender.org/docs/handbook/translating/translator_guide/).
user: Provide the full official documentation entry for Interface, preserving all code examples.

assistant: ### View Menu

Area
:   Area controls. See the [user interface](../interface/window_system/areas.xhtml)
    documentation for more information.

### Info Menu

Select All `A`
:   Selects all entries.

Deselect All `Alt`-`A`
:   Deselects all entries.

Invert Selection `Ctrl`-`I`
:   Selects non-selected entries and deselects selected ones.

Toggle Selection
:   Selects all entries if there are currently no selected ones,
    and deselects them otherwise.

Box Select `B`
:   Lets you drag a box and adds the entries that overlap it to the selection.

Delete `X`, `Delete`
:   Removes the selected entries from the log.

Copy `Ctrl`-`C`
:   Copies the selected entries to the clipboard.
user: Give a detailed overview of LimitDistanceConstraint(Constraint): syntax, arguments, return values, common patterns.

assistant: # LimitDistanceConstraint(Constraint)

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

*class* bpy.types.LimitDistanceConstraint(*Constraint*)
:   Limit the distance from target object

    distance
    :   Radius of limiting sphere

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

    head_tail
    :   Target along length of bone: Head is 0, Tail is 1

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

    limit_mode
    :   Distances in relation to sphere of influence to allow

        - `LIMITDIST_INSIDE`
          Inside – The object is constrained inside a virtual sphere around the target object, with a radius defined by the limit distance.
        - `LIMITDIST_OUTSIDE`
          Outside – The object is constrained outside a virtual sphere around the target object, with a radius defined by the limit distance.
        - `LIMITDIST_ONSURFACE`
          On Surface – The object is constrained on the surface of a virtual sphere around the target object, with a radius defined by the limit distance.

        Type:
        :   enum in [`'LIMITDIST_INSIDE'`, `'LIMITDIST_OUTSIDE'`, `'LIMITDIST_ONSURFACE'`], default `'LIMITDIST_INSIDE'`

    subtarget
    :   Armature bone, mesh or lattice vertex group, …

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

    target
    :   Target object

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

    use_bbone_shape
    :   Follow shape of B-Bone segments when calculating Head/Tail position

        Type:
        :   boolean, default False

    use_transform_limit
    :   Transforms are affected by this constraint as well

        Type:
        :   boolean, default False

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: The left side of the Status Bar displays mouse button shortcuts and the keymap of the active tool.
In editors with a Toolbar, tapping `Alt` (or `Option` on macOS)
shows the hotkeys to change to a desired tool.

[image reference removed]
user: How do I use Options in Blender? Include parameters, examples, warnings and best practices.

assistant: # Options

Backface Culling
:   Use backface culling to hide backsides of faces.

X-Ray
:   Render the scene transparent. With the slider you can control how
    transparent the scene should appear.

Shadow
:   Renders a sharp shadow in the scene.

    Darkness
    :   Defines how dark the shadow should be rendered. This slider can be adjusted
        between 0 (shadow not visible) and 1 (shadow is black).

    Light Direction
    :   Controls the direction of the light source that casts the shadows.

    Shadow Shift
    :   Controls the Shadow termination angle. It can be used to limit self shadowing artifacts.

    Shadow Focus
    :   Controls the falloff near the edge of the shadow.

Depth of Field
:   Use the Depth of Field settings of the active camera in the viewport.
    Only visible when looking through the camera.

    The settings are located on Properties ‣ Camera ‣ Depth of Field panel.

Outline
:   Render the outline of objects in the viewport. The color of the outline can be adjusted.

Specular Highlighting
:   Render specular highlights.

Cavity
:   Highlight ridges and valleys in the scene geometry.

    Type
    :   How to calculate cavities.

        World:
        :   More precise but is slower to calculate.

        Screen:
        :   Fast but does not take the size of the ridges and valleys into account.

        Both:
        :   Use both methods.

    Ridge
    :   Control the visibility of ridges.

    Valley
    :   Control the visibility of valleys.
user: Give a detailed overview of Eyedropper: syntax, arguments, return values, common patterns.

assistant: # Eyedropper

The eyedropper (pipette icon) allows you to sample from anywhere in the Blender window.
The eyedropper can be used to select different kinds of data:

Color
:   This is the most common usage. The eyedropper is used to sample a pixel’s color from anywhere within Blender.

Color Ramp
:   Dragging the cursor over the window to sample a line which is converted into a color ramp.

Objects/Object-Data
:   This is used with object buttons (such as parent, constraints or modifiers) to
    select an object from the 3D Viewport or Outliner, rather than having to select it from a drop-down.

Bones
:   This is used when a subtarget to an armature can be chosen. It is possible to
    choose a bone from the 3D Viewport or from the outliner. Only bones that belong
    to the armature that was chosen as a target can be picked.

Camera Depth
:   Number fields effecting distance can also use the eyedropper.

    This is used to set the camera’s depth of field so the depth chosen is in focus.

- `E` will activate the eyedropper while hovering over a button.
- `LMB` dragging will mix the colors you drag over, which can help when sampling noisy imagery.
- `Spacebar` resets and starts mixing the colors again.
user: Describe References from the Blender manual or Python API, including usage steps and snippets.

assistant: |  |  |
| --- | --- |
| - [`MetaStrip.channels`](bpy.types.MetaStrip.html#bpy.types.MetaStrip.channels "bpy.types.MetaStrip.channels") | - [`SequenceEditor.channels`](bpy.types.SequenceEditor.html#bpy.types.SequenceEditor.channels "bpy.types.SequenceEditor.channels") |
user: Explain UV Project Modifier in complete detail according to the official Blender documentation.

assistant: # UV Project Modifier

[[image reference removed]](../../../_images/modeling_modifiers_modify_uv-project_example.jpg)

Projecting the Blender logo onto Suzanne.

The *UV Project* modifier acts like a slide projector.
It emits a UV map from the negative Z axis of a controller object
(such as an [empty object](../../empties.html)),
and applies it to the object as the “light” hits it.

[Download an example](https://archive.blender.org/wiki/2015/index.php/File:Uvproject.blend).