user: Explain World(ID) in complete detail according to the official Blender documentation.

assistant: # World(ID)

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

*class* bpy.types.World(*ID*)
:   World data-block describing the environment and ambient lighting of a scene

    animation_data
    :   Animation data for this data-block

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

    color
    :   Color of the background

        Type:
        :   [`mathutils.Color`](mathutils.html#mathutils.Color "mathutils.Color") of 3 items in [0, inf], default (0.05, 0.05, 0.05)

    cycles
    :   Cycles world settings

        Type:
        :   `CyclesWorldSettings`, (readonly)

    cycles_visibility
    :   Cycles visibility settings

        Type:
        :   `CyclesVisibilitySettings`, (readonly)

    light_settings
    :   World lighting settings

        Type:
        :   [`WorldLighting`](bpy.types.WorldLighting.html#bpy.types.WorldLighting "bpy.types.WorldLighting"), (readonly, never None)

    lightgroup
    :   Lightgroup that the world belongs to

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

    mist_settings
    :   World mist settings

        Type:
        :   [`WorldMistSettings`](bpy.types.WorldMistSettings.html#bpy.types.WorldMistSettings "bpy.types.WorldMistSettings"), (readonly, never None)

    node_tree
    :   Node tree for node based worlds

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

    probe_resolution
    :   Resolution when baked to a texture

        Type:
        :   enum in [`'128'`, `'256'`, `'512'`, `'1024'`, `'2048'`, `'4096'`], default `'1024'`

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

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

    sun_shadow_filter_radius
    :   Blur shadow aliasing using Percentage Closer Filtering

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

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

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

    sun_shadow_maximum_resolution
    :   Maximum 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

    sun_threshold
    :   If non-zero, the maximum value for world contribution that will be recorded inside the world light probe. The excess contribution is converted to a sun light. This reduces the light bleeding caused by very bright light sources.

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

    use_eevee_finite_volume
    :   The world’s volume used to be rendered by EEVEE Legacy. Conversion is needed for it to render properly.

        Type:
        :   boolean, default False

    use_nodes
    :   Use shader nodes to render the world

        removal planned in version 6.0

        Unused but kept for compatibility reasons. Setting the property has no effect, and getting it always returns True.

        Type:
        :   boolean, default False

    use_sun_shadow
    :   Enable sun shadow casting

        Type:
        :   boolean, default True

    use_sun_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 world. 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