Browse Source

classref: Sync with current master branch (c2202d3)

Godot Organization 5 days ago
parent
commit
720c8ef830

+ 9 - 0
classes/class_animatablebody2d.rst

@@ -23,6 +23,15 @@ An animatable 2D physics body. It can't be moved by external forces or contacts,
 
 When **AnimatableBody2D** is moved, its linear and angular velocity are estimated and used to affect other physics bodies in its path. This makes it useful for moving platforms, doors, and other moving objects.
 
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
+
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 .. rst-class:: classref-reftable-group
 
 Properties

+ 4 - 0
classes/class_animatablebody3d.rst

@@ -28,6 +28,10 @@ When **AnimatableBody3D** is moved, its linear and angular velocity are estimate
 Tutorials
 ---------
 
+- :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
+
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 - `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
 
 - `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__

+ 50 - 0
classes/class_astar2d.rst

@@ -32,6 +32,18 @@ Tutorials
 
 .. rst-class:: classref-reftable-group
 
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-------------------------+--------------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>` | :ref:`neighbor_filter_enabled<class_AStar2D_property_neighbor_filter_enabled>` | ``false`` |
+   +-------------------------+--------------------------------------------------------------------------------+-----------+
+
+.. rst-class:: classref-reftable-group
+
 Methods
 -------
 
@@ -43,6 +55,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`_estimate_cost<class_AStar2D_private_method__estimate_cost>`\ (\ from_id\: :ref:`int<class_int>`, end_id\: :ref:`int<class_int>`\ ) |virtual| |const|                                     |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`_filter_neighbor<class_AStar2D_private_method__filter_neighbor>`\ (\ from_id\: :ref:`int<class_int>`, neighbor_id\: :ref:`int<class_int>`\ ) |virtual| |const|                            |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                              | :ref:`add_point<class_AStar2D_method_add_point>`\ (\ id\: :ref:`int<class_int>`, position\: :ref:`Vector2<class_Vector2>`, weight_scale\: :ref:`float<class_float>` = 1.0\ )                    |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                             | :ref:`are_points_connected<class_AStar2D_method_are_points_connected>`\ (\ id\: :ref:`int<class_int>`, to_id\: :ref:`int<class_int>`, bidirectional\: :ref:`bool<class_bool>` = true\ ) |const| |
@@ -96,6 +110,28 @@ Methods
 
 .. rst-class:: classref-descriptions-group
 
+Property Descriptions
+---------------------
+
+.. _class_AStar2D_property_neighbor_filter_enabled:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **neighbor_filter_enabled** = ``false`` :ref:`🔗<class_AStar2D_property_neighbor_filter_enabled>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_neighbor_filter_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **is_neighbor_filter_enabled**\ (\ )
+
+If ``true`` enables the filtering of neighbors via :ref:`_filter_neighbor()<class_AStar2D_private_method__filter_neighbor>`.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
 Method Descriptions
 -------------------
 
@@ -127,6 +163,20 @@ Note that this function is hidden in the default **AStar2D** class.
 
 ----
 
