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

assistant: # SunLight(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.SunLight(*Light*)
:   Constant direction parallel ray Light

    angle
    :   Angular diameter of the Sun as seen from the Earth

        Type:
        :   float in [0, 3.14159], default 0.00918043

    energy
    :   Sunlight strength in watts per meter squared (W/m²)

        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_cascade_count
    :   Number of texture used by the cascaded shadow map

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

    shadow_cascade_exponent
    :   Higher value increase resolution towards the viewpoint

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

    shadow_cascade_fade
    :   How smooth is the transition between each cascade

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

    shadow_cascade_max_distance
    :   End distance of the cascaded shadow map (only in perspective view)

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

    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_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

    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