PGCRYPT/OpenBlender_Train huggingface dataset:
user: What is View2D(bpy_struct) and how is it used in Blender Python scripting?

assistant: # View2D(bpy_struct)

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

*class* bpy.types.View2D(*bpy_struct*)
:   Scroll and zoom for a 2D region

    region_to_view(*x*, *y*)
    :   Transform region coordinates to 2D view

        Parameters:
        :   - **x** (*float in* *[**-inf**,* *inf**]*) – x, Region x coordinate
            - **y** (*float in* *[**-inf**,* *inf**]*) – y, Region y coordinate

        Returns:
        :   Result, View coordinates

        Return type:
        :   float array of 2 items in [-inf, inf]

    view_to_region(*x*, *y*, *\**, *clip=True*)
    :   Transform 2D view coordinates to region

        Parameters:
        :   - **x** (*float in* *[**-inf**,* *inf**]*) – x, 2D View x coordinate
            - **y** (*float in* *[**-inf**,* *inf**]*) – y, 2D View y coordinate
            - **clip** (*boolean**,* *(**optional**)*) – Clip, Clip coordinates to the visible region

        Returns:
        :   Result, Region coordinates

        Return type:
        :   int array of 2 items in [-inf, inf]

    *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 Introduction in Blender? Include parameters, examples, warnings and best practices.

assistant: # Introduction

A strip is a container which carries frames provided by one or more sources (input).
It is defined by a *Start Frame* and a *Length*, and is displayed as a colored horizontal rectangle.

[image reference removed]

Strip schematic.
user: Explain Types in complete detail according to the official Blender documentation.

assistant: The *Color Picker Type* determines how colors are visualized and selected.
Different picker types offer alternative layouts for adjusting hue, saturation, and value components.
The choice is a matter of personal preference and workflow.

