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

assistant: Include
:   Combined Cycles, EEVEE, Workbench
    :   The render output before any compositing is applied.

    Depth Cycles, EEVEE, Workbench
    :   Distance to the nearest visible surface.
        Can be used with the [Defocus Node](../../compositing/types/filter/blur/defocus.xhtml)
        for a fake [Depth of Field](../../glossary/index.xhtml#term-Depth-of-Field) effect.

    Mist Cycles, EEVEE
    :   Distance to the nearest visible surface, mapped to the 0.0 - 1.0 range.
        When enabled, settings become available in the
        [World tab](../eevee/world_settings.xhtml#bpy-types-worldmistsettings).

        This pass can be used to fade out objects that are farther away.
        An alternative is using the *Volume* slot of the
        [World Output](../shader_nodes/output/world.xhtml) shading node.

    Position Cycles, EEVEE
    :   Positions in world space.

    Normal Cycles, EEVEE
    :   Surface normals in world space.

    Vector Cycles, EEVEE
    :   Motion vectors for the [Vector Blur Node](../../compositing/types/filter/blur/vector_blur.xhtml).
        The four components consist of 2D vectors giving the screen-space motion
        based on the next and previous frames.

        This pass is disabled when [Motion Blur](../cycles/render_settings/motion_blur.xhtml#bpy-types-rendersettings-use-motion-blur) is enabled.

    UV Cycles
    :   The UV coordinates within each object’s
        [active UV map](../../modeling/meshes/uv/uv_texture_spaces.xhtml#bpy-types-meshuvlooplayer-active-render),
        represented through the red and green channels of the image.
        (The blue channel stores a constant value of 1 and does not hold any information.)
        Can be used with the [Map UV Node](../../compositing/types/transform/map_uv.xhtml).

    Grease Pencil Cycles, EEVEE, Workbench
    :   Outputs only the visible (non-occluded) strokes and fills from the
        [Grease Pencil](../../grease_pencil/index.xhtml) engine into a separate image layer.

        This pass is useful for compositing workflows where you want to isolate, enhance, or apply
        effects to Grease Pencil elements separately from the rest of the render.

    Denoising Data Cycles
    :   Includes *Denoising Albedo*, *Denoising Normal*, and the combined image
        before denoising. Can be used with the [Denoise Node](../../compositing/types/filter/denoise.xhtml)
        as a replacement for [automatic denoising](../cycles/render_settings/sampling.xhtml#render-cycles-settings-viewport-denoising).

Indexes
:   Object Index Cycles
    :   A map where each pixel stores the user-defined ID of the object at that pixel.
        This map can be converted into a mask for a particular object using the
        [ID Mask Node](../../compositing/types/mask/id_mask.xhtml).

    Material Index Cycles
    :   A map where each pixel stores the user-defined ID of the material at that pixel.
        This map can be converted into a mask for a particular material using the
        ID Mask Node.

Debug
:   Render Time Cycles
    :   An estimate for how long in milliseconds each pixel took to render.
        Note, this pass is not supported on GPU rendering.

    Sample Count Cycles
    :   Number of samples calculated for each pixel, divided by the maximum number of samples.
        Used to analyze [adaptive sampling](../cycles/render_settings/sampling.xhtml#bpy-types-cyclesrendersettings-use-adaptive-sampling).

Alpha Threshold Cycles
:   The Depth, Position, Normal, Vector, UV, and Index passes are only affected by surfaces with an opacity
    equal to or higher than this threshold. With value 0.0, the first surface hit will always write to these passes
    regardless of opacity. With higher values, surfaces that are mostly transparent will be skipped until
    an opaque surface is encountered.