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

assistant: ### Manual Z-Mask

[image reference removed]

Minimum and maximum function example.

The top *Render Layers* node has a cube that is about 10 units from the camera.
The bottom *Render Layers* node has a plane that covers the left half of the view
and is 7 units from the camera.
Both are fed through their respective *Map Value* nodes to multiply the depth value by
0.05 and clamp it to [0.0, 1.0], bringing it into a suitable range for displaying it as a color.

The Minimum node selects the smallest of the two depth values at each pixel. In the left half,
it chooses the plane (because it’s closer than the cube), and in the right half,
it chooses the cube (because it’s closer than the background, which is infinitely far away).

The Maximum node selects the largest of the two depth values at each pixel. In the left half,
it chooses the cube (because it’s farther away than the plane), and in the right half,
it chooses the background (because it’s farther away than the cube).

### Using Sine Function to Pulsate

[image reference removed]

Using sine function example.

This example has a *Time* node putting out a linear sequence from 0 to 1 over the course of 101 frames.
At frame 25, the output value is 0.25.
That value is multiplied by 2 × pi (6.28) and converted to 1.0 by the Sine function,
since \(sin(2 × pi/ 4) = sin(pi/ 2) = +1.0\).

Since the sine function can output values between (-1.0 to 1.0),
the *Map Value* node scales that to 0.0 to 1.0 by taking the input (-1 to 1), adding 1
(making 0 to 2), and multiplying the result by 0.5 (thus scaling the output between 0 to 1).
The default *Color Ramp* converts those values to a gray-scale.
Thus, medium gray corresponds to a 0.0 output by the sine, black to -1.0,
and white to 1.0. As you can see, \(sin(pi/ 2) = 1.0\). Like having your own visual color calculator!
Animating this node setup provides a smooth cyclic sequence through the range of grays.

Use this function to vary, for example,
the alpha channel of an image to produce a fading in/out effect.
Alter the Z channel to move a scene in/out of focus.
Alter a color channel value to make a color “pulse”.

### Brightening (Scaling) a Channel

[image reference removed]

Scaling a channel example.

This example has a *Math (Multiply)* node increasing the luminance channel (Y)
of the image to make it brighter. Note that you should use a *Map Value node*
with min() and max() enabled to clamp the output to valid values.
With this approach, you could use a logarithmic function to make a high dynamic range image.
For this particular example,
there is also a *Brightness/Contrast node* that might give simpler control over brightness.
user: Explain Outputs in complete detail according to the official Blender documentation.

assistant: Corner Index
:   The geometry-wide index of the selected corner. You can pass this to the
    [Evaluate at Index Node](../../utilities/field/evaluate_at_index.xhtml) or the
    [Sample Index Node](../../geometry/sample/sample_index.xhtml) (with the domain set to Face Corner)
    to retrieve details about the corner.

Total
:   The number of adjacent corners, which is also the number of faces.
user: Describe NodeSocketFloatFactor(NodeSocketStandard) from the Blender manual or Python API, including usage steps and snippets.

assistant: # NodeSocketFloatFactor(NodeSocketStandard)

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

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

    default_value
    :   Input value used for unconnected socket

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

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

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

        (readonly)

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: # OpenColorIO

Blender comes with a standard OpenColorIO configuration that
contains a number of useful display devices and view transforms.