You can choose the default picker type in the Preferences under
[Interface Preferences](../../../editors/preferences/interface.xhtml#bpy-types-preferencesview-color-picker-type).

Color Picker Types

|  |  |  |
| --- | --- | --- |
| ../../../_images/interface_controls_templates_color-picker_circle-hsv.png   Circle HSV | ../../../_images/interface_controls_templates_color-picker_circle-hsl.png   Circle HSL |  |
| ../../../_images/interface_controls_templates_color-picker_square-sv-h.png   Square (SV + H) | ../../../_images/interface_controls_templates_color-picker_square-hs-v.png   Square (HS + V) | ../../../_images/interface_controls_templates_color-picker_square-hv-s.png   Square (HV + S) |
user: Show practical ways to work with Example in a Blender add-on or script – include code.

assistant: In the example below, the left and right cubes are assigned a *Pass Index* of 1 and 2 respectively.
We extract a mask for the left cube, then use it to turn that cube red with a
[Mix Color Node](../color/mix_color.xhtml). The masks for the other Pass Indexes are also shown.

[image reference removed]

ID Mask node example.
user: Explain Precompiled Libraries in complete detail according to the official Blender documentation.

assistant: While not common practice, Python add-ons can be distributed with their own precompiled libraries. Unlike regular
Python scripts, these are not portable between different platforms.

It is possible the library is incompatible with your Blender installation (attempting to load a library built for a
different version of Python, or loading a 32-bit library on a 64-bit system).

If the add-on contains `.pyd` or `.so` files, check that the distribution is compatible with your operating
system.
user: Describe Language from the Blender manual or Python API, including usage steps and snippets.

assistant: Enable Edit ‣ Preferences ‣ Interface ‣ Translation, and choose the *Language* and what to
translate from *Interface*, *Tooltips* and *New Data*.

See [Language](../../editors/preferences/interface.xhtml#prefs-interface-translation) for details.
user: Describe Examples from the Blender manual or Python API, including usage steps and snippets.

assistant: Below are some examples illustrating edge subdivision in various scenarios.

[[image reference removed]](../../../../_images/modeling_meshes_editing_edge_subdivide_before.png)

The sample mesh.

### One Edge

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_one-edge.png>   One edge. | <../../../../_images/modeling_meshes_editing_edge_subdivide_one-edge-tri.png>   *Create N-Gons* unchecked. |

### Two Tri Edges

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-tri.png>   Two tri edges. | <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-tri-tri.png>   *Create N-Gons* unchecked. |

### Two Opposite Quad Edges

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-opposite.png>   Two quad edges. | <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-opposite-tri.png>   *Create N-Gons* unchecked. |

### Two Adjacent Quad Edges

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-quad-innervert.png>   Inner Vertices corner type. | <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-quad-innervert-tri.png>   *Create N-Gons* unchecked. |

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-quad-path.png>   Path corner type. | <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-quad-path-tri.png>   *Create N-Gons* unchecked. |

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-quad-straight_cut.png>   Straight Cut corner type. | <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-quad-innervert-tri.png>   *Create N-Gons* unchecked. |

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-quad-fan2.png>   Fan cut type. | <../../../../_images/modeling_meshes_editing_edge_subdivide_two-edges-quad-fan.png>   *Create N-Gons* unchecked. |

### Three Quad Edges

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_three-edges.png>   Three edges. | <../../../../_images/modeling_meshes_editing_edge_subdivide_three-edges-tri.png>   *Create N-Gons* unchecked. |

### Full Triangle

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_three-edges-tri2.png>   Full triangle. | <../../../../_images/modeling_meshes_editing_edge_subdivide_three-edges-tri-tri.png>   *Create N-Gons* unchecked. |

### Full Quad

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_four-edges.png>   Full quad. | <../../../../_images/modeling_meshes_editing_edge_subdivide_four-edges-tri.png>   *Create N-Gons* unchecked. |

### Multiple Cuts

|  |  |
| --- | --- |
| <../../../../_images/modeling_meshes_editing_edge_subdivide_tri-multi.png>   Triangle with two cuts. | <../../../../_images/modeling_meshes_editing_edge_subdivide_quad-multi.png>   Quad with two cuts. |
user: Describe Outputs from the Blender manual or Python API, including usage steps and snippets.

assistant: Face Index
:   The geometry-wide index of the face which the corner belongs to.

Index in Face
:   The face-local index of the corner. This is 0 for the first corner of the face,
    1 for the next corner, and so on up to (number of corners - 1) for the last corner.
user: Describe Examples from the Blender manual or Python API, including usage steps and snippets.

assistant: [image reference removed]

Here, the handles are adjusted to the same position as the control points, but offset down in
the Z direction slightly. With the [Set Spline Type Node](set_spline_type.xhtml),
the curve can be a poly spline in Edit Mode, to make adjustment simpler for the user of the node group.
user: Describe Properties from the Blender manual or Python API, including usage steps and snippets.

assistant: Display
:   The target display device as defined in the current OCIO configuration.
    See [Display](../../../render/color_management/displays_views.xhtml#bpy-types-colormanageddisplaysettings-display-device) for an explanation of all options.

View
:   The view transform to apply for the selected display.
    See [View](../../../render/color_management/displays_views.xhtml#bpy-types-colormanagedviewsettings-view-transform) for an explanation of all options.

Look
:   The look transform to apply.
    Optional, and may be *None* depending on the configuration.
    See [Look](../../../render/color_management/displays_views.xhtml#bpy-types-colormanagedviewsettings-look) for an explanation of all options.
user: Provide the full official documentation entry for Usage, preserving all code examples.

assistant: A locked axis will display in a brighter color than an unlocked axis. For example in the image to the right,
the Z axis is shown in light blue as movement is constrained to this axis. This example, can be achieved in two ways:

### Hotkey

The axis of movement can be changed at any time during transformation by typing `X`, `Y`, `Z`.

### Pointing

[image reference removed]

Axis constraint in action.

Holding `MMB` after starting a transformation lets you select an axis to constrain to.
A visual option to constrain the translation will be available,
showing the three axes in the 3D Viewport space. A dotted white line is used as a pointer.
The axis of choice to confirm the operation
will depend on the highlighted axis about which the `MMB` is released.

When you already moved the mouse in the desired direction,
pressing `MMB` will lock to the axis which was pointed at.
user: Describe TEXTURE_UL_texpaintslots(UIList) from the Blender manual or Python API, including usage steps and snippets.

assistant: # TEXTURE_UL_texpaintslots(UIList)

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

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

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Describe XrComponentPaths(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # XrComponentPaths(bpy_struct)

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

*class* bpy.types.XrComponentPaths(*bpy_struct*)
:   Collection of OpenXR component paths

    new(*path*)
    :   new

        Parameters:
        :   **path** (*string**,* *(**never None**)*) – Path, OpenXR component path

        Returns:
        :   Component Path, Added component path

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

    remove(*component_path*)
    :   remove

        Parameters:
        :   **component_path** ([`XrComponentPath`](bpy.types.XrComponentPath.html#bpy.types.XrComponentPath "bpy.types.XrComponentPath"), (never None)) – Component Path

    find(*path*)
    :   find

        Parameters:
        :   **path** (*string**,* *(**never None**)*) – Path, OpenXR component path

        Returns:
        :   Component Path, The component path with the given path

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

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

assistant: Wave Distortion Effect samples.

|  |  |  |  |
| --- | --- | --- | --- |
| ../../_images/grease-pencil_visual-effects_wave-distortion_h10.png   Amplitude: 10 (horizontal). | ../../_images/grease-pencil_visual-effects_wave-distortion_h30.png   Amplitude: 30 (horizontal). | ../../_images/grease-pencil_visual-effects_wave-distortion_v10.png   Amplitude: 10 (vertical). | ../../_images/grease-pencil_visual-effects_wave-distortion_v30.png   Amplitude: 30 (vertical). |
user: Provide the full official documentation entry for RemeshModifier(Modifier), preserving all code examples.

assistant: # RemeshModifier(Modifier)

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

*class* bpy.types.RemeshModifier(*Modifier*)
:   Generate a new surface with regular topology that follows the shape of the input mesh

    adaptivity
    :   Reduces the final face count by simplifying geometry where detail is not needed, generating triangles. A value greater than 0 disables Fix Poles.

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

    mode
    :   - `BLOCKS`
          Blocks – Output a blocky surface with no smoothing.
        - `SMOOTH`
          Smooth – Output a smooth surface with no sharp-features detection.
        - `SHARP`
          Sharp – Output a surface that reproduces sharp edges and corners from the input mesh.
        - `VOXEL`
          Voxel – Output a mesh corresponding to the volume of the original mesh.

        Type:
        :   enum in [`'BLOCKS'`, `'SMOOTH'`, `'SHARP'`, `'VOXEL'`], default `'VOXEL'`

    octree_depth
    :   Resolution of the octree; higher values give finer details

        Type:
        :   int in [1, 24], default 4

    scale
    :   The ratio of the largest dimension of the model over the size of the grid

        Type:
        :   float in [0, 0.99], default 0.9

    sharpness
    :   Tolerance for outliers; lower values filter noise while higher values will reproduce edges closer to the input

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

    threshold
    :   If removing disconnected pieces, minimum size of components to preserve as a ratio of the number of polygons in the largest component

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

    use_remove_disconnected
    :   Type:
        :   boolean, default True

    use_smooth_shade
    :   Output faces with smooth shading rather than flat shaded

        Type:
        :   boolean, default False

    voxel_size
    :   Size of the voxel in object space used for volume evaluation. Lower values preserve finer details.

        Type:
        :   float in [0, inf], default 0.1

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

assistant: Grid
:   The input signed distance field to smooth.
    Typically, the grid represents a surface or volume generated from a mesh or procedural operation.

Iterations
:   The number of mean curvature flow iterations to apply.
    Each iteration progressively smooths the surface, with higher values
    resulting in a more pronounced smoothing effect.
    A small number of iterations will gently polish the surface, while
    larger values can significantly alter its shape.
user: Show practical ways to work with Pop-Up Toolbar in a Blender add-on or script – include code.

assistant: Pressing `Shift`-`Spacebar` will pop up a small toolbar right at
your cursor for faster access.
The shortcuts for selecting the tools are displayed on the right.

Alternatively, you can map this action to `Spacebar` in the Keymap Preferences.
Then you’ll be able use `Spacebar` like a modifier key
(similar to holding `Ctrl` or `Shift`).
For example, you can press `Spacebar` `T` for Transform,
`Spacebar` `D` for Annotate, `Spacebar` `M` for Measure and so on.
See [Spacebar Action](../editors/preferences/keymap.html#keymap-blender-default-spacebar-action).
user: Provide the full official documentation entry for Transform Mode Type Items, preserving all code examples.

assistant: # Transform Mode Type Items

INIT:
:   Init.

DUMMY:
:   Dummy.

TRANSLATION:
:   Translation.

ROTATION:
:   Rotation.

RESIZE:
:   Resize.

SKIN_RESIZE:
:   Skin Resize.

TOSPHERE:
:   To Sphere.

SHEAR:
:   Shear.

BEND:
:   Bend.

SHRINKFATTEN:
:   Shrink/Fatten.

TILT:
:   Tilt.

TRACKBALL:
:   Trackball.

PUSHPULL:
:   Push/Pull.

CREASE:
:   Crease.

VERTEX_CREASE:
:   Vertex Crease.

MIRROR:
:   Mirror.

BONE_SIZE:
:   Bone Size.

BONE_ENVELOPE:
:   Bone Envelope.

BONE_ENVELOPE_DIST:
:   Bone Envelope Distance.

CURVE_SHRINKFATTEN:
:   Curve Shrink/Fatten.

MASK_SHRINKFATTEN:
:   Mask Shrink/Fatten.

BONE_ROLL:
:   Bone Roll.

TIME_TRANSLATE:
:   Time Translate.

TIME_SLIDE:
:   Time Slide.

TIME_SCALE:
:   Time Scale.

TIME_EXTEND:
:   Time Extend.

BAKE_TIME:
:   Bake Time.

BWEIGHT:
:   Bevel Weight.

ALIGN:
:   Align.

EDGESLIDE:
:   Edge Slide.

SEQSLIDE:
:   Sequence Slide.

GPENCIL_OPACITY:
:   Grease Pencil Opacity.
user: Show practical ways to work with Undo & Redo in a Blender add-on or script – include code.

assistant: # Undo & Redo

The tools listed below will let you roll back an accidental action,
redo your last action, or let you choose to recover to a specific point,
by picking from a list of recent actions recorded by Blender.
user: Describe VR Scene Inspection from the Blender manual or Python API, including usage steps and snippets.

assistant: # VR Scene Inspection

The VR Scene Inspection add-on exposes and extends
the native virtual reality features of Blender in the user interface.
The feature set is limited to scene inspection use cases.
More advanced use cases may be enabled through further development inside of Blender.

VR support in Blender is based on the OpenXR specification and requires some set up steps.
These are explained in the [Head-Mounted Displays (HMD)](../../getting_started/configuration/hardware.html#hardware-head-mounted-displays) section.
user: Describe Index of Nearest from the Blender manual or Python API, including usage steps and snippets.

assistant: # Index of Nearest

[[image reference removed]](../../../../_images/node-types_GeometryNodeIndexOfNearest.webp)

The **Index of Nearest** node is a way to find other close elements in the same geometry.
If needed you can use Group ID to determine the group of neighbors to be analyzed together.

This is an alternative to the [Sample Nearest Node](sample_nearest.html) node.
The main difference is that this node does not require a geometry input, because the geometry
from the [field context](../../fields.html#field-context) is used.
user: Provide the full official documentation entry for Metadata, preserving all code examples.

assistant: Lists information that has been encoded in the currently visible movie or image file
(*not* the file referenced by the selected strip). This can include the filename,
the creation date, the camera model etc. This also works for images produced by Blender;
see [Render Output](../../../render/output/properties/metadata.xhtml) for the metadata
that can be included in this case.

Other graphics programs may also store metadata,
but only the text in the header field “Comments” can be read.

Some of this metadata can also be made visible in the preview with the
[Metadata overlay](display/overlays.xhtml#bpy-types-sequencerpreviewoverlay-show-metadata).
user: Show practical ways to work with Cylinder in a Blender add-on or script – include code.

assistant: Creates a cylindrical mesh composed of two circular ends and vertical faces.
This shape is commonly used to model objects like handles, rods, pillars, and barrels.

Vertices
:   Number of vertices used to define the circular ends.
    Higher values result in a smoother circular profile.

Radius
:   Radius of the cylinder’s circular ends, measured from the center to the perimeter.

Depth
:   Height of the cylinder along the Z axis.

Cap Fill Type
:   Determines how the top and bottom of the cylinder are filled:

    Nothing:
    :   No end caps are added. Only the side faces are created, forming a tube.
        Useful for modeling pipes or hollow containers.

    N-gon:
    :   Each end is filled with a single N-gon face.

    Triangle Fan:
    :   Each end is filled with triangular faces sharing a central vertex.
user: Give a detailed overview of Context-Sensitive Manual Access: syntax, arguments, return values, common patterns.

assistant: You may want to access help for a tool or area from within Blender.

To do so, hover the cursor over the tool or button you need help with and use the keyboard shortcut or context menu
item to visit pages of this reference manual from within Blender. This opens a web page relating to the button under
the cursor, supporting both tool and value buttons.
user: How do I use Thickness in Blender? Include parameters, examples, warnings and best practices.

assistant: Used to approximate the inner geometry structure of the object without heavy computation.
This is currently used for [Subsurface Scattering](../shader_nodes/shader/sss.xhtml),
[Translucent BSDF](../shader_nodes/shader/translucent.xhtml),
[Refraction BSDF](../shader_nodes/shader/refraction.xhtml), and the nodes containing these effects.

If no value is plugged into the output node,
a default thickness based on the smallest dimension of the object is used.
If a value is connected it will be used as object space thickness (i.e. scaled by object transform).
A value of zero will disable the thickness approximation and treat the object as having only one interface.

This output is only used by the EEVEE render engine.
user: Show practical ways to work with Installing Legacy Add-ons in a Blender add-on or script – include code.

assistant: To install legacy add-ons, click the *Install from Disk* menu item and select the add-on’s
`.py` file (if it has only one such file) or its `.zip` file.

The add-on will not be automatically enabled after installation; click the checkbox to do that.

Refresh
:   Scans the [Add-on Directory](../../advanced/blender_directory_layout.xhtml#blender-directory-layout) for new add-ons.
user: What is Viewport Display and how is it used in Blender Python scripting?

assistant: These settings control the curve rendering settings used when the 3D viewport is set to
[Material Preview](../../../editors/3dview/display/shading.xhtml#dview-material-preview)

Shape
:   Strand:
    :   Render curves as a thin strand roughly a pixel wide.
        Curve diameter parameters are ignored with this setting.

    Strip:
    :   Render curves as a flat ribbon with rounded normals.

Additional Subdivisions
:   Additional subdivisions to be applied on top of the curve resolution set in the
    hair system settings. Increasing this value will smooth out the curves of the strands.
user: Show practical ways to work with Interaction in Real-Time in a Blender add-on or script – include code.

assistant: To work with a soft body simulation, you will find it handy to use the Timeline editor.
You can change between frames and the simulation will always be shown in the actual state.
You can interact in real-time with the simulation,
e.g. by moving collision objects or shaking a soft body object.

You can then select the soft body object while running the simulation and *Apply*
the modifier in the *Modifiers* tab of the Properties.
This makes the deformation permanent.
user: Provide the full official documentation entry for BoidRuleGoal(BoidRule), preserving all code examples.

assistant: # BoidRuleGoal(BoidRule)

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

*class* bpy.types.BoidRuleGoal(*BoidRule*)
:   object
    :   Goal object

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

    use_predict
    :   Predict target movement

        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: Show practical ways to work with Startup Scene in a Blender add-on or script – include code.

assistant: # Startup Scene

After closing the [splash screen](../../interface/window_system/splash.html),
the startup scene is displayed in the 3D Viewport (if no other blend-file was loaded).
This startup scene can be [customized](../../interface/window_system/topbar.html#startup-file).

[image reference removed]

The startup scene.
user: Describe KeyConfig(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # KeyConfig(bpy_struct)

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

*class* bpy.types.KeyConfig(*bpy_struct*)
:   Input configuration, including keymaps

    is_user_defined
    :   Indicates that a keyconfig was defined by the user

        Type:
        :   boolean, default False, (readonly)

    keymaps
    :   Key maps configured as part of this configuration

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

    name
    :   Name of the key configuration

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

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

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: |  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`Attribute.name`](bpy.types.Attribute.html#bpy.types.Attribute.name "bpy.types.Attribute.name") - [`Attribute.data_type`](bpy.types.Attribute.html#bpy.types.Attribute.data_type "bpy.types.Attribute.data_type") - [`Attribute.storage_type`](bpy.types.Attribute.html#bpy.types.Attribute.storage_type "bpy.types.Attribute.storage_type") | - [`Attribute.domain`](bpy.types.Attribute.html#bpy.types.Attribute.domain "bpy.types.Attribute.domain") - [`Attribute.is_internal`](bpy.types.Attribute.html#bpy.types.Attribute.is_internal "bpy.types.Attribute.is_internal") - [`Attribute.is_required`](bpy.types.Attribute.html#bpy.types.Attribute.is_required "bpy.types.Attribute.is_required") |
user: Explain Collections and Dynamic Linking in complete detail according to the official Blender documentation.

assistant: See [Appending and Linking](../../../../files/linked_libraries/index.html)
to understand how to dynamically link data from another blend-file into the current file.
You can dynamically link collections from one blend-file to another.
When you do so, the linked collection does not appear anywhere in your scene
until you create an object controlling where the collection instance appears.
user: Describe 2D Stabilization Panel from the Blender manual or Python API, including usage steps and snippets.

assistant: # 2D Stabilization Panel

The purpose of 2D stabilization is to smooth out jerky camera handling on existing real-world footage.
To activate the 2D stabilizer, you need to set the toggle in the panel, and additionally you need to enable
*Show Stable* in the Clip Display pop-over.
Then you’ll need to set up some tracking points to detect the image movements.

The 2D Stabilization panel is used to define the data used for 2D stabilization of the shot.
Several options are available in this panel: you may add a list of tracks to determine lateral image shifts
and another list of tracks to determine tilting and zooming movements.
Based on the average contribution of these tracks,
a compensating movement is calculated and applied to each frame.

When the footage includes panning and traveling movements,
the stabilizer tends to push the image out of the visible area.
This can be compensated by animating the parameters for the intentional,
“expected” camera movement.
user: Provide the full official documentation entry for Usage, preserving all code examples.

assistant: ### Edge Loop Input

When using edge loops as input, the most predictable results occur when two opposite loops
have an equal number of vertices. For a single, closed loop, Blender tries to detect two
opposite edges and build a grid accordingly.

### Face Input

If a region of faces is selected, Grid Fill replaces the selected faces with a new quad grid.
This works if the selected faces form a continuous region with a clear boundary (i.e., a single exterior loop).

This method preserves UVs and custom data (e.g., face sets, edge creases, and vertex groups) across the new geometry.
UV islands and seams are respected where possible, and data from selected elements will be transferred to the result.
user: Describe Bpy.Types.Nodetreeinterfacesocketvectortranslation from the Blender manual or Python API, including usage steps and snippets.

assistant: _subclass_py() Inherited Properties Inherited Functions
user: Provide the full official documentation entry for LayoutPanelState(bpy_struct), preserving all code examples.

assistant: # LayoutPanelState(bpy_struct)

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

*class* bpy.types.LayoutPanelState(*bpy_struct*)
:   is_open
    :   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: Explain GeometryNodeInputImage(GeometryNode) in complete detail according to the official Blender documentation.

assistant: # GeometryNodeInputImage(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.GeometryNodeInputImage(*GeometryNode*)
:   Input an image data-block

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

    *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 Separate Color Node and how is it used in Blender Python scripting?

assistant: # Separate Color Node

[image reference removed]

The *Separate Color Node* splits an image into its composite color channels.
The node can output multiple [Color Models](../../../glossary/index.xhtml#term-Color-Model) depending on the Mode property.
user: Explain Geometry in complete detail according to the official Blender documentation.

assistant: Offset
:   Offset the control points of the curves defining the letters, which will make them thinner or thicker.
    Use with care, it can quickly lead to artifacts…

### Extrusion, Taper & Bevel

The remaining settings of that panel, which are used to give volume to the letters,
are also shared with the [Curves](../curves/properties/geometry.xhtml) data-blocks,
please refer to those for details.
user: Show practical ways to work with Volume Displace Modifier in a Blender add-on or script – include code.

assistant: # Volume Displace Modifier

The *Volume Displace* modifier displaces existing volume grids based on a 3D texture.
It uses the RGB color channels of the texture to displace the volume into the X, Y and Z direction.
user: Provide the full official documentation entry for Scene Strip, preserving all code examples.

assistant: # Scene Strip

Scene strips are a way to insert the render output of another scene into your sequence.
Instead of rendering out a video, then inserting the video file, you can insert the scene directly.

The strip length will be determined based on the animation settings in that scene.
user: Describe Collision from the Blender manual or Python API, including usage steps and snippets.

assistant: # Collision

There are two different collision types that you may use:
collision between different objects and internal collision.
We should set one thing straight from the start –
the primary targets of the collision calculation are the vertices of a soft body.
So if you have too few vertices too few collision takes place.
Secondarily, you can use edges and faces to improve the collision calculation.
user: Show practical ways to work with Node Socket Structure Type Items in a Blender add-on or script – include code.

assistant: # Node Socket Structure Type Items

AUTO:
:   Auto.

    Automatically detect a good structure type based on how the socket is used.

DYNAMIC:
:   Dynamic.

    Socket can work with different kinds of structures.

FIELD:
:   Field.

    Socket expects a field.

GRID:
:   Grid.

    Socket expects a grid.

LIST:
:   List.

    Socket expects a list.

SINGLE:
:   Single.

    Socket expects a single value.
user: Show practical ways to work with Brush Settings in a Blender add-on or script – include code.

assistant: # Brush Settings

Painting needs paint brushes and Blender provides a Brush panel within the Toolbar
when in *Vertex Paint Mode*.

Brush
:   In the [Data-Block menu](../../../../interface/controls/templates/data_block.xhtml#ui-data-block) you find predefined Brush presets.
    And you can create your own custom presets as needed.

Radius
:   This option controls the radius of the brush, measured in pixels.
    `F` allows you to change the brush size interactively by
    dragging the mouse and then `LMB` (the texture of the brush should be visible inside the circle).
    Typing a number then enter while using `F` allows you to enter the size numerically.

    (Size Pressure)
    :   Adjusts the brush radius based on the stylus pressure when using a [Graphics Tablet](../../../../getting_started/configuration/hardware.xhtml#hardware-tablet).

Strength
:   How powerful the brush is when applied.

    (Strength Pressure)
    :   Adjusts the brush strength based on the stylus pressure when using a [Graphics Tablet](../../../../getting_started/configuration/hardware.xhtml#hardware-tablet).

Mode
:   Stroke:
    :   Only paint over strokes.

    Fill:
    :   Only paint over fill areas.

    Stroke & Fill:
    :   Paint over strokes and fill areas.

Cursor
:   See the global brush settings for [Cursor](../../../../sculpt_paint/brush/cursor.xhtml) settings.
user: How do I use Objects in Blender? Include parameters, examples, warnings and best practices.

assistant: ### New Objects

Link Materials To
:   To understand this option properly, you need to understand how Blender works with Objects.
    Almost everything in Blender is organized in a hierarchy of data-blocks.
    A data-block can be thought of as containers for certain pieces of information. For example,
    the Object data-block contains information about the Object’s location, rotation, and scale
    while the associated linked Object Data’s data-block contains information about the mesh.

    [image reference removed]

    Example for a mesh.

    A material may be linked in two different ways:

    Object Data:
    :   Any created material will be created as part of the Object Data’s data-block.

    Object:
    :   Any created material will be created as part of the Object’s data-block.

    [image reference removed]

    A material linked to Object Data (left) and Object (right).

Align to
:   World:
    :   New objects align with world coordinates.

    View:
    :   New object align with view coordinates.

    3D Cursor:
    :   New objects align to the 3D cursor’s orientation.

Enter Edit Mode
:   If selected, Edit Mode is automatically activated when you create a new object.

Instance Empty Size
:   The display size for empties when
    a new [collection instance](../../scene_layout/object/properties/instancing/collection.xhtml) is created.

### Copy on Duplicate

The checkboxes define what data is copied with a duplicated object and
what data remains linked. Any boxes that are checked will have their data copied along with
the duplication of the object. Any boxes that are not checked will instead have their data linked
from the source object that was duplicated.

For example, if you have *Mesh* checked,
then a full copy of the mesh data is created with the new object,
and each mesh will behave independently of the duplicate.
If you leave the mesh box unchecked then when you change the mesh of one object,
the change will be mirrored in the duplicate object.

The same rules apply to each of the checkboxes in the data-block list.
user: Describe Cone from the Blender manual or Python API, including usage steps and snippets.

assistant: Creates a cone- or pyramid-shaped mesh. Useful for modeling objects like spikes, traffic cones, or wizard hats.
You can also create frustums (truncated cones) or simple pyramids by adjusting the top radius.

Vertices
:   Number of vertices used to define the circular base (or polygon base in the case of a pyramid).
    Higher values produce smoother curves.

Radius 1
:   Radius of the base of the cone (bottom circle).

Radius 2
:   Radius of the tip (top circle). A value of 0 creates a standard cone with a pointed tip.
    Non-zero values result in a frustum shape.

Depth
:   Height of the cone along the Z axis.

Cap Fill Type
:   Determines how the base of the cone is filled:

    Nothing:
    :   No bottom cap is added. Only the side faces are created.
        Useful for creating open containers or hollow cones.

    N-gon:
    :   Fills the base with a single N-gon face.

    Triangle Fan:
    :   Fills the base with triangular faces sharing a central vertex.
user: Describe Painting from the Blender manual or Python API, including usage steps and snippets.

assistant: # Painting

Sculpt Mode also allows painting your geometry via
[Color Attributes](../../../modeling/meshes/properties/object_data.xhtml#modeling-meshes-properties-object-data-color-attributes) such as Vertex Colors. This ensures that the most
common actions related to the sculpting workflow are contained in the same mode, to avoid unnecessary mode switching.

[image reference removed]

Other sculpt mode features such as face sets, masking and filters can also be used with painting tools.

The painting functionality in Sculpt Mode is limited to a
[Paint](../brushes/paint.xhtml)
and [Smear](../brushes/smear.xhtml) brush,
as well as a [Color Filter](../tools/color_filter.xhtml)
and [Mask by Color](../tools/mask_by_color.xhtml) tool.

Just like any other brush, `Shift` can be used to smooth.
In the case of painting brushes it will blur the colors within the brush radius instead.
user: Explain Options in complete detail according to the official Blender documentation.

assistant: Move X, Y, Z
:   The amount to move the selection on the respected axis.

Orientation
:   Aligns the transformation axes to a specified orientation constraint.
    See [Transform Orientations](../../../../editors/3dview/controls/orientation.xhtml) for more information.

Proportional Editing
:   The extruded face will affect nearby geometry.
    See [Proportional Editing](../../../../editors/3dview/controls/proportional_editing.xhtml) for a full reference.
user: Provide the full official documentation entry for BlendDataPalettes(bpy_struct), preserving all code examples.

assistant: # BlendDataPalettes(bpy_struct)

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

*class* bpy.types.BlendDataPalettes(*bpy_struct*)
:   Collection of palettes

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

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

        Returns:
        :   New palette data-block

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

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

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

    tag(*value*)
    :   tag

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

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: Points
:   Standard geometry input.

Density
:   Value of voxels inside the generated fog volume.

Resolution Mode
:   How the voxel size is specified.

    Amount:
    :   Specify the approximate number of voxels along the diagonal.

    Size:
    :   Specify the voxel side length. It is recommended to be careful when tweaking this value,
        because small changes can have a large effect on the processing time.

Voxel Amount Amount
:   Specify the approximate number of voxels along the diagonal.

Voxel Size Size
:   Specify the voxel side length.

Radius
:   Specify the radius of the sphere generated at each point.
user: Provide the full official documentation entry for Introduction, preserving all code examples.

assistant: # Introduction

[image reference removed]

Cycles is Blender’s physically-based path tracer for production rendering.
It is designed to provide physically based results out-of-the-box,
with artistic control and flexible shading nodes for production needs.

To use Cycles, select it as the *Render Engine* in the Render properties.
For [GPU accelerated rendering](gpu_rendering.xhtml),
enable compatible devices in Preferences ‣ System ‣ Cycles Render Devices.