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

assistant: # Noise

[image reference removed]

Noise Texture panel.

Although this looks great, it is not Perlin Noise! This is a true, randomly generated Noise.
This gives a different result every time, for every frame, for every pixel.
user: Describe NodeGeometryRepeatOutputItems(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # NodeGeometryRepeatOutputItems(bpy_struct)

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

*class* bpy.types.NodeGeometryRepeatOutputItems(*bpy_struct*)
:   Collection of repeat items

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

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

        Returns:
        :   Item, New item

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

    remove(*item*)
    :   Remove an item

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

    clear()
    :   Remove all items

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

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

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: Relative Path
:   Select the file path relative to the blend-file.

Accuracy
:   Sample accuracy, important for animation data (the lower the value, the more accurate).

Container
:   See [here](../../../files/media/video_formats.xhtml).

Channels
:   The number of audio source “locations” to encode.
    Each channel can be mixed to a separate file by enabling *Split Channels* (see below).

    Mono:
    :   Output a single audio channel.

    Stereo:
    :   Output two audio channels; typically a left and right channel.

    Stereo LFE:
    :   Output a two audio channels with a “low-frequency effects” channel for frequencies below 120.

    4 Channels:
    :   Output a four audio channels.

    5.1 Surround:
    :   Output a five audio channels with one LFE channel.

    6.1 Surround:
    :   Output a six audio channels with one LFE channel.

    7.1 Surround:
    :   Output a seven audio channels with one LFE channel.

Format
:   Some *Audio Containers* also have option to choose a codec.
    For more information see [here](../../../files/media/video_formats.xhtml).

Sample Rate
:   Sets the audio [sampling rate](https://en.wikipedia.org/wiki/Sampling_(signal_processing)#Sampling_rate).

Split Channels
:   Each audio channel will be rendered into a separate file.
user: Give a detailed overview of CompositorNodeRotate(CompositorNode): syntax, arguments, return values, common patterns.

assistant: # CompositorNodeRotate(CompositorNode)

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"), [`CompositorNode`](bpy.types.CompositorNode.html#bpy.types.CompositorNode "bpy.types.CompositorNode")

*class* bpy.types.CompositorNodeRotate(*CompositorNode*)
:   Rotate image by specified angle

    *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")

    update()

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Provide the full official documentation entry for Lennard-Jones, preserving all code examples.

assistant: # Lennard-Jones

The *Lennard-Jones* force field is a very short range force with a behavior determined by the sizes of the effector
and effected particle. At a distance smaller than the combined sizes, the field is very
repulsive and after that distance it is attractive.
It tries to keep the particles at an equilibrium distance from each other.
Particles need to be at a close proximity to each other to be effected by this field at all.

Particles can have for example both a charge and a Lennard-Jones potential,
which is probably something for the nuclear physicists among us.

[image reference removed]

UI for a Lennard-Jones force field.
user: How do I use Introduction in Blender? Include parameters, examples, warnings and best practices.

assistant: # Introduction

The movement of particles may be controlled in a multitude of ways.
Here we will discuss only the particle physics in the narrower sense, i.e.
the settings in the Physics panel.

Additional ways of moving particles are:

- By soft body animation (only for Hair particle systems).
- By force fields and along curves.
- By lattices.
user: Explain Aerodynamics in complete detail according to the official Blender documentation.

assistant: Edges can be affected by wind as they move, and sail or flutter in a breeze.
A simple aerodynamic model of a flag sailing in the wind.

This special exterior force is not applied to the vertices but to the connecting edges.
Technically, a force perpendicular to the edge is applied.
The force scales with the projection of the relative speed on the edge (dot product).
Note that the force is the same if wind is blowing or if you drag the edge through the air
with the same speed. That means that an edge moving in its own direction subject to no force,
and an edge moving perpendicular to its own direction is subjected to maximum force.

The angle and the relative speed between medium and edge is used to calculate the force on the edge.
This force results that vertices with few connecting edges (front of a plane)
fall faster than vertices with more connecting edges (middle of a plane).
If all vertices have the same amount of edges in a direction they fall with equal speed.

The *Aerodynamics* settings are set in the [Soft Body Edges](../settings/edges.html#physics-softbody-settings-aerodynamics) panel.
user: Provide the full official documentation entry for Collections, preserving all code examples.

assistant: # Collections

Flow
:   If set, only objects in the specified [Collection](../../../../scene_layout/collections/collections.html)
    will be allowed to act as [Flow](../flow.html) objects in this domain.

Effector
:   If set, only objects in the specified [Collection](../../../../scene_layout/collections/collections.html)
    will be allowed to act as [Effector](../effector.html) objects in this domain.
user: Provide the full official documentation entry for Thumb, preserving all code examples.

assistant: # Thumb

Similar to the [Grab](grab.xhtml) brush,
but instead only moves the geometry along the surface (using the area plane).
This is useful for grabbing surfaces with a very specific direction,
or without making too impactful changes to the overall object shape.
user: Describe WireframeModifier(Modifier) from the Blender manual or Python API, including usage steps and snippets.

assistant: # WireframeModifier(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.WireframeModifier(*Modifier*)
:   Wireframe effect modifier

    crease_weight
    :   Crease weight (if active)

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

    invert_vertex_group
    :   Invert vertex group influence

        Type:
        :   boolean, default False

    material_offset
    :   Offset material index of generated faces

        Type:
        :   int in [-32768, 32767], default 0

    offset
    :   Offset the thickness from the center

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

    thickness
    :   Thickness factor

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

    thickness_vertex_group
    :   Thickness factor to use for zero vertex group influence

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

    use_boundary
    :   Support face boundaries

        Type:
        :   boolean, default False

    use_crease
    :   Crease hub edges for improved subdivision surface

        Type:
        :   boolean, default False

    use_even_offset
    :   Scale the offset to give more even thickness

        Type:
        :   boolean, default True

    use_relative_offset
    :   Scale the offset by surrounding geometry

        Type:
        :   boolean, default False

    use_replace
    :   Remove original geometry

        Type:
        :   boolean, default True

    vertex_group
    :   Vertex group name for selecting the affected areas

        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: How do I use Select Sharp Edges in Blender? Include parameters, examples, warnings and best practices.

assistant: # Select Sharp Edges

Selects edges whose faces intersect at an acute angle. This can be useful to find hard edges in a mesh.

Sharpness
:   Determines how sharp of an angle at an edge needs to be in order for it to be selected.
user: Explain Technical Details in complete detail according to the official Blender documentation.

assistant: A more formal definition of a meta object can be given as a *directing structure* which can
be seen as the source of a static field. The field can be either positive or negative and
hence the field generated by neighboring directing structures can attract or repel.

The implicit surface is defined as the surface where the 3D field generated by
all the directing structures assume a given value. For example a meta ball,
whose directing structure is a point, generates
an isotropic (i.e. identical in all directions) field around it and
the surfaces at constant field value are spheres centered at the directing point.

*Meta* objects are nothing more than mathematical formula that perform logical operations on one another
(AND, OR), and that can be added and subtracted from each other.
This method is also called *Constructive Solid Geometry* (CSG).
Because of its mathematical nature, CSG uses little memory, but requires lots of processing power to compute.
user: Explain Images in complete detail according to the official Blender documentation.

assistant: Use the figure directive for embedding images with captions:

```
.. figure:: /images/interface_splash_current.webp

   Splash screen of Blender.
```

### Screenshots Guidelines

To ensure consistency across screenshots:

1. Use Blender’s default theme and settings.
2. Zoom to the maximum level (`Ctrl`-`MMB` or `NumpadPlus`).
3. Zoom out exactly eight steps (`NumpadMinus`, pressed eight times).
4. Leave around a 30-pixel margin around the content, if applicable.

### File Naming

Follow these guidelines for naming image files:

- Use lowercase letters, no spaces, underscores between sections, and dashes within multi-word sections.
- Place images only in the `manual/images` directory (no subfolders).

Examples:

- `interface_splash_current.png`
- `modeling_meshes_edit-mode.png`

### Image Formats

- `.png`: For interface screenshots or solid-color images.
- `.jpg`: For photographic images or renders with high color variation.
- Avoid `.gif`; use embedded videos for animations instead.
user: Give a detailed overview of Bpy.Types.Actionconstraint: syntax, arguments, return values, common patterns.

assistant: r_rotation 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 Constraint.bl_rna_get_subclass Constraint.bl_rna_get_subclass_py Next ActionGroup(bpy_struct) Previous ActionChannelbags(bpy_struct) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page ActionConstraint(Constraint) ActionConstraint ActionConstraint.action ActionConstraint.action_slot ActionConstraint.action_slot_handle ActionConstraint.action_suitable_slots ActionConstraint.eval_time ActionConstraint.frame_end ActionConstraint.frame_start ActionConstraint.last_slot_identifier ActionConstraint.max ActionConstraint.min ActionConstraint.mix_mode ActionConstraint.subtarget ActionConstraint.target ActionConstraint.transform_channel ActionConstraint.use_bone_object_action ActionConstraint.use_eval_time ActionConstraint.bl_rna_get_subclass() ActionConstraint.bl_rna_get_subclass_py() Inherited Properties Inherited Functions
user: Describe Workspaces from the Blender manual or Python API, including usage steps and snippets.

assistant: # Workspaces

Workspaces are essentially predefined window layouts.
Each Workspace consists of a set of [Areas](areas.html)
containing [Editors](../../editors/index.html), and is geared towards a specific task such as
modeling, animating, or scripting. You’ll typically switch between
multiple Workspaces while working on a project.

[image reference removed]

Workspaces are located at the Topbar.
user: Describe Introduction from the Blender manual or Python API, including usage steps and snippets.

assistant: # Introduction

Mesh Modeling typically begins with
a [Mesh Primitive](primitives.xhtml) shape (e.g. circle, cube, cylinder…).
From there you might begin editing to create a larger, more complex shape.
user: Provide the full official documentation entry for Options, preserving all code examples.

assistant: [image reference removed]

The Wireframe modifier.

Thickness
:   The depth or size of the wireframes.

Offset
:   A value between (-1 to 1) to change whether the wireframes are
    generated inside or outside of the original mesh.
    Set to zero, *Offset* will center the wireframes around the original edges.

Boundary
:   Creates wireframes on mesh island boundaries.

Replace Original
:   If this option is enabled, the original mesh is replaced by the generated wireframe.
    If not, the wireframe is generated on top of it.

Thickness
:   Even
    :   Maintain thickness by adjusting for sharp corners.
        Sometimes improves quality but also increases computation time.

    Relative
    :   Determines the edge thickness by the length of the edge. Longer edges will be thicker.

Crease Edges
:   This option is intended for usage with
    the [Subdivision](subdivision_surface.xhtml) modifier.
    Enable this option to crease edges on their junctions and prevent large curved intersections.

    Crease Weight
    :   Define how much crease (0 to 1, nothing to full) the junctions should receive.

Material Offset
:   Uses the chosen material index as the material for the wireframe;
    this is applied as an offset from the first material.

### Vertex Group

The weights of the selected vertex group are multiplied onto the *Thickness*,
so vertices with lower weights will be less thick. The vertices which are not part
of the vertex group will be used as if their weight was zero.

Invert
:   Reverses the vertex group weights, so that the used weight is one minus the actual weight.

Factor
:   How much the vertex weights are taken into account.

    - On 0.0 , vertices with zero weight will have no thickness at all.
    - On 0.5 , vertices with zero weight will be half as thick as those with full weight.
    - On 1.0 , the weights are ignored and the *Thickness* value is used for every vertex.
user: What is TextureNodeGroup(TextureNode) and how is it used in Blender Python scripting?

assistant: # TextureNodeGroup(TextureNode)

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"), [`TextureNode`](bpy.types.TextureNode.html#bpy.types.TextureNode "bpy.types.TextureNode")

*class* bpy.types.TextureNodeGroup(*TextureNode*)
:   node_tree
    :   Type:
        :   [`NodeTree`](bpy.types.NodeTree.html#bpy.types.NodeTree "bpy.types.NodeTree")

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

assistant: [image reference removed]

Locked Track constraint.

[Target](../interface/common.html#rigging-constraints-interface-common-target)
:   The object or bone to point towards.

Track Axis
:   The local axis of the owner that should point at the target.
    For bones, this should typically be Y.

    A negative axis will make the owner point away from the target instead.

Locked Axis
:   The local axis of the owner that should keep its orientation.
    In other words, the only axis which the owner can rotate around.

[Influence](../interface/common.html#bpy-types-constraint-influence)
:   How strongly the constraint affects the owner.
user: Give a detailed overview of Format Options: syntax, arguments, return values, common patterns.

assistant: `-F`, `--render-format` `<format>`
:   Set the render format.
    Valid options are:
    `TGA` `RAWTGA` `JPEG` `IRIS` `PNG` `BMP` `HDR` `TIFF`.

    Formats that can be compiled into Blender, not available on all systems:
    `OPEN_EXR` `OPEN_EXR_MULTILAYER` `FFMPEG` `CINEON` `DPX` `JP2` `WEBP`.

`-x`, `--use-extension` `<bool>`
:   Set option to add the file extension to the end of the file.
user: Describe FloatAttribute(Attribute) from the Blender manual or Python API, including usage steps and snippets.

assistant: # FloatAttribute(Attribute)

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

*class* bpy.types.FloatAttribute(*Attribute*)
:   Geometry attribute that stores floating-point values

    data
    :   Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`FloatAttributeValue`](bpy.types.FloatAttributeValue.html#bpy.types.FloatAttributeValue "bpy.types.FloatAttributeValue"), (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 Options in Blender? Include parameters, examples, warnings and best practices.

assistant: [image reference removed]

Tint Modifier.

Mode
:   The color transformation will be applied on the stroke and/or the fill color.

    Stroke & Fill, Stroke, Fill

Strength
:   Controls the amount for the color mixing.

    A value of 0 respect the original stroke’s color,
    a value of 1.0 totally replace the original color with the tint color.

    A shift greater than 1.0 will make the points alpha less transparent than originally (2.0 is fully opaque).

Tint Type
:   Uniform:
    :   Color
        :   Defines the tint color for mixing with the original color.

    Gradient:
    :   Color Ramp
        :   Defines the tint gradient color for mixing with the original color.
            For controls see [Color Ramp Widget](../../../interface/controls/templates/color_ramp.html#ui-color-ramp-widget).

        Object
        :   A [Data ID](../../../interface/controls/templates/data_block.html#ui-data-id) to select an object (usually an empty),
            which position and rotation will be used to define the center of the effect.

        Radius
        :   Defines the maximum distance of the effect.

### Influence

See [Influence Filters](../introduction.html#grease-pencil-modifier-influence-filters).
user: What is References and how is it used in Blender Python scripting?

assistant: |  |  |
| --- | --- |
| - [`bpy.context.speaker`](bpy.context.html#bpy.context.speaker "bpy.context.speaker") - [`BlendData.speakers`](bpy.types.BlendData.html#bpy.types.BlendData.speakers "bpy.types.BlendData.speakers") | - [`BlendDataSpeakers.new`](bpy.types.BlendDataSpeakers.html#bpy.types.BlendDataSpeakers.new "bpy.types.BlendDataSpeakers.new") - [`BlendDataSpeakers.remove`](bpy.types.BlendDataSpeakers.html#bpy.types.BlendDataSpeakers.remove "bpy.types.BlendDataSpeakers.remove") |
user: What is Options and how is it used in Blender Python scripting?

assistant: [image reference removed]

Inset operator options.

Boundary `B`
:   Determines whether open edges will be inset or not.

Offset Even
:   Scale the offset to give a more even thickness.

Offset Relative
:   Scale the offset by lengths of surrounding geometry.

Edge Rail
:   Created vertices slide along the original edges of the inner geometry, instead of the normals.

Thickness
:   Set the size of the offset.

Depth `Ctrl`
:   Raise or lower the newly inset faces to add depth.

Outset `O`
:   Create an outset rather than an inset.
    Causes the geometry to be created surrounding selection (instead of within).

Select Outer
:   Toggle which side of the inset is selected after the operation.

Individual `I`
:   By default the Inset tool operates on the region around selected faces,
    but with this option each selected face can be inset on its own.

Interpolate
:   Interpolate mesh data: e.g. UVs, Color Attribute’s colors, weights, etc.
user: What is Image Info Node and how is it used in Blender Python scripting?

assistant: # Image Info Node

[image reference removed]

The *Image Info* node gets information from image and animation.
This can be useful to generate parameters in the geometry node for arbitrary images. Image information can be either
general or frame-specific.
user: Give a detailed overview of Floor Constraint: syntax, arguments, return values, common patterns.

assistant: # Floor Constraint

The *Floor* constraint sets up a flat and infinitely large floor (or wall, or ceiling)
which the constrained object or bone cannot pass through.

Like other constraints, the *Floor* constraint only looks at the
[origin](../../../scene_layout/object/origin.xhtml) for objects; their geometry is not taken into account.
This means that, if a cube’s origin is at its center and a *Floor* constraint is added targeting a
floor plane, the cube will still be able to sink halfway into the plane.
The *Offset* can be used to mitigate this.
user: How do I use GeometryNodeInputNamedLayerSelection(GeometryNode) in Blender? Include parameters, examples, warnings and best practices.

assistant: # GeometryNodeInputNamedLayerSelection(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.GeometryNodeInputNamedLayerSelection(*GeometryNode*)
:   Output a selection of a Grease Pencil layer

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

assistant: # FModifierEnvelopeControlPoint(bpy_struct)

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

*class* bpy.types.FModifierEnvelopeControlPoint(*bpy_struct*)
:   Control point for envelope F-Modifier

    frame
    :   Frame this control-point occurs on

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

    max
    :   Upper bound of envelope at this control-point

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

    min
    :   Lower bound of envelope at this control-point

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

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: - **Based on the 2D Animation Template:**
  Includes the familiar 2D drawing workspace with a *Grease Pencil* object for sketching.
- **Sequencer with Sync Scene Enabled:**
  The Sequencer editor is set to *Sync Scene*, allowing each strip in the timeline to automatically
  switch and display its corresponding scene when selected. This makes it easy to jump between
  shots during editing.
- **Preconfigured Scenes:**

  - **Edit Scene:** A master scene used in the Sequencer to assemble all shots.
  - **Shot.000 (Asset):** A pre-made *Scene Asset* that serves as a blueprint for new shots.
    Users can duplicate this asset in the Sequencer to create new shots quickly.
  - **Shot.001 and Shot.002:** Example shot scenes created from the *Shot.000* asset.
user: How do I use Edit Mode in Blender? Include parameters, examples, warnings and best practices.

assistant: When working with dense geometry, it can become difficult to make subtle adjustments
without causing visible lumps and creases in the model’s surface.
When you face situations like this, Proportional Editing can help.

[image reference removed]

Proportional Editing in Edit Mode.

### Options

Connected Only `Alt`-`O`
:   Rather than using a radius only, the proportional falloff spreads via connected geometry.
    This means that you can proportionally edit the vertices in a finger of a hand
    without affecting the other fingers. While the other vertices are physically close (in 3D space),
    they are far away following the topological edge connections of the mesh.
    The icon will have a blue center when *Connected* is active.
    This mode is only available in *Edit Mode*.

Projected from View
:   Depth along the view is ignored when applying the radius.

    [image reference removed]

    The difference between having “Projected from View” disabled (left) and enabled (right).
user: Provide the full official documentation entry for Image Info Node, preserving all code examples.

assistant: # Image Info Node

[image reference removed]

The *Image Info* node gets information from image and animation.
This can be useful to generate parameters in the geometry node for arbitrary images. Image information can be either
general or frame-specific.
user: Give a detailed overview of Connect to Output: syntax, arguments, return values, common patterns.

assistant: Connect the output of the selected node to the final output of the node tree
(Material Output or World Output in Shader,
the final Group Output in Geometry Nodes and Compositor, Output in Texture Nodes),
or, if the node is inside a group, to the Group Output.
user: Describe ShaderNodeTexWhiteNoise(ShaderNode) from the Blender manual or Python API, including usage steps and snippets.

assistant: # ShaderNodeTexWhiteNoise(ShaderNode)

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

*class* bpy.types.ShaderNodeTexWhiteNoise(*ShaderNode*)
:   Calculate a random value or color based on an input seed

    noise_dimensions
    :   Number of dimensions to output noise for

        - `1D`
          1D – Use the scalar value W as input.
        - `2D`
          2D – Use the 2D vector (X, Y) as input. The Z component is ignored..
        - `3D`
          3D – Use the 3D vector (X, Y, Z) as input.
        - `4D`
          4D – Use the 4D vector (X, Y, Z, W) as input.

        Type:
        :   enum in [`'1D'`, `'2D'`, `'3D'`, `'4D'`], default `'1D'`

    *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: Provide the full official documentation entry for Volume Displace Modifier, preserving all code examples.

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: What is Setting up the Build Environment and how is it used in Blender Python scripting?

assistant: - Open a Terminal window.
- Enter the `blender-manual` folder which was just added by `git clone`:

  ```
  cd C:\blender-manual
  ```
- Install dependencies:

  ```
  make setup
  ```
- If all goes well, you should see the following message when it is finished:

  ```
  Successfully installed Jinja2 MarkupSafe Pygments Sphinx docutils sphinx-rtd-theme Cleaning up...
  ```

During setup, some warnings may be shown, but do not worry about them. However, if any errors occur, they may cause
some problems.
user: How do I use Tool Settings in Blender? Include parameters, examples, warnings and best practices.

assistant: [image reference removed]

Curve Stroke panel.

Type
:   Type of curve to use for drawing.

    Poly:
    :   Bézier Curve with straight line segments (auto handles).

    Bézier:
    :   Tolerance
        :   Lower values give a result that is closer to the drawing stroke,
            while higher values give more smoothed results.

        Method
        :   Refit:
            :   Incrementally refits the curve (gives best results).

            Split:
            :   Splits the curve until the tolerance is met (gives a better drawing performance).

        Detect Corners
        :   Detects corners while drawing based on a specified angle;
            Any angles above the specified value are considered corners.
            If a corner is detected, the curve uses non-aligned handles
            for the corner resulting in a more crisp corner.

Taper Start, End
:   Taper factor for the radius of the start and end points along the curve.

Radius Min
:   Minimum radius when the minimum pressure is applied (also the minimum when tapering).

Max
:   Radius to use when the maximum pressure is applied (or when a tablet is not used).

Use Pressure
:   Uses stylus pressure to control the radius of the curve.

Depth
:   Controls where and how the curves are drawn.

    Cursor:
    :   Uses the depth under the cursor to draw curves.

    Surface:
    :   Used to draw on top of other objects.

        Project Onto Selected
        :   Only project the strokes onto selected objects.

        Offset
        :   Distance to offset the curve from the surface.

        Absolute Offset
        :   Applies a fixed offset (does not scale by the curve radius).

        Only First
        :   Only uses the start of the stroke for the depth.

        Plane
        :   The orientation plane to draw on, available when *Only First* is enabled.

            Normal to Surface:
            :   Draws aligned to the surface.

            Tangent to Surface:
            :   Draws perpendicular to the surface.

            View:
            :   Draws aligned to the viewport.
user: What is RenderSlot(bpy_struct) and how is it used in Blender Python scripting?

assistant: # RenderSlot(bpy_struct)

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

*class* bpy.types.RenderSlot(*bpy_struct*)
:   Parameters defining the render slot

    name
    :   Render slot name

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

    clear(*iuser*)
    :   Clear the render slot

        Parameters:
        :   **iuser** ([`ImageUser`](bpy.types.ImageUser.html#bpy.types.ImageUser "bpy.types.ImageUser")) – ImageUser

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

assistant: Data Type
:   The data type that is used for mixing.
    The node supports float, vector, color, and rotation data types.

Factor Mode (Vector only)
:   The factor mode can be set to *Uniform* and *Non-Uniform*.
    In uniform mode, a single float controls the factor.
    In non-uniform mode, a vector controls the factor for
    each XYZ channel separately.

Mix (Color only)
:   The Blend modes can be selected in the select menu.
    See [Color Blend Modes](../../../../glossary/index.xhtml#term-Color-Blend-Modes) for details on each blending mode.

    Add, Subtract, Multiply, Screen, Divide, Difference,
    Darken, Lighten, Overlay, Color Dodge, Color Burn,
    Hue, Saturation, Value, Color, Soft Light, Linear Light

Clamp Factor
:   Limit the factor value between 0.0 and 1.0. If this option is
    unchecked then the node operates using *Extrapolation*.

Clamp Result (Color only)
:   Limit the Result to the range between 0.0 and 1.0.
user: Provide the full official documentation entry for Dope Sheet View, preserving all code examples.

assistant: # Dope Sheet View

[image reference removed]

Dope Sheet View.

The Dope Sheet View is used to visualize motion tracking data,
it is implemented as separate view of the Movie Clip editor just like the Graph View.

It displays channels for selected tracks and each channel visualizes tracked
segments of tracks as dark bars and keyframed positions of tracks as small diamonds.

The background is highlighted depending on the number of tracks in a frame.
This means that if for a frame (or sequence of frames) there are less than eight tracks,
the background will turn red;
if there are from eight to sixteen tracks, the background will be yellow.

This is only a visual feedback, which doesn’t mean that the camera motion will not
reconstruct with less than eight tracks. It only means that you should pay attention to those frames and
check if all possible good feature points are tracked there. Remember, if there are no good feature points in
the frame and there are less than 16 tracks in the frame, it doesn’t mean the solution won’t be accurate.
Rather, adding more tracks on bad feature points will reduce the accuracy of solution.
user: What is Bake Node and how is it used in Blender Python scripting?

assistant: # Bake Node

[image reference removed]

The *Bake* node allows saving and loading intermediate geometries.
This node bakes parts of the node tree for better performance.

The data format used to store geometry data is not considered to be an import/export format.
Volume objects, however, are saved using the OpenVDB file format which can be used interoperably.
user: Show practical ways to work with Properties in a Blender add-on or script – include code.

assistant: Mode
:   Vertices:
    :   Points are generated for each vertex.

    Edges:
    :   Points are generated for each edge, at the middle of each edge, by default.

    Faces:
    :   Points are generated for each face, at the average of all of each face’s vertices, by default.

    Corners:
    :   Points are generated for each corner. The points are all placed at the location of each
        corners vertex, so they will overlap by default.
user: Provide the full official documentation entry for Examples, preserving all code examples.

assistant: ### F82 Tint

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
|  | ../../../_images/render_shader-nodes_shader_metallic_f82-Ti.webp | ../../../_images/render_shader-nodes_shader_metallic_f82-Al.webp | ../../../_images/render_shader-nodes_shader_metallic_f82-Cu.webp | ../../../_images/render_shader-nodes_shader_metallic_f82-Au.webp |
| Material | Titanium (Default) | Aluminum | Copper | Gold |
| Base Color | 0.617, 0.576, 0.540 | 0.911, 0.912, 0.917 | 0.972, 0.694, 0.486 | 1.000, 0.735, 0.353 |
| Edge Tint | 0.695, 0.726, 0.770 | 0.848, 0.877, 0.916 | 0.961, 0.969, 0.942 | 0.993, 1.000, 1.000 |

### Physical Conductor

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
|  | ../../../_images/render_shader-nodes_shader_metallic_physical-Ti.webp | ../../../_images/render_shader-nodes_shader_metallic_physical-Al.webp | ../../../_images/render_shader-nodes_shader_metallic_physical-Cu.webp | ../../../_images/render_shader-nodes_shader_metallic_physical-Au.webp |
| Material | Titanium (Default) | Aluminum | Copper | Gold |
| IOR | 2.757, 2.512, 2.231 | 1.333, 0.945, 0.582 | 0.235, 0.729, 1.369 | 0.000, 0.470, 1.439 |
| Extinction | 3.867, 3.404, 3.009 | 7.434, 6.340, 5.181 | 5.666, 2.562, 2.227 | 182.6, 2.189, 1.660 |
user: Provide the full official documentation entry for Add Curves, preserving all code examples.

assistant: # Add Curves

Used to distribute new curves on the surface mesh.
This tool requires the curve to have a [surface](../introduction.html) object set.

The curves follow the surface normals. Using the interpolation options allows the brush to take the characteristics
of existing curves.
user: Provide the full official documentation entry for Outputs, preserving all code examples.

assistant: Mean
:   The average value of all data.

Median
:   The median value of all data.

Sum
:   The sum value of all data.

Min
:   The min value of all data.

Max
:   The max value of all data.

Range
:   The difference between the max and min value.

Standard Deviation
:   How much values differ from the mean.
    A low standard deviation indicates that the values are grouped tightly together at the mean.
    A high standard deviation indicates that the values are spread out over a large range.

Variance
:   The variance of all data, defined as the square of the standard deviation.
user: Explain ID Property Access (idprop.types) in complete detail according to the official Blender documentation.

assistant: # ID Property Access (idprop.types)

*class* idprop.types.IDPropertyArray
:   to_list()
    :   Return the array as a list.

    typecode
    :   The type of the data in the array {‘f’: float, ‘d’: double, ‘i’: int, ‘b’: bool}.

*class* idprop.types.IDPropertyGroup
:   clear()
    :   Clear all members from this group.

    get(*key*, *default=None*)
    :   Return the value for key, if it exists, else default.

    items()
    :   Iterate through the items in the dict; behaves like dictionary method items.

    keys()
    :   Return the keys associated with this group as a list of strings.

    pop(*key*, *default*)
    :   Remove an item from the group, returning a Python representation.

        Raises:
        :   **KeyError** – When the item doesn’t exist.

        Parameters:
        :   - **key** (*str*) – Name of item to remove.
            - **default** (*Any*) – Value to return when key isn’t found, otherwise raise an exception.

    to_dict()
    :   Return a purely Python version of the group.

    update(*other*)
    :   Update key, values.

        Parameters:
        :   **other** (`IDPropertyGroup` | dict[str, Any]) – Updates the values in the group with this.

    values()
    :   Return the values associated with this group.

    name
    :   The name of this Group.

*class* idprop.types.IDPropertyGroupIterItems

*class* idprop.types.IDPropertyGroupIterKeys

*class* idprop.types.IDPropertyGroupIterValues

*class* idprop.types.IDPropertyGroupViewItems

*class* idprop.types.IDPropertyGroupViewKeys

*class* idprop.types.IDPropertyGroupViewValues
user: How do I use Outputs in Blender? Include parameters, examples, warnings and best practices.

assistant: Curve Instances
:   Geometry output containing one instance per character.

Remainder
:   The part of the text that did not fit in the box described by the *Text Box Height* and
    *Text Box Width* inputs. Only used in the *Truncate* overflow mode.

Line
:   An attribute field containing the line index of each character
    (on the [instance domain](../../attributes_reference.html#attribute-domains)).

Pivot Point
:   Outputs the position described by the *Pivot Point* drop-down in the local space of each instance.