However, OpenColorIO is also designed to give a consistent user experience across
[multiple applications](https://opencolorio.org/#supported_apps),
and for this, a single shared configuration file can be used.
Blender will use the standard `OCIO` environment variable to read an OpenColorIO configuration
other than the default Blender one. More information about how to set up such a workflow
can be found on the [OpenColorIO website](https://opencolorio.org/).

There is also a `BLENDER_OCIO` environment variable to change the configuration
for Blender only. It is recommended to use `OCIO` when possible for compatibility
with other software and pipelines that may not be aware of `BLENDER_OCIO`. However
sometimes there are incompatibilities in configuration files that make it difficult
to share them across applications.
user: Give a detailed overview of Drivers: syntax, arguments, return values, common patterns.

assistant: Upgrading to the latest graphics drivers often solves problems. Newer drivers have bug fixes that help Blender
function correctly.

On Linux, graphics drivers are usually installed as a package by your Linux distribution. Installing the latest
drivers is typically done by upgrading packages or the distribution as a whole. Some distributions provide multiple
packages for multiple drivers versions, giving you the choice to install newer versions.

For NVIDIA, there are open source (Nouveau) and closed source (by NVIDIA) graphics drivers. Blender functions best
with the closed source drivers as they are more optimized and complete. Linux graphics drivers can be downloaded from
NVIDIA’s website, however in most cases the ones from your Linux distribution are fine and make things easier.
Manually downloading drivers is mostly useful to get the very latest version, for example for a GPU that was only
recently released.

Note, drivers before 550 do not support Vulkan!

[NVIDIA Website](https://www.nvidia.com/Download/index.aspx)
user: What is [Draw Brushes](draw.xhtml) and how is it used in Blender Python scripting?

assistant: Draw brushes are the special type of brushes that uses Grease Pencil for drawing tools.
The brush can be changed in the Tool Settings.
The different draw brushes (pencil, Ink, marker, etc.) are settings variations of the same *Draw Brush*.
You can create many brushes, each with unique settings to get different artistic result while drawing.
user: How do I use AOV Output Node in Blender? Include parameters, examples, warnings and best practices.

assistant: # AOV Output Node

[image reference removed]

Shader AOVs (Arbitrary Output Variables) provide custom render passes for arbitrary shader node components.
As an artist this can be a good way to debug or tweak very fine details of a scene in post-processing.
To use shader AOVs create the pass in the [Shader AOV](../../layers/passes.xhtml#bpy-types-aov) panel
then reference that pass with the *AOV Output* shading node.
Shader AOVs can be added or removed in the *Shader AOV* panel.
user: Give a detailed overview of Shade Smooth & Flat: syntax, arguments, return values, common patterns.

assistant: # Shade Smooth & Flat

The appearance of the mesh edges are determined to be evened out or well defined within the 3D Viewport and render.
In Edit Mode, individual faces can be selected to determine which faces are smoothed or flattened.
user: How do I use ShaderNodeValToRGB(ShaderNode) in Blender? Include parameters, examples, warnings and best practices.

assistant: # ShaderNodeValToRGB(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.ShaderNodeValToRGB(*ShaderNode*)
:   Map values to colors with the use of a gradient

    color_ramp
    :   Type:
        :   [`ColorRamp`](bpy.types.ColorRamp.html#bpy.types.ColorRamp "bpy.types.ColorRamp"), (readonly)

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

        Returns:
        :   Result

        Return type:
        :   boolean

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

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

        Returns:
        :   result

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

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

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

        Returns:
        :   result

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

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

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

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

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

        Returns:
        :   The class or default when not found.

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

assistant: Grid
:   The input grid whose transform will be changed.

Transform
:   The new transform from grid index space to object space.
    This determines how the voxel grid is positioned and oriented in 3D space.
    Typically this input comes from a [Transformation Matrix](../../../../glossary/index.html#term-Transformation-Matrix)/
user: Explain Velocity in complete detail according to the official Blender documentation.

assistant: # Velocity

The initial velocity of particles can be set through different parameters,
based on the type of the particle system.
If the particle system type is Emitter or Hair,
then the following parameters give the particle an initial velocity.

Normal
:   The emitter’s surface normals (i.e. let the surface normal give the particle a starting speed).

Tangent
:   Let the tangent speed give the particle a starting speed.

Tangent Phase
:   Rotates the surface tangent.

Object Align
:   Give an initial velocity in the X, Y, and Z axes.

    X, Y, Z

Object Velocity
:   The emitter objects movement (i.e. let the object give the particle a starting speed).

Randomize
:   Gives the starting speed a random variation.
    You can use a texture to only change the value, see Controlling Emission, Interaction and Time.
user: Show practical ways to work with Switch Direction in a Blender add-on or script – include code.

assistant: # Switch Direction

This tool allows you to switch the direction of the selected bones
(i.e. their root will become their tip, and vice versa).

Switching the direction of a bone will generally break the chain(s) it belongs to.
However, if you switch a whole (part of a) chain, the switched bones will still be parented/connected,
but in “reversed order”. See the Fig. [Switching example.](#fig-rig-properties-switch).

Switching example.

|  |  |
| --- | --- |
| ../../../../_images/animation_armatures_bones_editing_switch-direction_example-1.png   An armature with one selected bone, and one selected chain of three bones, just before switching. | ../../../../_images/animation_armatures_bones_editing_switch-direction_example-2.png   The selected bones have been switched. Bone.005 is no more connected nor parented to anything. The chain of switched bones still exists, but reversed (now Bone.002 is its root, and Bone is its tip). Bone.003 is now a free bone. |
user: What is Bpy.Types.Shadernodeteximage and how is it used in Blender Python scripting?

assistant: de.bl_rna_get_subclass ShaderNode.bl_rna_get_subclass_py Next ShaderNodeTexMagic(ShaderNode) Previous ShaderNodeTexIES(ShaderNode) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page ShaderNodeTexImage(ShaderNode) ShaderNodeTexImage ShaderNodeTexImage.color_mapping ShaderNodeTexImage.extension ShaderNodeTexImage.image ShaderNodeTexImage.image_user ShaderNodeTexImage.interpolation ShaderNodeTexImage.projection ShaderNodeTexImage.projection_blend ShaderNodeTexImage.texture_mapping ShaderNodeTexImage.is_registered_node_type() ShaderNodeTexImage.input_template() ShaderNodeTexImage.output_template() ShaderNodeTexImage.bl_rna_get_subclass() ShaderNodeTexImage.bl_rna_get_subclass_py() Inherited Properties Inherited Functions
user: Show practical ways to work with Select Edge Rings in a Blender add-on or script – include code.

assistant: In *Edge* select mode, holding `Ctrl`-`Alt`
while selecting an edge (or two vertices) selects a sequence of edges that are not connected,
but on opposite sides to each other continuing along a [face loop](../structure.html).

As with edge loops, you can also select edge rings based on current selection,
using either Select ‣ Select Loops ‣ Edge Rings.

[image reference removed]

A selected edge loop, and a selected edge ring.

In Fig. [A selected edge loop, and a selected edge ring.](#fig-mesh-select-advanced-loop-ring) the same edge was clicked on,
but two different “groups of edges” were selected, based on the different tools.
One is based on edges during computation and the other is based on faces.
user: Describe Error Messages from the Blender manual or Python API, including usage steps and snippets.

assistant: Vertex group *group_name* is not valid
:   This message is displayed when a user deletes the vertex group or changes its name.

Vertices changed from X to Y
:   This message is displayed when a user adds or deletes vertices to/from the mesh.

Edges changed from X to Y
:   This message is displayed when a user adds or deletes edges to/from the mesh.

The system did not find a solution
:   This message is displayed if the solver could not find a solution for the linear system.
user: Explain RenderView(bpy_struct) in complete detail according to the official Blender documentation.

assistant: # RenderView(bpy_struct)

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

*class* bpy.types.RenderView(*bpy_struct*)
:   name
    :   Type:
        :   string, default “”, (readonly, never None)

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

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

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

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

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Give a detailed overview of CompositorNodeRGB(CompositorNode): syntax, arguments, return values, common patterns.

assistant: # CompositorNodeRGB(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.CompositorNodeRGB(*CompositorNode*)
:   A color picker

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

assistant: Image
:   Standard color input.

Mask
:   Controls the amount of influence the node exerts on the output image.

### Master

These settings target the entire tonal range.

Saturation
:   Adjusts the image’s saturation.

Contrast
:   Adjust image contrast.

Gamma
:   Exponential gamma correction, affecting the midtones of the image. (Works like Power in the Color Balance node.)

Gain
:   Multiplier, stronger influence on the highlights. (Works like Slope in the Color Balance node.)

Offset
:   This value (can be negative) will be added (+), linear lightens or darkens the image.

### Highlights / Midtones / Shadows

These settings target specific brightness ranges of the image.

Each tonal range (Highlights, Midtones, Shadows) supports the same controls as Master.

### Tonal Ranges

Midtones Start, Midtones End
:   Defines the start and the end of midtones range, i.e.
    values where the whole tonal range is divided into the highlights, midtones and shadows
    (there is also a smooth transition between the ranges of width 0.2 units).

### Channels

Red, Green, Blue
:   Specifies which RGB channels will be affected by the correction.
user: Show practical ways to work with Sun Light in a Blender add-on or script – include code.

assistant: A sun light provides light of constant intensity emitted in a single direction from infinitely far away.
It can be very handy for a uniform clear daylight open-space illumination. In the 3D Viewport,
the sun light is represented by an encircled black dot with rays emitting from it,
plus a dashed line indicating the direction of the light.

Strength
:   Strength of the lights. See more details at [Power of Lights](#power-of-lights).

Angle
:   The size of the sun light according to its
    [angular diameter](https://en.wikipedia.org/wiki/Angular_diameter#Use_in_astronomy)
    as seen from earth.
user: Describe PointLight(Light) from the Blender manual or Python API, including usage steps and snippets.

assistant: # PointLight(Light)

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

*class* bpy.types.PointLight(*Light*)
:   Omnidirectional point Light

    energy
    :   Light energy emitted over the entire area of the light in all directions, in units of radiant power (W)

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

    shadow_buffer_clip_start
    :   Shadow map clip start, below which objects will not generate shadows

        Type:
        :   float in [1e-06, inf], default 0.05

    shadow_filter_radius
    :   Blur shadow aliasing using Percentage Closer Filtering

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

    shadow_jitter_overblur
    :   Apply shadow tracing to each jittered sample to reduce under-sampling artifacts

        Type:
        :   float in [0, 100], default 10.0

    shadow_maximum_resolution
    :   Minimum size of a shadow map pixel. Higher values use less memory at the cost of shadow quality.

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

    shadow_soft_size
    :   Light size for ray shadow sampling (Raytraced shadows)

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

    use_absolute_resolution
    :   Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel

        Type:
        :   boolean, default False

    use_shadow_jitter
    :   Enable jittered soft shadows to increase shadow precision (disabled in viewport unless enabled in the render settings). Has a high performance impact.

        Type:
        :   boolean, default False

    use_soft_falloff
    :   Apply falloff to avoid sharp edges when the light geometry intersects with other objects

        Type:
        :   boolean, default True

    inline_shader_nodes()
    :   Get the inlined shader nodes of this light. This preprocesses the node tree
        to remove nested groups, repeat zones and more.

        Returns:
        :   The inlined shader nodes.

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

    *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: Scene
:   A [Data-Block Menu](../../../../interface/controls/templates/data_block.xhtml#ui-data-block) to select or create the scene to render from.

Input
:   Input type to use for the Scene strip.

    Camera:
    :   Use the Scene’s 3D camera as input.

    Sequencer:
    :   Use the scene’s Sequencer timeline as input, allowing one scene to reuse
        another scene’s edit (instead of taking the render output from the scene).

        This is similar to how [Meta Strips](../meta.xhtml) work,
        with the added advantage of supporting multiple instances of the same data.

Camera
:   This can be used to override the scene’s camera with any other object.

    It is useful to support switching views within a single scene.

Show
:   Annotations
    :   Shows [Annotations](../../../../interface/annotate_tool.xhtml) while in non-render
        [Preview Shading Modes](../../../../editors/video_sequencer/preview/sidebar.xhtml#bpy-types-rendersettings-sequencer-gl-preview)
        i.e. *Solid* or *Wireframe* mode.

    Transparent
    :   Creates a transparent background.
        This is useful for doing overlays like rendering out Grease Pencil films via the Sequencer.

### Sound

Strip Volume
:   Volume of the audio taken from the chosen scene.
user: Provide the full official documentation entry for Find Node, preserving all code examples.

assistant: Opens a search pop-up to quickly locate and select a node within the current node tree.
Nodes can be searched by name, socket label, or certain socket values such as strings
and data-block references.

Once a match is selected, the editor view automatically pans and centers on the found node,
highlighting it for easy access.

This operator is especially useful in large node trees for navigating complex networks efficiently.
user: Show practical ways to work with Outputs in a Blender add-on or script – include code.

assistant: R
:   The radial distance from the origin.

Phi
:   The azimuthal angle (horizontal rotation) around the Z axis, measured in radians.

Theta
:   The polar angle (vertical inclination) from the Z axis, measured in radians.
user: Show practical ways to work with SceneRenderView(bpy_struct) in a Blender add-on or script – include code.

assistant: # SceneRenderView(bpy_struct)

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

*class* bpy.types.SceneRenderView(*bpy_struct*)
:   Render viewpoint for 3D stereo and multiview rendering

    camera_suffix
    :   Suffix to identify the cameras to use, and added to the render images for this view

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

    file_suffix
    :   Suffix added to the render images for this view

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

    name
    :   Render view name

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

    use
    :   Disable or enable the render view

        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 Outputs in complete detail according to the official Blender documentation.

assistant: Laplacian
:   A float grid representing the Laplacian of the input field.

    Each voxel contains the sum of the second derivatives of the input
    field along the X, Y, and Z axes. This can be used to detect local
    peaks and valleys or to drive smoothing and diffusion effects in
    procedural grids.
user: Provide the full official documentation entry for Separate Bundle Node, preserving all code examples.

assistant: # Separate Bundle Node

[image reference removed]

The *Separate Bundle* node extracts individual values from a
[Bundle](../../../../interface/controls/nodes/types/utilities/bundles/index.html).
Each output corresponds to an element in the bundle, identified by its socket name.

This node is the counterpart of the
[Combine Bundle](../../../../interface/controls/nodes/types/utilities/bundles/combine_bundle.html)
node and is typically used to retrieve structured data that was previously grouped together.
user: Show practical ways to work with PointLight(Light) in a Blender add-on or script – include code.

assistant: # PointLight(Light)

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

*class* bpy.types.PointLight(*Light*)
:   Omnidirectional point Light

    energy
    :   Light energy emitted over the entire area of the light in all directions, in units of radiant power (W)

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

    shadow_buffer_clip_start
    :   Shadow map clip start, below which objects will not generate shadows

        Type:
        :   float in [1e-06, inf], default 0.05

    shadow_filter_radius
    :   Blur shadow aliasing using Percentage Closer Filtering

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

    shadow_jitter_overblur
    :   Apply shadow tracing to each jittered sample to reduce under-sampling artifacts

        Type:
        :   float in [0, 100], default 10.0

    shadow_maximum_resolution
    :   Minimum size of a shadow map pixel. Higher values use less memory at the cost of shadow quality.

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

    shadow_soft_size
    :   Light size for ray shadow sampling (Raytraced shadows)

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

    use_absolute_resolution
    :   Limit the resolution at 1 unit from the light origin instead of relative to the shadowed pixel

        Type:
        :   boolean, default False

    use_shadow_jitter
    :   Enable jittered soft shadows to increase shadow precision (disabled in viewport unless enabled in the render settings). Has a high performance impact.

        Type:
        :   boolean, default False

    use_soft_falloff
    :   Apply falloff to avoid sharp edges when the light geometry intersects with other objects

        Type:
        :   boolean, default True

    inline_shader_nodes()
    :   Get the inlined shader nodes of this light. This preprocesses the node tree
        to remove nested groups, repeat zones and more.

        Returns:
        :   The inlined shader nodes.

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

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

assistant: Lists are used to clearly present sequential or grouped items:

Bullet List

```
- First item
- Second item
- Third item
```

Numbered List:

```
#. First step
#. Second step
#. Third step
```

Definition List:

```
Term
   Definition text here.
```
user: Explain Inputs in complete detail according to the official Blender documentation.

assistant: Radius
:   Width of the bevel effect on edges.

Normal
:   Normal to apply bevel on top of, to be combined with a [Bump Node](../displacement/bump.xhtml)
    for example. When not connected, uses the surface normal.
user: Give a detailed overview of Crashes: syntax, arguments, return values, common patterns.

assistant: # Crashes

The most common causes of Blender crashes:

- Running out of memory.
- Issues with graphics hardware or drivers.
- Bugs in Blender.

Firstly, you may be able to recover your work with [Auto Save](recover.xhtml#troubleshooting-file-recovery-auto-save).

To prevent the problem from happening again, you can check that the graphics drivers are up to date
([Troubleshooting Graphics Hardware](gpu/index.xhtml#troubleshooting-gpu-index)), upgrade your machine’s hardware (the RAM or graphics card), and disable some
options that are more memory intensive:

- Reduce undo steps Preferences ‣ System ‣ Memory & Limits ‣ Undo Steps.
- Using multisample anti-aliasing also increases the memory usage and makes the display slower.
- On Linux, the Window Manager (KDE and Gnome for example) may be using hardware accelerated effects (e.g. window
  shadows and transparency) that are using up the memory that Blender needs. Try disabling the desktop effects or
  switch to a lightweight Window Manager.

To check memory usage by Blender:

- On Windows, use Task Manager and sort by Memory.
- On macOS, use Activity Monitor.app and open Memory tab. Alternatively, run `top -o MEM`.
- On Linux, run `top -o %MEM`.

In more extreme cases, you may want to consider reinstalling your operating system. Windows especially tends to build
up latent issues due to successive updates and program leftovers.
user: Provide the full official documentation entry for Node Warnings, preserving all code examples.

assistant: [image reference removed]

Node Warning.

When the inputs to a node are invalid, it displays a warning in the title.
Hovering over the warning icon shows the error message. These warnings are only
generated when the node is executed, so a node must be connected to the *Group Output*
to have a warning.
user: Show practical ways to work with Material in a Blender add-on or script – include code.

assistant: # Material

The *Material* modifier alters the base property with a new one taken from a given range mapped on
the current material under the stroke.

You can use various properties of the materials, among which many are mono-component
(i.e. give black-and-white results). In this case for the color modifier, an optional color ramp can be used to
map these gray-scale values to colored ones.
In the reverse case properties of the materials, which are multi-components
(i.e. give RGB results) the mean value will be used for Alpha and Thickness modifiers.

If used with the *Split by Material* option in the *Stroke* tab,
the result will not be blurred between materials along the strokes.

[image reference removed]

Material modifiers demo by T.K.
([blend-file](https://archive.blender.org/wiki/2015/index.php/File:Lilies_Color_Material.zip)).
user: Describe Wm Report Items from the Blender manual or Python API, including usage steps and snippets.

assistant: # Wm Report Items

DEBUG:
:   Debug.

INFO:
:   Info.

OPERATOR:
:   Operator.

PROPERTY:
:   Property.

WARNING:
:   Warning.

ERROR:
:   Error.

ERROR_INVALID_INPUT:
:   Invalid Input.

ERROR_INVALID_CONTEXT:
:   Invalid Context.

ERROR_OUT_OF_MEMORY:
:   Out of Memory.
user: Give a detailed overview of gpu_extras submodule (gpu_extras.batch): syntax, arguments, return values, common patterns.

assistant: # gpu_extras submodule (gpu_extras.batch)

gpu_extras.batch.batch_for_shader(*shader*, *type*, *content*, *\**, *indices=None*)
:   Return a batch already configured and compatible with the shader.

    Parameters:
    :   - **shader** (`gpu.types.GPUShader`) – shader for which a compatible format will be computed.
        - **type** (*str*) – “‘POINTS’, ‘LINES’, ‘TRIS’ or ‘LINES_ADJ’”.
        - **content** (*dict**[**str**,* *Buffer* *|* *Sequence**[**float**]* *|* *Sequence**[**int**]* *|* *Sequence**[**Sequence**[**float**]**]* *|* *Sequence**[**Sequence**[**int**]**]**]*) – Maps the name of the shader attribute with the data to fill the vertex buffer.
          For the dictionary values see documentation for [`gpu.types.GPUVertBuf.attr_fill`](gpu.types.html#gpu.types.GPUVertBuf.attr_fill "gpu.types.GPUVertBuf.attr_fill") data argument.

    Returns:
    :   compatible batch

    Return type:
    :   [`gpu.types.GPUBatch`](gpu.types.html#gpu.types.GPUBatch "gpu.types.GPUBatch")
user: Explain Properties Editor in complete detail according to the official Blender documentation.

assistant: # Properties Editor

[image reference removed]

The Properties editor.

The Properties editor displays settings for the active scene, object, material, and other data types.
It provides access to a wide range of context-sensitive properties used throughout Blender.
user: Describe Inputs from the Blender manual or Python API, including usage steps and snippets.

assistant: ### Absorption

Coefficients
:   Probability density per color channel that light is absorbed per unit distance traveled in the medium.
    It is equivalent to \((1-\text{Color}) \times \text{Density}\) in
    [Volume Absorption](volume_absorption.xhtml#bpy-types-shadernodevolumeabsorption).

### Scatter

Coefficients
:   Probability density per color channel of an out-scattering event occurring per unit distance traveled in the
    medium. It is equivalent to \(\text{Color} \times \text{Density}\) in
    [Volume Scatter](volume_scatter.xhtml#bpy-types-shadernodevolumescatter).

Anisotropy Henyey-Greenstein Draine
:   Controls the relative amount of backward and forward scattering.

IOR Fournier-Forand
:   Refractive index of the scattering particles relative to water. Common ocean waters range between
    1.0 and 1.2, while turbid waters with higher density of particles have higher IORs.

Backscatter Fournier-Forand
:   Fraction of light that is scattered backwards. Most oceanic particles have backscatter
    values between 0.001 (e.g., very large phytoplankton) and 0.1 (e.g., very small mineral particles),
    pure water has a backscatter of 0.5. Values taken from
    [Ocean Optics Web Book](https://www.oceanopticsbook.info/view/scattering/the-fournier-forand-phase-function).

Alpha Draine
:   Blending factor between Henyey-Greenstein (\(\alpha = 0\))
    and Cornette & Shanks (\(\alpha = 1\)) phase functions.

Diameter Mie
:   Diameter of the scattering particles in µm.

### Emission

Coefficients
:   Emitted radiance per color channel that is added to a ray per unit distance.
    It is equivalent to \(\text{Color} \times \text{Strength}\) in [Emission](emission.xhtml#bpy-types-shadernodeemission).
user: Explain ShaderNodeCameraData(ShaderNode) in complete detail according to the official Blender documentation.

assistant: # ShaderNodeCameraData(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.ShaderNodeCameraData(*ShaderNode*)
:   Retrieve information about the camera and how it relates to the current shading point’s position

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

assistant: # NodeTreeInterfaceSocketVectorFactor2D(NodeTreeInterfaceSocket)

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

*class* bpy.types.NodeTreeInterfaceSocketVectorFactor2D(*NodeTreeInterfaceSocket*)
:   3D vector socket of a node

    default_value
    :   Input value used for unconnected socket

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

    dimensions
    :   Dimensions of the vector socket

        Type:
        :   int in [2, 4], default 0

    max_value
    :   Maximum value

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

    min_value
    :   Minimum value

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

    subtype
    :   Subtype of the default value

        Type:
        :   enum in [`'DEFAULT'`], default `'DEFAULT'`

    draw(*context*, *layout*)
    :   Draw interface socket settings

        Parameters:
        :   **layout** ([`UILayout`](bpy.types.UILayout.html#bpy.types.UILayout "bpy.types.UILayout"), (never None)) – Layout, Layout in the UI

    init_socket(*node*, *socket*, *data_path*)
    :   Initialize a node socket instance

        Parameters:
        :   - **node** ([`Node`](bpy.types.Node.html#bpy.types.Node "bpy.types.Node"), (never None)) – Node, Node of the socket to initialize
            - **socket** ([`NodeSocket`](bpy.types.NodeSocket.html#bpy.types.NodeSocket "bpy.types.NodeSocket"), (never None)) – Socket, Socket to initialize
            - **data_path** (*string**,* *(**never None**)*) – Data Path, Path to specialized socket data

    from_socket(*node*, *socket*)
    :   Setup template parameters from an existing socket

        Parameters:
        :   - **node** ([`Node`](bpy.types.Node.html#bpy.types.Node "bpy.types.Node"), (never None)) – Node, Node of the original socket
            - **socket** ([`NodeSocket`](bpy.types.NodeSocket.html#bpy.types.NodeSocket "bpy.types.NodeSocket"), (never None)) – Socket, Original socket

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

assistant: # FunctionNodeRotationToAxisAngle(FunctionNode)

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

*class* bpy.types.FunctionNodeRotationToAxisAngle(*FunctionNode*)
:   Convert a rotation to axis angle components

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

assistant: UV
:   The UV map to modify.

Selection
:   Faces to consider when packing islands.
    UVs that are part of any other face will not be affected.

Margin
:   The distance to leave between UV islands.

Rotate
:   Allow Rotating islands for best fit.

Method
:   The method to use when considering the shape of each island.

    Bounding Box:
    :   Uses the simple bounding box of the island.

    Convex Hull):
    :   Takes into account the boundary (Convex Hull) of the island.
        This method will not place islands inside holes.

    Exact Shape:
    :   Use the complete shape of the island, including filling any holes or concave regions around the island.
user: How do I use Install from blender.org in Blender? Include parameters, examples, warnings and best practices.

assistant: Download the Linux version for your architecture and decompress the file to the desired location (e.g. `~/software`
or `/usr/local`).

Blender can now be launched by double-clicking the executable.

When using this method of installation, it is possible to have multiple versions of Blender installed.

For ease of access, you may wish to add a menu entry and create blend-file associations for the file-browser. This can
be done by [Registering Blender](../../editors/preferences/system.html#bpy-ops-preferences-associate-blend).

To make the installation and configuration fully self-contained, set up a [Portable Installation](../../advanced/blender_directory_layout.html#portable-installation).
user: Provide the full official documentation entry for References, preserving all code examples.

assistant: |  |  |
| --- | --- |
| - [`ImageStrip.retiming_keys`](bpy.types.ImageStrip.html#bpy.types.ImageStrip.retiming_keys "bpy.types.ImageStrip.retiming_keys") - [`MovieStrip.retiming_keys`](bpy.types.MovieStrip.html#bpy.types.MovieStrip.retiming_keys "bpy.types.MovieStrip.retiming_keys") - [`RetimingKeys.add`](bpy.types.RetimingKeys.html#bpy.types.RetimingKeys.add "bpy.types.RetimingKeys.add") | - [`SceneStrip.retiming_keys`](bpy.types.SceneStrip.html#bpy.types.SceneStrip.retiming_keys "bpy.types.SceneStrip.retiming_keys") - [`SoundStrip.retiming_keys`](bpy.types.SoundStrip.html#bpy.types.SoundStrip.retiming_keys "bpy.types.SoundStrip.retiming_keys") |