+.. _class_AStar2D_private_method__filter_neighbor:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **_filter_neighbor**\ (\ from_id\: :ref:`int<class_int>`, neighbor_id\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_AStar2D_private_method__filter_neighbor>`
+
+Called when neighboring enters processing and if :ref:`neighbor_filter_enabled<class_AStar2D_property_neighbor_filter_enabled>` is ``true``. If ``true`` is returned the point will not be processed.
+
+Note that this function is hidden in the default **AStar2D** class.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AStar2D_method_add_point:
 
 .. rst-class:: classref-method

+ 50 - 0
classes/class_astar3d.rst

@@ -76,6 +76,18 @@ If the default :ref:`_estimate_cost()<class_AStar3D_private_method__estimate_cos
 
 .. rst-class:: classref-reftable-group
 
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-------------------------+--------------------------------------------------------------------------------+-----------+
+   | :ref:`bool<class_bool>` | :ref:`neighbor_filter_enabled<class_AStar3D_property_neighbor_filter_enabled>` | ``false`` |
+   +-------------------------+--------------------------------------------------------------------------------+-----------+
+
+.. rst-class:: classref-reftable-group
+
 Methods
 -------
 
@@ -87,6 +99,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                           | :ref:`_estimate_cost<class_AStar3D_private_method__estimate_cost>`\ (\ from_id\: :ref:`int<class_int>`, end_id\: :ref:`int<class_int>`\ ) |virtual| |const|                                     |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                             | :ref:`_filter_neighbor<class_AStar3D_private_method__filter_neighbor>`\ (\ from_id\: :ref:`int<class_int>`, neighbor_id\: :ref:`int<class_int>`\ ) |virtual| |const|                            |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | |void|                                              | :ref:`add_point<class_AStar3D_method_add_point>`\ (\ id\: :ref:`int<class_int>`, position\: :ref:`Vector3<class_Vector3>`, weight_scale\: :ref:`float<class_float>` = 1.0\ )                    |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                             | :ref:`are_points_connected<class_AStar3D_method_are_points_connected>`\ (\ id\: :ref:`int<class_int>`, to_id\: :ref:`int<class_int>`, bidirectional\: :ref:`bool<class_bool>` = true\ ) |const| |
@@ -140,6 +154,28 @@ Methods
 
 .. rst-class:: classref-descriptions-group
 
+Property Descriptions
+---------------------
+
+.. _class_AStar3D_property_neighbor_filter_enabled:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **neighbor_filter_enabled** = ``false`` :ref:`🔗<class_AStar3D_property_neighbor_filter_enabled>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_neighbor_filter_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
+- :ref:`bool<class_bool>` **is_neighbor_filter_enabled**\ (\ )
+
+If ``true`` enables the filtering of neighbors via :ref:`_filter_neighbor()<class_AStar3D_private_method__filter_neighbor>`.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
 Method Descriptions
 -------------------
 
@@ -171,6 +207,20 @@ Note that this function is hidden in the default **AStar3D** class.
 
 ----
 
+.. _class_AStar3D_private_method__filter_neighbor:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **_filter_neighbor**\ (\ from_id\: :ref:`int<class_int>`, neighbor_id\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_AStar3D_private_method__filter_neighbor>`
+
+Called when neighboring point enters processing and if :ref:`neighbor_filter_enabled<class_AStar3D_property_neighbor_filter_enabled>` is ``true``. If ``true`` is returned the point will not be processed.
+
+Note that this function is hidden in the default **AStar3D** class.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AStar3D_method_add_point:
 
 .. rst-class:: classref-method

+ 75 - 0
classes/class_audiolistener3d.rst

@@ -26,6 +26,18 @@ Once added to the scene tree and enabled using :ref:`make_current()<class_AudioL
 
 .. rst-class:: classref-reftable-group
 
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +--------------------------------------------------------------+--------------------------------------------------------------------------+-------+
+   | :ref:`DopplerTracking<enum_AudioListener3D_DopplerTracking>` | :ref:`doppler_tracking<class_AudioListener3D_property_doppler_tracking>` | ``0`` |
+   +--------------------------------------------------------------+--------------------------------------------------------------------------+-------+
+
+.. rst-class:: classref-reftable-group
+
 Methods
 -------
 
@@ -48,6 +60,69 @@ Methods
 
 .. rst-class:: classref-descriptions-group
 
+Enumerations
+------------
+
+.. _enum_AudioListener3D_DopplerTracking:
+
+.. rst-class:: classref-enumeration
+
+enum **DopplerTracking**: :ref:`🔗<enum_AudioListener3D_DopplerTracking>`
+
+.. _class_AudioListener3D_constant_DOPPLER_TRACKING_DISABLED:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`DopplerTracking<enum_AudioListener3D_DopplerTracking>` **DOPPLER_TRACKING_DISABLED** = ``0``
+
+Disables `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ simulation (default).
+
+.. _class_AudioListener3D_constant_DOPPLER_TRACKING_IDLE_STEP:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`DopplerTracking<enum_AudioListener3D_DopplerTracking>` **DOPPLER_TRACKING_IDLE_STEP** = ``1``
+
+Simulate `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ by tracking positions of objects that are changed in ``_process``. Changes in the relative velocity of this listener compared to those objects affect how audio is perceived (changing the audio's :ref:`AudioStreamPlayer3D.pitch_scale<class_AudioStreamPlayer3D_property_pitch_scale>`).
+
+.. _class_AudioListener3D_constant_DOPPLER_TRACKING_PHYSICS_STEP:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`DopplerTracking<enum_AudioListener3D_DopplerTracking>` **DOPPLER_TRACKING_PHYSICS_STEP** = ``2``
+
+Simulate `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ by tracking positions of objects that are changed in ``_physics_process``. Changes in the relative velocity of this listener compared to those objects affect how audio is perceived (changing the audio's :ref:`AudioStreamPlayer3D.pitch_scale<class_AudioStreamPlayer3D_property_pitch_scale>`).
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_AudioListener3D_property_doppler_tracking:
+
+.. rst-class:: classref-property
+
+:ref:`DopplerTracking<enum_AudioListener3D_DopplerTracking>` **doppler_tracking** = ``0`` :ref:`🔗<class_AudioListener3D_property_doppler_tracking>`
+
+.. rst-class:: classref-property-setget
+
+- |void| **set_doppler_tracking**\ (\ value\: :ref:`DopplerTracking<enum_AudioListener3D_DopplerTracking>`\ )
+- :ref:`DopplerTracking<enum_AudioListener3D_DopplerTracking>` **get_doppler_tracking**\ (\ )
+
+If not :ref:`DOPPLER_TRACKING_DISABLED<class_AudioListener3D_constant_DOPPLER_TRACKING_DISABLED>`, this listener will simulate the `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ for objects changed in particular ``_process`` methods.
+
+\ **Note:** The Doppler effect will only be heard on :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>`\ s if :ref:`AudioStreamPlayer3D.doppler_tracking<class_AudioStreamPlayer3D_property_doppler_tracking>` is not set to :ref:`AudioStreamPlayer3D.DOPPLER_TRACKING_DISABLED<class_AudioStreamPlayer3D_constant_DOPPLER_TRACKING_DISABLED>`.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
 Method Descriptions
 -------------------
 

+ 2 - 0
classes/class_audiostreamplayer3d.rst

@@ -337,6 +337,8 @@ The bus on which this audio is playing.
 
 Decides in which step the Doppler effect should be calculated.
 
+\ **Note:** If :ref:`doppler_tracking<class_AudioStreamPlayer3D_property_doppler_tracking>` is not :ref:`DOPPLER_TRACKING_DISABLED<class_AudioStreamPlayer3D_constant_DOPPLER_TRACKING_DISABLED>` but the current :ref:`Camera3D<class_Camera3D>`/:ref:`AudioListener3D<class_AudioListener3D>` has doppler tracking disabled, the Doppler effect will be heard but will not take the movement of the current listener into account. If accurate Doppler effect is desired, doppler tracking should be enabled on both the **AudioStreamPlayer3D** and the current :ref:`Camera3D<class_Camera3D>`/:ref:`AudioListener3D<class_AudioListener3D>`.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 0
classes/class_basebutton.rst

@@ -307,6 +307,8 @@ If ``true``, the button's state is pressed. Means the button is pressed down or
 
 If ``true``, the button is in disabled state and can't be clicked or toggled.
 
+\ **Note:** If the button is disabled while held down, :ref:`button_up<class_BaseButton_signal_button_up>` will be emitted.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 3 - 0
classes/class_buttongroup.rst

@@ -1,5 +1,8 @@
 :github_url: hide
 
+.. meta::
+	:keywords: radio
+
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
 .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.

+ 2 - 0
classes/class_camera3d.rst

@@ -315,6 +315,8 @@ If multiple cameras are in the scene, one will always be made current. For examp
 
 If not :ref:`DOPPLER_TRACKING_DISABLED<class_Camera3D_constant_DOPPLER_TRACKING_DISABLED>`, this camera will simulate the `Doppler effect <https://en.wikipedia.org/wiki/Doppler_effect>`__ for objects changed in particular ``_process`` methods.
 
+\ **Note:** The Doppler effect will only be heard on :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>`\ s if :ref:`AudioStreamPlayer3D.doppler_tracking<class_AudioStreamPlayer3D_property_doppler_tracking>` is not set to :ref:`AudioStreamPlayer3D.DOPPLER_TRACKING_DISABLED<class_AudioStreamPlayer3D_constant_DOPPLER_TRACKING_DISABLED>`.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 4 - 0
classes/class_characterbody2d.rst

@@ -28,6 +28,10 @@ For game objects that don't require complex movement or collision detection, suc
 Tutorials
 ---------
 
+- :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
+
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 - :doc:`Kinematic character (2D) <../tutorials/physics/kinematic_character_2d>`
 
 - :doc:`Using CharacterBody2D <../tutorials/physics/using_character_body_2d>`

+ 4 - 0
classes/class_characterbody3d.rst

@@ -28,6 +28,10 @@ For game objects that don't require complex movement or collision detection, suc
 Tutorials
 ---------
 
+- :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
+
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 - :doc:`Kinematic character (2D) <../tutorials/physics/kinematic_character_2d>`
 
 - `3D Kinematic Character Demo <https://godotengine.org/asset-library/asset/2739>`__

+ 3 - 0
classes/class_checkbutton.rst

@@ -1,5 +1,8 @@
 :github_url: hide
 
+.. meta::
+	:keywords: switch, toggle
+
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
 .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.

+ 89 - 5
classes/class_displayserver.rst

@@ -1488,7 +1488,7 @@ Scroll backward action, callback argument is not set.
 
 :ref:`AccessibilityAction<enum_DisplayServer_AccessibilityAction>` **ACTION_SCROLL_DOWN** = ``12``
 
-Scroll down action, callback argument is not set.
+Scroll down action, callback argument is set to :ref:`AccessibilityScrollUnit<enum_DisplayServer_AccessibilityScrollUnit>`.
 
 .. _class_DisplayServer_constant_ACTION_SCROLL_FORWARD:
 
@@ -1504,7 +1504,7 @@ Scroll forward action, callback argument is not set.
 
 :ref:`AccessibilityAction<enum_DisplayServer_AccessibilityAction>` **ACTION_SCROLL_LEFT** = ``14``
 
-Scroll left action, callback argument is not set.
+Scroll left action, callback argument is set to :ref:`AccessibilityScrollUnit<enum_DisplayServer_AccessibilityScrollUnit>`.
 
 .. _class_DisplayServer_constant_ACTION_SCROLL_RIGHT:
 
@@ -1512,7 +1512,7 @@ Scroll left action, callback argument is not set.
 
 :ref:`AccessibilityAction<enum_DisplayServer_AccessibilityAction>` **ACTION_SCROLL_RIGHT** = ``15``
 
-Scroll right action, callback argument is not set.
+Scroll right action, callback argument is set to :ref:`AccessibilityScrollUnit<enum_DisplayServer_AccessibilityScrollUnit>`.
 
 .. _class_DisplayServer_constant_ACTION_SCROLL_UP:
 
@@ -1520,7 +1520,7 @@ Scroll right action, callback argument is not set.
 
 :ref:`AccessibilityAction<enum_DisplayServer_AccessibilityAction>` **ACTION_SCROLL_UP** = ``16``
 
-Scroll up action, callback argument is not set.
+Scroll up action, callback argument is set to :ref:`AccessibilityScrollUnit<enum_DisplayServer_AccessibilityScrollUnit>`.
 
 .. _class_DisplayServer_constant_ACTION_SCROLL_INTO_VIEW:
 
@@ -1528,7 +1528,7 @@ Scroll up action, callback argument is not set.
 
 :ref:`AccessibilityAction<enum_DisplayServer_AccessibilityAction>` **ACTION_SCROLL_INTO_VIEW** = ``17``
 
-Scroll into view action, callback argument is not set.
+Scroll into view action, callback argument is set to :ref:`AccessibilityScrollHint<enum_DisplayServer_AccessibilityScrollHint>`.
 
 .. _class_DisplayServer_constant_ACTION_SCROLL_TO_POINT:
 
@@ -1608,6 +1608,90 @@ Indicates that updates to the live region have the highest priority and should b
 
 ----
 
+.. _enum_DisplayServer_AccessibilityScrollUnit:
+
+.. rst-class:: classref-enumeration
+
+enum **AccessibilityScrollUnit**: :ref:`🔗<enum_DisplayServer_AccessibilityScrollUnit>`
+
+.. _class_DisplayServer_constant_SCROLL_UNIT_ITEM:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`AccessibilityScrollUnit<enum_DisplayServer_AccessibilityScrollUnit>` **SCROLL_UNIT_ITEM** = ``0``
+
+The amount by which to scroll. A single item of a list, line of text.
+
+.. _class_DisplayServer_constant_SCROLL_UNIT_PAGE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`AccessibilityScrollUnit<enum_DisplayServer_AccessibilityScrollUnit>` **SCROLL_UNIT_PAGE** = ``1``
+
+The amount by which to scroll. A single page.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _enum_DisplayServer_AccessibilityScrollHint:
+
+.. rst-class:: classref-enumeration
+
+enum **AccessibilityScrollHint**: :ref:`🔗<enum_DisplayServer_AccessibilityScrollHint>`
+
+.. _class_DisplayServer_constant_SCROLL_HINT_TOP_LEFT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`AccessibilityScrollHint<enum_DisplayServer_AccessibilityScrollHint>` **SCROLL_HINT_TOP_LEFT** = ``0``
+
+A preferred position for the node scrolled into view. Top-left edge of the scroll container.
+
+.. _class_DisplayServer_constant_SCROLL_HINT_BOTTOM_RIGHT:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`AccessibilityScrollHint<enum_DisplayServer_AccessibilityScrollHint>` **SCROLL_HINT_BOTTOM_RIGHT** = ``1``
+
+A preferred position for the node scrolled into view. Bottom-right edge of the scroll container.
+
+.. _class_DisplayServer_constant_SCROLL_HINT_TOP_EDGE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`AccessibilityScrollHint<enum_DisplayServer_AccessibilityScrollHint>` **SCROLL_HINT_TOP_EDGE** = ``2``
+
+A preferred position for the node scrolled into view. Top edge of the scroll container.
+
+.. _class_DisplayServer_constant_SCROLL_HINT_BOTTOM_EDGE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`AccessibilityScrollHint<enum_DisplayServer_AccessibilityScrollHint>` **SCROLL_HINT_BOTTOM_EDGE** = ``3``
+
+A preferred position for the node scrolled into view. Bottom edge of the scroll container.
+
+.. _class_DisplayServer_constant_SCROLL_HINT_LEFT_EDGE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`AccessibilityScrollHint<enum_DisplayServer_AccessibilityScrollHint>` **SCROLL_HINT_LEFT_EDGE** = ``4``
+
+A preferred position for the node scrolled into view. Left edge of the scroll container.
+
+.. _class_DisplayServer_constant_SCROLL_HINT_RIGHT_EDGE:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`AccessibilityScrollHint<enum_DisplayServer_AccessibilityScrollHint>` **SCROLL_HINT_RIGHT_EDGE** = ``5``
+
+A preferred position for the node scrolled into view. Right edge of the scroll container.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _enum_DisplayServer_MouseMode:
 
 .. rst-class:: classref-enumeration

+ 14 - 0
classes/class_editorexportplatformandroid.rst

@@ -416,6 +416,8 @@ Properties
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`permissions/write_user_dictionary<class_EditorExportPlatformAndroid_property_permissions/write_user_dictionary>`                           |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Color<class_Color>`                         | :ref:`screen/background_color<class_EditorExportPlatformAndroid_property_screen/background_color>`                                               |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`screen/edge_to_edge<class_EditorExportPlatformAndroid_property_screen/edge_to_edge>`                                                       |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`screen/immersive_mode<class_EditorExportPlatformAndroid_property_screen/immersive_mode>`                                                   |
@@ -2790,6 +2792,18 @@ Allows an application to write to the user dictionary.
 
 ----
 
+.. _class_EditorExportPlatformAndroid_property_screen/background_color:
+
+.. rst-class:: classref-property
+
+:ref:`Color<class_Color>` **screen/background_color** :ref:`🔗<class_EditorExportPlatformAndroid_property_screen/background_color>`
+
+The background color used for the root window. Default is ``black``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorExportPlatformAndroid_property_screen/edge_to_edge:
 
 .. rst-class:: classref-property

+ 0 - 2
classes/class_editorscript.rst

@@ -53,8 +53,6 @@ If a script extending this class also has a global class name, it will be includ
 
 
 
-\ **Note:** The script is run in the Editor context, which means the output is visible in the console window started with the Editor (stdout) instead of the usual Godot **Output** dock.
-
 \ **Note:** EditorScript is :ref:`RefCounted<class_RefCounted>`, meaning it is destroyed when nothing references it. This can cause errors during asynchronous operations if there are no references to the script.
 
 .. rst-class:: classref-reftable-group

+ 7 - 3
classes/class_gridmap.rst

@@ -445,7 +445,9 @@ Returns :ref:`RID<class_RID>` of a baked mesh with the given ``idx``.
 
 :ref:`Array<class_Array>` **get_bake_meshes**\ (\ ) :ref:`🔗<class_GridMap_method_get_bake_meshes>`
 
-Returns an array of :ref:`ArrayMesh<class_ArrayMesh>`\ es and :ref:`Transform3D<class_Transform3D>` references of all bake meshes that exist within the current GridMap.
+Returns an array of :ref:`ArrayMesh<class_ArrayMesh>`\ es and :ref:`Transform3D<class_Transform3D>` references of all bake meshes that exist within the current GridMap. Even indices contain :ref:`ArrayMesh<class_ArrayMesh>`\ es, while odd indices contain :ref:`Transform3D<class_Transform3D>`\ s that are always equal to :ref:`Transform3D.IDENTITY<class_Transform3D_constant_IDENTITY>`.
+
+This method relies on the output of :ref:`make_baked_meshes()<class_GridMap_method_make_baked_meshes>`, which will be called with ``gen_lightmap_uv`` set to ``true`` and ``lightmap_uv_texel_size`` set to ``0.1`` if it hasn't been called yet.
 
 .. rst-class:: classref-item-separator
 
@@ -529,7 +531,7 @@ Returns whether or not the specified layer of the :ref:`collision_mask<class_Gri
 
 :ref:`Array<class_Array>` **get_meshes**\ (\ ) |const| :ref:`🔗<class_GridMap_method_get_meshes>`
 
-Returns an array of :ref:`Transform3D<class_Transform3D>` and :ref:`Mesh<class_Mesh>` references corresponding to the non-empty cells in the grid. The transforms are specified in local space.
+Returns an array of :ref:`Transform3D<class_Transform3D>` and :ref:`Mesh<class_Mesh>` references corresponding to the non-empty cells in the grid. The transforms are specified in local space. Even indices contain :ref:`Transform3D<class_Transform3D>`\ s, while odd indices contain :ref:`Mesh<class_Mesh>`\ es related to the :ref:`Transform3D<class_Transform3D>` in the index preceding it.
 
 .. rst-class:: classref-item-separator
 
@@ -603,7 +605,9 @@ Returns the map coordinates of the cell containing the given ``local_position``.
 
 |void| **make_baked_meshes**\ (\ gen_lightmap_uv\: :ref:`bool<class_bool>` = false, lightmap_uv_texel_size\: :ref:`float<class_float>` = 0.1\ ) :ref:`🔗<class_GridMap_method_make_baked_meshes>`
 
-Bakes lightmap data for all meshes in the assigned :ref:`MeshLibrary<class_MeshLibrary>`.
+Generates a baked mesh that represents all meshes in the assigned :ref:`MeshLibrary<class_MeshLibrary>` for use with :ref:`LightmapGI<class_LightmapGI>`. If ``gen_lightmap_uv`` is ``true``, UV2 data will be generated for each mesh currently used in the **GridMap**. Otherwise, only meshes that already have UV2 data present will be able to use baked lightmaps. When generating UV2, ``lightmap_uv_texel_size`` controls the texel density for lightmaps, with lower values resulting in more detailed lightmaps. ``lightmap_uv_texel_size`` is ignored if ``gen_lightmap_uv`` is ``false``. See also :ref:`get_bake_meshes()<class_GridMap_method_get_bake_meshes>`, which relies on the output of this method.
+
+\ **Note:** Calling this method will not actually bake lightmaps, as lightmap baking is performed using the :ref:`LightmapGI<class_LightmapGI>` node.
 
 .. rst-class:: classref-item-separator
 

+ 7 - 0
classes/class_javaclasswrapper.rst

@@ -89,6 +89,13 @@ Wraps a class defined in Java, and returns it as a :ref:`JavaClass<class_JavaCla
 
 When wrapping inner (nested) classes, use ``$`` instead of ``.`` to separate them. For example, ``JavaClassWrapper.wrap("android.view.WindowManager$LayoutParams")`` wraps the **WindowManager.LayoutParams** class.
 
+\ **Note:** To invoke a constructor, call a method with the same name as the class. For example:
+
+::
+
+    var Intent = JavaClassWrapper.wrap("android.content.Intent")
+    var intent = Intent.Intent()
+
 \ **Note:** This method only works on Android. On every other platform, this method does nothing and returns an empty :ref:`JavaClass<class_JavaClass>`.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`

+ 4 - 0
classes/class_optionbutton.rst

@@ -260,6 +260,8 @@ Method Descriptions
 
 Adds an item, with a ``texture`` icon, text ``label`` and (optionally) ``id``. If no ``id`` is passed, the item index will be used as the item's ID. New items are appended at the end.
 
+\ **Note:** The item will be selected if there are no other items.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -272,6 +274,8 @@ Adds an item, with a ``texture`` icon, text ``label`` and (optionally) ``id``. I
 
 Adds an item, with text ``label`` and (optionally) ``id``. If no ``id`` is passed, the item index will be used as the item's ID. New items are appended at the end.
 
+\ **Note:** The item will be selected if there are no other items.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 2 - 0
classes/class_physicsbody2d.rst

@@ -30,6 +30,8 @@ Tutorials
 
 - :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
 
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 .. rst-class:: classref-reftable-group
 
 Properties

+ 2 - 0
classes/class_physicsbody3d.rst

@@ -32,6 +32,8 @@ Tutorials
 
 - :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
 
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 .. rst-class:: classref-reftable-group
 
 Properties

+ 3 - 1
classes/class_projectsettings.rst

@@ -10514,7 +10514,9 @@ Enables :ref:`Viewport.physics_object_picking<class_Viewport_property_physics_ob
 
 :ref:`int<class_int>` **physics/common/max_physics_steps_per_frame** = ``8`` :ref:`🔗<class_ProjectSettings_property_physics/common/max_physics_steps_per_frame>`
 
-Controls the maximum number of physics steps that can be simulated each rendered frame. The default value is tuned to avoid "spiral of death" situations where expensive physics simulations trigger more expensive simulations indefinitely. However, the game will appear to slow down if the rendering FPS is less than ``1 / max_physics_steps_per_frame`` of :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`. This occurs even if ``delta`` is consistently used in physics calculations. To avoid this, increase :ref:`physics/common/max_physics_steps_per_frame<class_ProjectSettings_property_physics/common/max_physics_steps_per_frame>` if you have increased :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>` significantly above its default value.
+Controls the maximum number of physics steps that can be simulated each rendered frame. The default value is tuned to avoid situations where the framerate suddenly drops to a very low value beyond a certain amount of physics simulation. This occurs because the physics engine can't keep up with the expected simulation rate. In this case, the framerate will start dropping, but the engine is only allowed to simulate a certain number of physics steps per rendered frame. This snowballs into a situation where framerate keeps dropping until it reaches a very low framerate (typically 1-2 FPS) and is called the *physics spiral of death*.
+
+However, the game will appear to slow down if the rendering FPS is less than ``1 / max_physics_steps_per_frame`` of :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`. This occurs even if ``delta`` is consistently used in physics calculations. To avoid this, increase :ref:`physics/common/max_physics_steps_per_frame<class_ProjectSettings_property_physics/common/max_physics_steps_per_frame>` if you have increased :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>` significantly above its default value.
 
 \ **Note:** This property is only read when the project starts. To change the maximum number of simulated physics steps per frame at runtime, set :ref:`Engine.max_physics_steps_per_frame<class_Engine_property_max_physics_steps_per_frame>` instead.
 

+ 1 - 1
classes/class_reflectionprobe.rst

@@ -28,7 +28,7 @@ The **ReflectionProbe** is used to create high-quality reflections at a low perf
 
 \ **Note:** Unlike :ref:`VoxelGI<class_VoxelGI>` and SDFGI, **ReflectionProbe**\ s only source their environment from a :ref:`WorldEnvironment<class_WorldEnvironment>` node. If you specify an :ref:`Environment<class_Environment>` resource within a :ref:`Camera3D<class_Camera3D>` node, it will be ignored by the **ReflectionProbe**. This can lead to incorrect lighting within the **ReflectionProbe**.
 
-\ **Note:** Reflection probes are only supported in the Forward+ and Mobile rendering methods, not Compatibility. When using the Mobile rendering method, only 8 reflection probes can be displayed on each mesh resource. Attempting to display more than 8 reflection probes on a single mesh resource will result in reflection probes flickering in and out as the camera moves.
+\ **Note:** When using the Mobile rendering method, only ``8`` reflection probes can be displayed on each mesh resource, while the Compatibility rendering method only supports up to ``2`` reflection probes on each mesh. Attempting to display more than ``8`` reflection probes on a single mesh resource using the Mobile renderer will result in reflection probes flickering in and out as the camera moves, while the Compatibility renderer will not render any additional probes if more than ``2`` reflection probes are being used.
 
 \ **Note:** When using the Mobile rendering method, reflection probes will only correctly affect meshes whose visibility AABB intersects with the reflection probe's AABB. If using a shader to deform the mesh in a way that makes it go outside its AABB, :ref:`GeometryInstance3D.extra_cull_margin<class_GeometryInstance3D_property_extra_cull_margin>` must be increased on the mesh. Otherwise, the reflection probe may not be visible on the mesh.
 

+ 28 - 10
classes/class_renderingdevice.rst

@@ -359,9 +359,13 @@ enum **DriverResource**: :ref:`🔗<enum_RenderingDevice_DriverResource>`
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_LOGICAL_DEVICE** = ``0``
 
-Specific device object based on a physical device.
+Specific device object based on a physical device (``rid`` parameter is ignored).
 
-- Vulkan: Vulkan device driver resource (``VkDevice``) (``rid`` parameter is ignored).
+- Vulkan: Vulkan device driver resource (``VkDevice``).
+
+- D3D12: D3D12 device driver resource (``ID3D12Device``).
+
+- Metal: Metal device driver resource (``MTLDevice``).
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_PHYSICAL_DEVICE:
 
@@ -369,9 +373,11 @@ Specific device object based on a physical device.
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_PHYSICAL_DEVICE** = ``1``
 
-Physical device the specific logical device is based on.
+Physical device the specific logical device is based on (``rid`` parameter is ignored).
+
+- Vulkan: ``VkPhysicalDevice``.
 
-- Vulkan: ``VkDevice`` (``rid`` parameter is ignored).
+- D3D12: ``IDXGIAdapter``.
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_TOPMOST_OBJECT:
 
@@ -379,9 +385,9 @@ Physical device the specific logical device is based on.
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_TOPMOST_OBJECT** = ``2``
 
-Top-most graphics API entry object.
+Top-most graphics API entry object (``rid`` parameter is ignored).
 
-- Vulkan: ``VkInstance`` (``rid`` parameter is ignored).
+- Vulkan: ``VkInstance``.
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_COMMAND_QUEUE:
 
@@ -389,9 +395,11 @@ Top-most graphics API entry object.
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_COMMAND_QUEUE** = ``3``
 
-The main graphics-compute command queue.
+The main graphics-compute command queue (``rid`` parameter is ignored).
 
-- Vulkan: ``VkQueue`` (``rid`` parameter is ignored).
+- Vulkan: ``VkQueue``.
+
+- Metal: ``MTLCommandQueue``.
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_QUEUE_FAMILY:
 
@@ -399,9 +407,9 @@ The main graphics-compute command queue.
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_QUEUE_FAMILY** = ``4``
 
-The specific family the main queue belongs to.
+The specific family the main queue belongs to (``rid`` parameter is ignored).
 
-- Vulkan: The queue family index, a ``uint32_t`` (``rid`` parameter is ignored).
+- Vulkan: The queue family index, a ``uint32_t``.
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE:
 
@@ -421,6 +429,8 @@ The view of an owned or shared texture.
 
 - Vulkan: ``VkImageView``.
 
+- D3D12: ``ID3D12Resource``.
+
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_DATA_FORMAT:
 
 .. rst-class:: classref-enumeration-constant
@@ -431,6 +441,8 @@ The native id of the data format of the texture.
 
 - Vulkan: ``VkFormat``.
 
+- D3D12: ``DXGI_FORMAT``.
+
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_SAMPLER:
 
 .. rst-class:: classref-enumeration-constant
@@ -457,6 +469,8 @@ Buffer of any kind of (storage, vertex, etc.).
 
 - Vulkan: ``VkBuffer``.
 
+- D3D12: ``ID3D12Resource``.
+
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_COMPUTE_PIPELINE:
 
 .. rst-class:: classref-enumeration-constant
@@ -465,6 +479,8 @@ Buffer of any kind of (storage, vertex, etc.).
 
 - Vulkan: ``VkPipeline``.
 
+- Metal: ``MTLComputePipelineState``.
+
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_RENDER_PIPELINE:
 
 .. rst-class:: classref-enumeration-constant
@@ -473,6 +489,8 @@ Buffer of any kind of (storage, vertex, etc.).
 
 - Vulkan: ``VkPipeline``.
 
+- Metal: ``MTLRenderPipelineState``.
+
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_DEVICE:
 
 .. rst-class:: classref-enumeration-constant

+ 5 - 1
classes/class_rigidbody2d.rst

@@ -38,6 +38,10 @@ If you need to override the default physics behavior, you can write a custom for
 Tutorials
 ---------
 
+- :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
+
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 - `2D Physics Platformer Demo <https://godotengine.org/asset-library/asset/2725>`__
 
 - `Instancing Demo <https://godotengine.org/asset-library/asset/2716>`__
@@ -430,7 +434,7 @@ If ``true``, the body can enter sleep mode when there is no movement. See :ref:`
 
 The body's custom center of mass, relative to the body's origin position, when :ref:`center_of_mass_mode<class_RigidBody2D_property_center_of_mass_mode>` is set to :ref:`CENTER_OF_MASS_MODE_CUSTOM<class_RigidBody2D_constant_CENTER_OF_MASS_MODE_CUSTOM>`. This is the balanced point of the body, where applied forces only cause linear acceleration. Applying forces outside of the center of mass causes angular acceleration.
 
-When :ref:`center_of_mass_mode<class_RigidBody2D_property_center_of_mass_mode>` is set to :ref:`CENTER_OF_MASS_MODE_AUTO<class_RigidBody2D_constant_CENTER_OF_MASS_MODE_AUTO>` (default value), the center of mass is automatically computed.
+When :ref:`center_of_mass_mode<class_RigidBody2D_property_center_of_mass_mode>` is set to :ref:`CENTER_OF_MASS_MODE_AUTO<class_RigidBody2D_constant_CENTER_OF_MASS_MODE_AUTO>` (default value), the center of mass is automatically determined, but this does not update the value of :ref:`center_of_mass<class_RigidBody2D_property_center_of_mass>`.
 
 .. rst-class:: classref-item-separator
 

+ 3 - 1
classes/class_rigidbody3d.rst

@@ -40,6 +40,8 @@ Tutorials
 
 - :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
 
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 - `3D Truck Town Demo <https://godotengine.org/asset-library/asset/2752>`__
 
 - `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
@@ -400,7 +402,7 @@ If ``true``, the body can enter sleep mode when there is no movement. See :ref:`
 
 The body's custom center of mass, relative to the body's origin position, when :ref:`center_of_mass_mode<class_RigidBody3D_property_center_of_mass_mode>` is set to :ref:`CENTER_OF_MASS_MODE_CUSTOM<class_RigidBody3D_constant_CENTER_OF_MASS_MODE_CUSTOM>`. This is the balanced point of the body, where applied forces only cause linear acceleration. Applying forces outside of the center of mass causes angular acceleration.
 
-When :ref:`center_of_mass_mode<class_RigidBody3D_property_center_of_mass_mode>` is set to :ref:`CENTER_OF_MASS_MODE_AUTO<class_RigidBody3D_constant_CENTER_OF_MASS_MODE_AUTO>` (default value), the center of mass is automatically computed.
+When :ref:`center_of_mass_mode<class_RigidBody3D_property_center_of_mass_mode>` is set to :ref:`CENTER_OF_MASS_MODE_AUTO<class_RigidBody3D_constant_CENTER_OF_MASS_MODE_AUTO>` (default value), the center of mass is automatically determined, but this does not update the value of :ref:`center_of_mass<class_RigidBody3D_property_center_of_mass>`.
 
 .. rst-class:: classref-item-separator
 

+ 9 - 0
classes/class_staticbody2d.rst

@@ -27,6 +27,15 @@ When **StaticBody2D** is moved, it is teleported to its new position without aff
 
 \ **StaticBody2D** is useful for completely static objects like floors and walls, as well as moving surfaces like conveyor belts and circular revolving platforms (by using :ref:`constant_linear_velocity<class_StaticBody2D_property_constant_linear_velocity>` and :ref:`constant_angular_velocity<class_StaticBody2D_property_constant_angular_velocity>`).
 
+.. rst-class:: classref-introduction-group
+
+Tutorials
+---------
+
+- :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
+
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 .. rst-class:: classref-reftable-group
 
 Properties

+ 4 - 0
classes/class_staticbody3d.rst

@@ -32,6 +32,10 @@ When **StaticBody3D** is moved, it is teleported to its new position without aff
 Tutorials
 ---------
 
+- :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
+
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 - `3D Physics Tests Demo <https://godotengine.org/asset-library/asset/2747>`__
 
 - `Third Person Shooter (TPS) Demo <https://godotengine.org/asset-library/asset/2710>`__

+ 4 - 0
classes/class_vehiclebody3d.rst

@@ -32,6 +32,10 @@ This physics body implements all the physics logic needed to simulate a car. It
 Tutorials
 ---------
 
+- :doc:`Physics introduction <../tutorials/physics/physics_introduction>`
+
+- :doc:`Troubleshooting physics issues <../tutorials/physics/troubleshooting_physics_issues>`
+
 - `3D Truck Town Demo <https://godotengine.org/asset-library/asset/2752>`__
 
 .. rst-class:: classref-reftable-group