user: Explain Global Context in complete detail according to the official Blender documentation.

assistant: These properties are available in any contexts.

bpy.context.area
:   Type:
    :   [`bpy.types.Area`](bpy.types.Area.html#bpy.types.Area "bpy.types.Area"), (readonly)

bpy.context.asset
:   Type:
    :   [`bpy.types.AssetRepresentation`](bpy.types.AssetRepresentation.html#bpy.types.AssetRepresentation "bpy.types.AssetRepresentation"), (readonly)

bpy.context.blend_data
:   Type:
    :   [`bpy.types.BlendData`](bpy.types.BlendData.html#bpy.types.BlendData "bpy.types.BlendData"), (readonly)

bpy.context.collection
:   Type:
    :   [`bpy.types.Collection`](bpy.types.Collection.html#bpy.types.Collection "bpy.types.Collection"), (readonly)

bpy.context.engine
:   Type:
    :   string, default “”, (readonly, never None)

bpy.context.gizmo_group
:   Type:
    :   [`bpy.types.GizmoGroup`](bpy.types.GizmoGroup.html#bpy.types.GizmoGroup "bpy.types.GizmoGroup"), (readonly)

bpy.context.layer_collection
:   Type:
    :   [`bpy.types.LayerCollection`](bpy.types.LayerCollection.html#bpy.types.LayerCollection "bpy.types.LayerCollection"), (readonly)

bpy.context.mode
:   Type:
    :   enum in [Context Mode Items](bpy_types_enum_items/context_mode_items.html#rna-enum-context-mode-items), default `'EDIT_MESH'`, (readonly)

bpy.context.preferences
:   Type:
    :   [`bpy.types.Preferences`](bpy.types.Preferences.html#bpy.types.Preferences "bpy.types.Preferences"), (readonly)

bpy.context.region
:   Type:
    :   [`bpy.types.Region`](bpy.types.Region.html#bpy.types.Region "bpy.types.Region"), (readonly)

bpy.context.region_data
:   Type:
    :   [`bpy.types.RegionView3D`](bpy.types.RegionView3D.html#bpy.types.RegionView3D "bpy.types.RegionView3D"), (readonly)

bpy.context.region_popup
:   The temporary region for pop-ups (including menus and pop-overs)

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

bpy.context.scene
:   Type:
    :   [`bpy.types.Scene`](bpy.types.Scene.html#bpy.types.Scene "bpy.types.Scene"), (readonly)

bpy.context.screen
:   Type:
    :   [`bpy.types.Screen`](bpy.types.Screen.html#bpy.types.Screen "bpy.types.Screen"), (readonly)

bpy.context.space_data
:   The current space, may be None in background-mode, when the cursor is outside the window or when using menu-search

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

bpy.context.tool_settings
:   Type:
    :   [`bpy.types.ToolSettings`](bpy.types.ToolSettings.html#bpy.types.ToolSettings "bpy.types.ToolSettings"), (readonly)

bpy.context.view_layer
:   Type:
    :   [`bpy.types.ViewLayer`](bpy.types.ViewLayer.html#bpy.types.ViewLayer "bpy.types.ViewLayer"), (readonly)

bpy.context.window
:   Type:
    :   [`bpy.types.Window`](bpy.types.Window.html#bpy.types.Window "bpy.types.Window"), (readonly)

bpy.context.window_manager
:   Type:
    :   [`bpy.types.WindowManager`](bpy.types.WindowManager.html#bpy.types.WindowManager "bpy.types.WindowManager"), (readonly)

bpy.context.workspace
:   Type:
    :   [`bpy.types.WorkSpace`](bpy.types.WorkSpace.html#bpy.types.WorkSpace "bpy.types.WorkSpace"), (readonly)