user: Describe VoronoiTexture(Texture) from the Blender manual or Python API, including usage steps and snippets.

assistant: # VoronoiTexture(Texture)

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

*class* bpy.types.VoronoiTexture(*Texture*)
:   Procedural voronoi texture

    color_mode
    :   - `INTENSITY`
          Intensity – Only calculate intensity.
        - `POSITION`
          Position – Color cells by position.
        - `POSITION_OUTLINE`
          Position and Outline – Use position plus an outline based on F2-F1.
        - `POSITION_OUTLINE_INTENSITY`
          Position, Outline, and Intensity – Multiply position and outline by intensity.

        Type:
        :   enum in [`'INTENSITY'`, `'POSITION'`, `'POSITION_OUTLINE'`, `'POSITION_OUTLINE_INTENSITY'`], default `'INTENSITY'`

    distance_metric
    :   Algorithm used to calculate distance of sample points to feature points

        - `DISTANCE`
          Actual Distance – sqrt(x\*x+y\*y+z\*z).
        - `DISTANCE_SQUARED`
          Distance Squared – (x\*x+y\*y+z\*z).
        - `MANHATTAN`
          Manhattan – The length of the distance in axial directions.
        - `CHEBYCHEV`
          Chebychev – The length of the longest Axial journey.
        - `MINKOVSKY_HALF`
          Minkowski 1/2 – Set Minkowski variable to 0.5.
        - `MINKOVSKY_FOUR`
          Minkowski 4 – Set Minkowski variable to 4.
        - `MINKOVSKY`
          Minkowski – Use the Minkowski function to calculate distance (exponent value determines the shape of the boundaries).

        Type:
        :   enum in [`'DISTANCE'`, `'DISTANCE_SQUARED'`, `'MANHATTAN'`, `'CHEBYCHEV'`, `'MINKOVSKY_HALF'`, `'MINKOVSKY_FOUR'`, `'MINKOVSKY'`], default `'DISTANCE'`

    minkovsky_exponent
    :   Minkowski exponent

        Type:
        :   float in [0.01, 10], default 2.5

    nabla
    :   Size of derivative offset used for calculating normal

        Type:
        :   float in [0.001, 0.1], default 0.025

    noise_intensity
    :   Scales the intensity of the noise

        Type:
        :   float in [0.01, 10], default 1.0

    noise_scale
    :   Scaling for noise input

        Type:
        :   float in [0.0001, inf], default 0.25

    weight_1
    :   Voronoi feature weight 1

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

    weight_2
    :   Voronoi feature weight 2

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

    weight_3
    :   Voronoi feature weight 3

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

    weight_4
    :   Voronoi feature weight 4

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

    users_material
    :   Materials that use this texture

        Type:
        :   tuple of [`Material`](bpy.types.Material.html#bpy.types.Material "bpy.types.Material")

        (readonly)

    users_object_modifier
    :   Object modifiers that use this texture

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

        (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