PGCRYPT/OpenBlender_Train huggingface dataset:
user: Show practical ways to work with UV Options in a Blender add-on or script – include code.

assistant: Live Unwrap
:   Continuously unwraps the selected UV islands while transforming pinned vertices.
    Note, this is different than the [Live Unwrap](../tools/tool_settings.html#bpy-types-toolsettings-use-edge-path-live-unwrap)
    option in the 3D Viewport.

Round to Pixels
:   During UV transforms, you can use Round to Pixels to help with matching features in the image
    or ensure your UVs have precise horizontal, vertical or diagonal alignment.

    Note that Round to Pixels is applied after any snapping modes.

    Disabled:
    :   UVs will not be rounded.

    Corner:
    :   Will force the UVs to round to the corner of the nearest pixel of an image if loaded.

    Center:
    :   Will force the UVs to round to the center of the nearest pixel of an image if loaded.

Constraining to Image Bounds
:   For standard textures, this option prevents UVs from being moved outside the 0 to 1 UV range.
    For [UDIMs](workflows/udims.html) textures,
    this option prevents UVs from being moved outside the nearest UDIM tile.
user: What is Brush Settings and how is it used in Blender Python scripting?

assistant: ### General

### Unique

Height
:   Determines the range of influence of the brush above the brush plane.
    Increasing the height affects vertices farther above the plane.

Depth
:   Determines the range of influence of the brush below the brush plane.
    Increasing the depth affects vertices farther below the plane.

Inversion Mode
:   Determines the behavior of the brush when inverted.

    Invert Displacement
    :   When inverted, the brush displaces vertices away from the brush plane, resulting in increased contrast.

    Swap Height and Depth
    :   When inverted, the roles of the *Height* and *Depth* parameters are exchanged.

        For example, if *Height* is set to 0.7 and *Depth* to 0.3, inverting the brush causes the roles of these
        parameters to be exchanged, resulting in an effective *Height* of 0.3 and *Depth* of 0.7.

Stabilize Normal
:   Controls the stability of the brush plane’s orientation. The normal of the plane is averaged over the last few
    stroke steps, with the number of steps and blending factor determined by the parameter’s value.

    When set to 0, the brush reacts immediately to changes in the in surface orientation.

    When set to 1, the plane’s orientation remains constant throughout the stroke.

    Intermediate values provide a gradual transition between these behaviors, resulting in a weighted moving average of
    plane normals.

Stabilize Plane
:   Controls the stability of the brush plane’s position. Similar to *Stabilize Normal*, it works by averaging the
    position over the previous stroke steps.

    Each position is calculated as the interpolated between the unstabilized position and its projection onto the plane
    of the previous stroke step.
user: Give a detailed overview of Interface: syntax, arguments, return values, common patterns.

assistant: ### Header

[image reference removed]

UV Editor header.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Display Channels
:   Select what color channels are displayed.

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

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

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

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

    Red, Green, Blue:
    :   Single color channel visualized as a grayscale image.
user: Provide the full official documentation entry for Mask From Mesh Boundary, preserving all code examples.

assistant: Generates a mask based on the topological islands of the mesh. The settings of the operation can be changed
in the [Adjust Last Operation](../../../interface/undo_redo.xhtml) panel.

Mode
:   Choose how the newly created mask is mixed with the existing one. By default it will replace the old mask via
    “Mix”.

Mix Factor
:   The factor of the mix effect. Choose how strong the new mask is applied on the existing one.

Automask Settings
:   The same settings as the [Auto-Masking](../controls.xhtml) settings are applied.

Propagation Steps
:   Same as [Auto-Masking](../controls.xhtml).
user: Explain Shading Type Items in complete detail according to the official Blender documentation.

assistant: # Shading Type Items

WIREFRAME:
:   Wireframe.

    Display only edges of geometry without surface shading.

SOLID:
:   Solid.

    Display objects with flat lighting and basic surface shading.

MATERIAL:
:   Material Preview.

    Preview materials using predefined environment lights.

RENDERED:
:   Rendered.

    Preview the final scene using the active render engine.
user: Explain Space Type Items in complete detail according to the official Blender documentation.

assistant: # Space Type Items

EMPTY:
:   Empty.

**General**

VIEW_3D:
:   3D Viewport.

    Manipulate objects in a 3D environment.

IMAGE_EDITOR:
:   UV/Image Editor.

    View and edit images and UV Maps.

NODE_EDITOR:
:   Node Editor.

    Editor for node-based shading and compositing tools.

SEQUENCE_EDITOR:
:   Video Sequencer.

    Non-linear editor for arranging and mixing scenes, video, audio, and effects.

CLIP_EDITOR:
:   Movie Clip Editor.

    Motion tracking tools.

**Animation**

DOPESHEET_EDITOR:
:   Dope Sheet.

    Adjust timing of keyframes.

GRAPH_EDITOR:
:   Graph Editor.

    Edit drivers and keyframe interpolation.

NLA_EDITOR:
:   Nonlinear Animation.

    Combine and layer Actions.

**Scripting**

TEXT_EDITOR:
:   Text Editor.

    Edit scripts and in-file documentation.

CONSOLE:
:   Python Console.

    Interactive programmatic console for advanced editing and script development.

INFO:
:   Info.

    Log of operations, warnings and error messages.

TOPBAR:
:   Top Bar.

    Global bar at the top of the screen for global per-window settings.

STATUSBAR:
:   Status Bar.

    Global bar at the bottom of the screen for general status information.

**Data**

OUTLINER:
:   Outliner.

    Overview of scene graph and all available data-blocks.

PROPERTIES:
:   Properties.

    Edit properties of active object and related data-blocks.

FILE_BROWSER:
:   File Browser.

    Browse for files and assets.

SPREADSHEET:
:   Spreadsheet.

    Explore geometry data in a table.

PREFERENCES:
:   Preferences.

    Edit persistent configuration settings.
user: How do I use Reroute Node in Blender? Include parameters, examples, warnings and best practices.

assistant: # Reroute Node

A node used primarily for organization.
Reroute looks and behaves much like a socket on other nodes in that it supports one input
connection while allowing multiple output connections.

To quickly add a Reroute node into an existing connection, hold `Shift` and `RMB`
while sweeping across the link to add a *Reroute node*.

[image reference removed]
user: Show practical ways to work with Example in a Blender add-on or script – include code.

assistant: Swirl Effect samples (with a Radius of 100 px).

|  |  |  |  |
| --- | --- | --- | --- |
| ../../_images/grease-pencil_visual-effects_swirl_angle-00.png   Angle: 0°. | ../../_images/grease-pencil_visual-effects_swirl_angle-15.png   Angle: 15°. | ../../_images/grease-pencil_visual-effects_swirl_angle-45.png   Angle: 45°. | ../../_images/grease-pencil_visual-effects_swirl_angle-90.png   Angle: 90°. |
user: How do I use Animation Editors in Blender? Include parameters, examples, warnings and best practices.

assistant: # Animation Editors

Blender provides a set of editors designed for creating, editing, and refining animation.
These editors let you work with keyframes, curves, non-linear actions, drivers,
video sequencing, and motion tracking as part of the animation pipeline.

Each editor serves a different purpose:

- The [Dope Sheet](../editors/dope_sheet/introduction.xhtml) organizes and manipulates keyframes
  across multiple objects and data-blocks.
- The [Graph Editor](../editors/graph_editor/introduction.xhtml) provides fine control over F-Curves
  to refine motion and interpolation.
- The [Nonlinear Animation (NLA) Editor](../editors/nla/introduction.xhtml) arranges and layers animation
  actions for complex sequencing.
- The [Drivers Editor](../editors/drivers_editor.xhtml) links properties with expressions
  for procedural animation.
- The [Movie Clip Editor](../editors/clip/introduction.xhtml) supports motion tracking, mask editing,
  and stabilization, which can be integrated into animation and compositing workflows.
- The [Video Sequence Editor](../editors/video_sequencer/introduction.xhtml) (VSE) combines
  rendered animations, image sequences, audio, and effects into a final movie edit.

Together, these editors form the backbone of Blender’s animation system –
from quick keyframe adjustments to advanced rigging, motion editing, visual effects integration,
and final shot assembly.

This page describes features that are shared across the different animation focused editors.
user: Show practical ways to work with Properties in a Blender add-on or script – include code.

assistant: Data Type
:   The type of data stored in the grid (e.g. *Float*, *Integer*, *Boolean*, or *Vector*).
    Determines both the expected data type of the *Grid* output and how it can
    be used in subsequent nodes.
user: Explain Keying Node in complete detail according to the official Blender documentation.

assistant: # Keying Node

[image reference removed]

The *Keying* node is a one-stop-shop for “green screen” / “blue screen” removal.
It performs both chroma keying to remove the backdrop and despill to correct color cast from the backdrop.
Additionally, you can perform common operations used to tweak the resulting matte.
user: Show practical ways to work with Object Collisions in a Blender add-on or script – include code.

assistant: If the cloth object needs to be deflected by some other object. To deflect a cloth,
the object must be enabled as an object that collides with the cloth object.
To enable objects to collide with cloth objects enable
[collision physics](../../collision.xhtml#physics-collision-soft-bodt-cloth)
for the collider object (not on the cloth object).

Distance
:   The distance another object must get to the cloth for
    the simulation to repel the cloth out of the way.
    Smaller values might give errors but gives some speed-up while
    larger will give unrealistic results if too large and can be slow.
    It is best to find a good in between value.

Impulse Clamping
:   Prevents explosions in tight and complicated collision situations
    by restricting the amount of movement after a collision.

Vertex Group
:   Faces that have all vertices assigned to this
    [Vertex Group](../../../modeling/meshes/properties/vertex_groups/index.xhtml) are excluded from collision with objects.

Collision Collection
:   Only objects that are a part of this [Collection](../../../scene_layout/collections/index.xhtml)
    can collide with the cloth. Note that these objects must also have Collision physics enabled.
user: Give a detailed overview of Bone Properties: syntax, arguments, return values, common patterns.

assistant: # Bone Properties

When bones are selected (hence in *Edit Mode* and *Pose Mode*), their
properties are shown in the *Bone* tab of the Properties.
This shows different panels used to control features of each selected bone;
the panels change depending on which mode you are working in.
user: Provide the full official documentation entry for Inputs, preserving all code examples.

assistant: Geometry
:   Standard geometry input.

Group ID
:   Splits the elements of the input geometry into groups which can be sampled individually.

Sample Position
:   The given position to calculate the closest location on the target.

Sample Group ID
:   Determines in which group the closest nearest element is detected.
user: Show practical ways to work with ThemeFileBrowser(bpy_struct) in a Blender add-on or script – include code.

assistant: # ThemeFileBrowser(bpy_struct)

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

*class* bpy.types.ThemeFileBrowser(*bpy_struct*)
:   Theme settings for the File Browser

    row_alternate
    :   Overlay color on every other row

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

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

    space
    :   Settings for space

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

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: How do I use Asset Types in Blender? Include parameters, examples, warnings and best practices.

assistant: Assets can be broadly divided into two types: **primitive** and **preset** assets.
Which is which depends on the [Data-Blocks](../data_blocks.xhtml) type.

Primitive assets are data-blocks that are either **linked or appended** to the current file.
Examples are objects, materials, and worlds. These can be dragged from the Asset Browser into
the scene (objects and worlds), or onto existing objects (materials).

Preset assets are data-blocks that are loaded and then **applied** to something or **activated**.
An example is a pose asset. When applying the pose, the data-block is loaded from its blend-file,
and then the pose is applied to the active armature. Brush assets are an example of an asset type
that is activated. They get loaded into the current file and activated for painting or sculpting,
but don’t get saved in the file.

In the future, the asset type definition will be expanded;
see [Future Development](#asset-libraries-future-development) for more info.

### Supported Assets

| Asset | Type | Description |
| --- | --- | --- |
| Material | Primitive | A [Material](../../render/materials/index.xhtml) data-block that can be applied to objects. When dragged onto an object, it replaces the material slot. |
| Collection | Primitive | A [Collection](../../scene_layout/collections/index.xhtml) is a group of objects that can be linked or appended into a scene. Collections maintain their internal hierarchy and can be instanced or used for modular scene composition. |
| Object | Primitive | A standard [Object](../../scene_layout/object/index.xhtml) asset that can be dragged into the scene. It may contain mesh, curve, light, or other data. |
| Brush | Preset | A [Brush](../../sculpt_paint/brush/index.xhtml) asset used for sculpting, texture painting, or vertex painting. When activated, it becomes the current brush but is not stored permanently in the file. |
| Node Group | Primitive | A [Node Group](../../interface/controls/nodes/groups.xhtml) asset that can be dragged into compatible node editors such as Geometry Nodes, Shader Editor, or Compositor. Acts as a reusable building block of node logic. |
| World | Primitive | A [World](../../render/lights/world.xhtml) asset defining ambient lighting and background. When dragged into the viewport, it replaces the current world. It can also be appended as a data-block. |
| Scene | Primitive | A full [Scene](../../scene_layout/scene/index.xhtml) asset, including its cameras, lights, and linked objects.   - Scenes generate previews by rendering the active camera view in Solid mode.   This requires the scene to have an active camera. - Dragging a scene asset into a window (except the Asset Browser itself)   imports or links the scene and makes it the active scene in that window. |
| Pose Action | Preset | A [Pose Asset](../../animation/armatures/posing/editing/pose_library.xhtml) based on an Action data-block. Applying it loads the pose data and applies it to the selected or active armature, updating bone transforms without permanently modifying the source action. |
user: How do I use References in Blender? Include parameters, examples, warnings and best practices.

assistant: |  |  |
| --- | --- |
| - [`bpy.context.active_bone`](bpy.context.html#bpy.context.active_bone "bpy.context.active_bone") - [`bpy.context.edit_bone`](bpy.context.html#bpy.context.edit_bone "bpy.context.edit_bone") - [`bpy.context.editable_bones`](bpy.context.html#bpy.context.editable_bones "bpy.context.editable_bones") - [`bpy.context.selected_bones`](bpy.context.html#bpy.context.selected_bones "bpy.context.selected_bones") - [`bpy.context.selected_editable_bones`](bpy.context.html#bpy.context.selected_editable_bones "bpy.context.selected_editable_bones") - [`bpy.context.visible_bones`](bpy.context.html#bpy.context.visible_bones "bpy.context.visible_bones") - [`Armature.edit_bones`](bpy.types.Armature.html#bpy.types.Armature.edit_bones "bpy.types.Armature.edit_bones") | - [`ArmatureEditBones.active`](bpy.types.ArmatureEditBones.html#bpy.types.ArmatureEditBones.active "bpy.types.ArmatureEditBones.active") - [`ArmatureEditBones.new`](bpy.types.ArmatureEditBones.html#bpy.types.ArmatureEditBones.new "bpy.types.ArmatureEditBones.new") - [`ArmatureEditBones.remove`](bpy.types.ArmatureEditBones.html#bpy.types.ArmatureEditBones.remove "bpy.types.ArmatureEditBones.remove") - [`EditBone.bbone_custom_handle_end`](#bpy.types.EditBone.bbone_custom_handle_end "bpy.types.EditBone.bbone_custom_handle_end") - [`EditBone.bbone_custom_handle_start`](#bpy.types.EditBone.bbone_custom_handle_start "bpy.types.EditBone.bbone_custom_handle_start") - [`EditBone.parent`](#bpy.types.EditBone.parent "bpy.types.EditBone.parent") |
user: How do I use Options in Blender? Include parameters, examples, warnings and best practices.

assistant: Text
:   The actual text displayed.
    Text is limited to 512 characters.

Wrap Width
:   Wraps the text by the percentage of the frame width,
    setting this to zero disables word wrapping.

### Style

Font
:   [Data-Block Menu](../../../../interface/controls/templates/data_block.html#ui-data-block) to choose which font-file is used to render the text.

    (Bold)
    :   Use a bold font face with a strong/thick visual appearance.

    (Italic)
    :   Use an italicized font face with a slanted visual appearance.

Size
:   Size of the text.

Color
:   The text color.

#### Outline

Creates a line enclosing the shape of the text.

Color
:   The color and opacity of the outline.

Width
:   The thickness of the outline.

#### Shadow

Creates a shadow under the text.

Color
:   The color and opacity of the shadow.

Angle
:   Defines the position of the shadow as an angle, 0° being to the right and 90° being below.

Offset
:   Amount to shift the shadow compared to the normal text.

Blur
:   Amount to blur the shadow.

#### Box

Creates a background for the text to improve the readability and clarity of text in some situations.

Color
:   The color and opacity of the box.

Margin
:   The distance the box boundaries extends from the boundaries of the font glyphs.
    The distance is measured as a factor of the image’s width.

Roundness
:   Rounds the corners of the box, defined as a factor of box height.

### Layout

Location X, Y
:   Positions the text on the X, Y axis.

Alignment X, Y
:   Controls the horizontal positioning of text within the text strip.
    The text content can be aligned to the left, center, or right.

Anchor X, Y
:   Horizontal (X) or vertical (Y) “origin” of the text relative to the location.
user: How do I use Customization in Blender? Include parameters, examples, warnings and best practices.

assistant: Keyboard shortcuts

Blender makes heavy use of keyboard shortcuts to speed up work.
These can be customized in the [Keymap Editor](../../editors/preferences/keymap.xhtml#prefs-input-keymap-editor).

Theme colors

Blender allows for most of its interface colors to be changed to suit the needs of the user.
If you find that the colors you see on screen do not match those
in the Manual, it could be that your default theme has been altered.
Creating a new theme or selecting/altering a preexisting one can be done by opening
the [Preferences](../../editors/preferences/index.xhtml) and clicking on the *Themes* tab.

Accessibility

Blender has several options for visibility customization,
including resolution scale, and the ability to load custom fonts.
These settings can be configured in the [Interface Preferences](../../editors/preferences/interface.xhtml).
user: Show practical ways to work with Rotate Edge in a Blender add-on or script – include code.

assistant: # Rotate Edge

Rotating an edge clockwise (CW) or counterclockwise (CCW) spins an edge between two faces around their vertices.
This is very useful for restructuring a mesh’s topology.

The tool operates on selected edges or the shared edge between selected faces.

|  |  |
| --- | --- |
| ../../../../_images/modeling_meshes_editing_edge_rotate-edge_face-mode1.png   Two adjacent faces selected. | ../../../../_images/modeling_meshes_editing_edge_rotate-edge_face-mode2.png   Selected edge rotated. |

|  |  |
| --- | --- |
| ../../../../_images/modeling_meshes_editing_edge_rotate-edge_flip-before.png   Selected edge. | ../../../../_images/modeling_meshes_editing_edge_rotate-edge_flip-after.png   Edge, rotated CW. |
user: Provide the full official documentation entry for GeometryNodeInputSceneTime(GeometryNode), preserving all code examples.

assistant: # GeometryNodeInputSceneTime(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.GeometryNodeInputSceneTime(*GeometryNode*)
:   Retrieve the current time in the scene’s animation in units of seconds or frames

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

        Returns:
        :   Result

        Return type:
        :   boolean

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

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

        Returns:
        :   result

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

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

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

        Returns:
        :   result

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

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Explain Transform Orientation in complete detail according to the official Blender documentation.

assistant: # Transform Orientation

The *Transform Orientation* determines the orientation of the
[Object Gizmo](../display/gizmo.html).
Changing this orientation can make it easier to perform
transformations in the direction you want.

[image reference removed]

With the default Global transform orientation (left) it’s tricky to
move the plane in the direction it’s facing, but with Local (right)
it’s easy.

The Transform Orientation can be changed using a
selector in the 3D Viewport’s header:

[image reference removed]

Transform Orientation selector.

The orientation can also be changed temporarily while performing
a hotkey-based transformation with
[axis locking](../../../scene_layout/object/editing/transform/control/axis_locking.html).
For example, if you first press `G` to start moving an object,
then `X` to lock to the orientation’s X axis, and finally `X` a second time,
you’ll get a lock to an alternative orientation:
the Local orientation if it was Global previously, and the Global orientation
otherwise.

In addition to the builtin orientations,
you can also define your own (see [Custom Orientations](#custom-orientations) below).
user: Provide the full official documentation entry for GeometryNodeGridGradient(GeometryNode), preserving all code examples.

assistant: # GeometryNodeGridGradient(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.GeometryNodeGridGradient(*GeometryNode*)
:   Calculate the direction and magnitude of the change in values of a scalar grid

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

assistant: # Curve Display

When in Edit Mode, curves have special [overlays](../../editors/3dview/display/overlays.html)
to control how curves are displayed in the 3D Viewport.

Handles
:   Controls the visibility of Bézier curve handles in edit mode.

    None:
    :   Hides all Bézier curve handles, providing an unobstructed view of the curve.

    Selected:
    :   Displays the handles only for selected control points.

    All:
    :   Displays the handles for all control points in the curve.
user: What is References and how is it used in Blender Python scripting?

assistant: |  |  |
| --- | --- |
| - [`DynamicPaintCanvasSettings.canvas_surfaces`](bpy.types.DynamicPaintCanvasSettings.html#bpy.types.DynamicPaintCanvasSettings.canvas_surfaces "bpy.types.DynamicPaintCanvasSettings.canvas_surfaces") |  |
user: Provide the full official documentation entry for Extrude to Cursor, preserving all code examples.

assistant: # Extrude to Cursor

Interactively places new vertices with `Ctrl`-`RMB` at the mouse cursor position.

The most basic element, a vertex, can be added with a `Ctrl`-`RMB` click
when no other vertices are selected.
Because the camera space (computer screen) is two-dimensional,
Blender cannot determine all three vertex coordinates from a single mouse click,
so the new vertex is placed at the depth of the 3D cursor.

To create interconnected vertices, you can add a vertex and continuously make subsequent `Ctrl`-`RMB`
operations with the last vertex selected.
This will link the last selected vertex with the vertex created at the mouse position with an edge
(see Fig. [Adding vertices one by one.](#fig-mesh-basics-add-one-tool)),
and will continuously create and connect new vertices if you continue repeating this operation.

[image reference removed]

Adding vertices one by one.
user: Explain Bpy.Types.Shadernode in complete detail according to the official Blender documentation.

assistant: aw_buttons NodeInternal.draw_buttons_ext NodeInternal.bl_rna_get_subclass NodeInternal.bl_rna_get_subclass_py References ¶ ShaderNodeTree.get_output_node Next ShaderNodeAddShader(ShaderNode) Previous ShaderFxWave(ShaderFx) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page ShaderNode(NodeInternal) ShaderNode ShaderNode.bl_rna_get_subclass() ShaderNode.bl_rna_get_subclass_py() Inherited Properties Inherited Functions References
user: What is Outputs and how is it used in Blender Python scripting?

assistant: Transform
:   The transform matrix that converts from grid index space to object space.
    Defines how the grid’s voxels are positioned, scaled, and oriented in 3D space.
    This can be passed to nodes such as
    [Set Grid Transform](../write/set_grid_transform.html)
    or used to align other grids or geometry.

Background Value
:   The value assigned to inactive voxels in the grid.
    This represents the default or “empty” value used when sampling outside of active regions, as set by the
    [Set Grid Background](../write/set_grid_background.html)
    node or similar operations.
user: Describe Repeat Zone from the Blender manual or Python API, including usage steps and snippets.

assistant: # Repeat Zone

A *Repeat Zone* executes a set of nodes multiple times.

[image reference removed]

The zone consists of an input node on the left, an output node on the right,
and an orange area in the middle for placing the nodes to repeat. When the zone executes
for the first time, it evaluates its inputs and forwards them to its inner nodes.
These inner nodes can then write to the output node for providing inputs to the next
iteration, and for providing the result of the zone after the last iteration.

The nodes inside the zone can also take inputs from nodes outside the zone – these
inputs are then the same in every iteration. However, nodes inside the zone can’t
send their outputs to nodes outside the zone.
user: Give a detailed overview of Controls: syntax, arguments, return values, common patterns.

assistant: Adding Geometry `Ctrl`-`LMB`
:   Creates a new vertex at the mouse cursor, then creates a triangle using this new vertex
    and the nearest existing edge. If the existing edge already has two neighboring faces,
    instead creates a new edge using the new vertex and the nearest existing vertex.
    Holding `Ctrl` will preview the result in blue.

Deleting Geometry `Shift`-`LMB`
:   Dissolves the vertex/deletes the face under the mouse cursor.
    Holding `Shift` will highlight the target element in red.

Moving Vertices `LMB`
:   You can move a vertex by dragging it.

Extruding Edges `LMB`
:   You can [extrude](../editing/edge/extrude_edges.xhtml) an edge into a quad by dragging it.
user: Provide the full official documentation entry for Usage, preserving all code examples.

assistant: The *Bevel Edges* tool works only on selected edges with exactly two adjacent faces.
It will recognize any edges included in a vertex or face selection as well,
and perform the bevel the same as if those edges were explicitly selected.
In “vertex only” mode, the *Bevel Vertices* tool works on selected vertices instead of edges,
and there is no requirement about having any adjacent faces.
The *Bevel* tool smooths the edges and/or “corners” (vertices)
by replacing them with faces making smooth profiles with a specified number of *segments*
(see the options below for details about the bevel algorithm).

Use `Ctrl`-`B` or a method listed above to run the tool.
Move the mouse to interactively or type a number to specify the bevel offset,
and scroll the `Wheel` to increase or decrease the number of segments (see below).

|  |  |  |
| --- | --- | --- |
| ../../../../_images/modeling_meshes_editing_edge_bevel_example-1.png   Selected edge before beveling. | ../../../../_images/modeling_meshes_editing_edge_bevel_example-2.png   Result of bevel (one segment). | ../../../../_images/modeling_meshes_editing_edge_bevel_example-3.png   Result of bevel (vertex only). |
user: Describe AssetTag(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # AssetTag(bpy_struct)

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

*class* bpy.types.AssetTag(*bpy_struct*)
:   User defined tag (name token)

    name
    :   The identifier that makes up this tag

        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: 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.

Color1, Color 2
:   Color of the checkers.

Scale
:   Overall texture scale. The scale is a factor of the bounding box of the face divided by the scale.
    For example, a scale of 15 will result in 15 alternate patterns over the overall UV bounding box.
    Different patterns could be achieved using other nodes to give different input patterns to this socket.
    For example, using the Math Node.
user: Describe Interface from the Blender manual or Python API, including usage steps and snippets.

assistant: ### Header

[image reference removed]

UV Editor header.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Display Channels
:   Select what color channels are displayed.

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

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

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

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

    Red, Green, Blue:
    :   Single color channel visualized as a grayscale image.
user: Provide the full official documentation entry for GeometryNodeList(GeometryNode), preserving all code examples.

assistant: # GeometryNodeList(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.GeometryNodeList(*GeometryNode*)
:   Create a list of values

    data_type
    :   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), default `'GEOMETRY'`

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

        Returns:
        :   Result

        Return type:
        :   boolean

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

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

        Returns:
        :   result

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

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

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

        Returns:
        :   result

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

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Explain Bpy.Types.Fcurve in complete detail according to the official Blender documentation.

assistant: ssmethod 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 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 Inherited Properties ¶ bpy_struct.id_data Inherited Functions ¶ bpy_struct.as_pointer bpy_struct.driver_add bpy_struct.driver_remove bpy_struct.get bpy_struct.id_properties_clear bpy_struct.id_properties_ensure bpy_struct.id_properties_ui bpy_struct.is_property_hidden bpy_struct.is_property_overridable_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 References ¶ bpy.context.active_editable_fcurve bpy.context.editable_fcurves bpy.context.selected_editable_fcurves bpy.context.selected_visible_fcurves bpy.context.visible_fcurves Action.fcurve_ensure_for_datablock ActionChannelbag.fcurves ActionChannelbagFCurves.ensure ActionChannelbagFCurves.find ActionChannelbagFCurves.new ActionChannelbagFCurves.new_from_fcurve ActionChannelbagFCurves.new_from_fcurve ActionChannelbagFCurves.remove ActionGroup.channels AnimData.drivers AnimDataDrivers.find AnimDataDrivers.from_existing AnimDataDrivers.from_existing AnimDataDrivers.new AnimDataDrivers.remove NlaStrip.fcurves NlaStripFCurves.find Next FCurveKeyframePoints(bpy_struct) Previous ExplodeModifier(Modifier) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page FCurve(bpy_struct) FCurve FCurve.array_index FCurve.auto_smoothing FCurve.color FCurve.color_mode FCurve.data_path FCurve.driver FCurve.extrapolation FCurve.group FCurve.hide FCurve.is_empty FCurve.is_valid FCurve.keyframe_points FCurve.lock FCurve.modifiers FCurve.mute FCurve.sampled_points FCurve.select FCurve.evaluate() FCurve.update() FCurve.range() FCurve.update_autoflags() FCurve.convert_to_samples() FCurve.convert_to_keyframes() FCurve.bake() FCurve.bl_rna_get_subclass() FCurve.bl_rna_get_subclass_py() Inherited Properties Inherited Functions References
user: How do I use GeometryNodeRepeatOutput(GeometryNode) in Blender? Include parameters, examples, warnings and best practices.

assistant: # GeometryNodeRepeatOutput(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.GeometryNodeRepeatOutput(*GeometryNode*)
:   active_index
    :   Index of the active item

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

    active_item
    :   Index of the active item

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

    inspection_index
    :   Iteration index that is used by inspection features like the viewer node or socket inspection

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

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

    *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