Bläddra i källkod

classref: Sync with current master branch (8ff8216)

Godot Organization 1 år sedan
förälder
incheckning
e24a15753f
100 ändrade filer med 2153 tillägg och 842 borttagningar
  1. 1 1
      classes/[email protected]
  2. 25 7
      classes/[email protected]
  3. 2 2
      classes/class_animatedtexture.rst
  4. 1 1
      classes/class_animation.rst
  5. 18 0
      classes/class_animationmixer.rst
  6. 132 53
      classes/class_animationplayer.rst
  7. 31 5
      classes/class_animationtree.rst
  8. 3 0
      classes/class_area2d.rst
  9. 3 0
      classes/class_area3d.rst
  10. 2 2
      classes/class_astargrid2d.rst
  11. 2 2
      classes/class_audioserver.rst
  12. 10 18
      classes/class_audiostream.rst
  13. 9 23
      classes/class_audiostreamplayback.rst
  14. 2 0
      classes/class_basematerial3d.rst
  15. 155 44
      classes/class_basis.rst
  16. 3 1
      classes/class_collisionshape3d.rst
  17. 4 0
      classes/class_control.rst
  18. 168 147
      classes/class_cpuparticles3d.rst
  19. 3 0
      classes/class_diraccess.rst
  20. 148 2
      classes/class_displayserver.rst
  21. 50 2
      classes/class_editorexportplatformandroid.rst
  22. 8 36
      classes/class_editorexportplatformlinuxbsd.rst
  23. 108 83
      classes/class_editorexportplatformweb.rst
  24. 105 105
      classes/class_editorexportplatformwindows.rst
  25. 32 0
      classes/class_editorexportplugin.rst
  26. 4 4
      classes/class_editorplugin.rst
  27. 2 2
      classes/class_editorscript.rst
  28. 33 1
      classes/class_editorsettings.rst
  29. 5 53
      classes/class_gdextension.rst
  30. 2 0
      classes/class_gltfphysicsbody.rst
  31. 2 0
      classes/class_graphedit.rst
  32. 2 0
      classes/class_graphelement.rst
  33. 2 0
      classes/class_graphnode.rst
  34. 3 1
      classes/class_gridmap.rst
  35. 6 2
      classes/class_httpclient.rst
  36. 4 2
      classes/class_inputeventjoypadbutton.rst
  37. 5 0
      classes/class_inputeventmousebutton.rst
  38. 2 2
      classes/class_lightmapgidata.rst
  39. 6 4
      classes/class_mainloop.rst
  40. 20 1
      classes/class_missingnode.rst
  41. 59 26
      classes/class_multimesh.rst
  42. 2 0
      classes/class_navigationagent2d.rst
  43. 2 0
      classes/class_navigationagent3d.rst
  44. 2 0
      classes/class_navigationlink2d.rst
  45. 2 0
      classes/class_navigationlink3d.rst
  46. 2 0
      classes/class_navigationmesh.rst
  47. 4 0
      classes/class_navigationmeshgenerator.rst
  48. 2 0
      classes/class_navigationmeshsourcegeometrydata2d.rst
  49. 2 0
      classes/class_navigationmeshsourcegeometrydata3d.rst
  50. 2 0
      classes/class_navigationobstacle2d.rst
  51. 2 0
      classes/class_navigationobstacle3d.rst
  52. 2 0
      classes/class_navigationpathqueryparameters2d.rst
  53. 2 0
      classes/class_navigationpathqueryparameters3d.rst
  54. 2 0
      classes/class_navigationpathqueryresult2d.rst
  55. 2 0
      classes/class_navigationpathqueryresult3d.rst
  56. 4 2
      classes/class_navigationpolygon.rst
  57. 4 2
      classes/class_navigationregion2d.rst
  58. 4 2
      classes/class_navigationregion3d.rst
  59. 2 0
      classes/class_navigationserver2d.rst
  60. 33 1
      classes/class_navigationserver3d.rst
  61. 36 32
      classes/class_node.rst
  62. 1 1
      classes/class_node2d.rst
  63. 88 66
      classes/class_nodepath.rst
  64. 1 1
      classes/class_openxrapiextension.rst
  65. 14 0
      classes/class_openxrextensionwrapperextension.rst
  66. 5 3
      classes/class_os.rst
  67. 5 3
      classes/class_parallaxlayer.rst
  68. 3 0
      classes/class_physicalbone2d.rst
  69. 3 0
      classes/class_physicalbone3d.rst
  70. 128 0
      classes/class_projectsettings.rst
  71. 41 13
      classes/class_propertytweener.rst
  72. 170 30
      classes/class_renderingdevice.rst
  73. 54 6
      classes/class_renderingserver.rst
  74. 4 4
      classes/class_resource.rst
  75. 48 2
      classes/class_resourceimporterimagefont.rst
  76. 8 8
      classes/class_scenereplicationconfig.rst
  77. 21 1
      classes/class_scriptlanguageextension.rst
  78. 3 1
      classes/class_shapecast3d.rst
  79. 2 2
      classes/class_skeleton3d.rst
  80. 2 2
      classes/class_skeletonik3d.rst
  81. 2 0
      classes/class_skeletonmodification2d.rst
  82. 2 0
      classes/class_skeletonmodification2dccdik.rst
  83. 2 0
      classes/class_skeletonmodification2dfabrik.rst
  84. 2 0
      classes/class_skeletonmodification2djiggle.rst
  85. 2 0
      classes/class_skeletonmodification2dlookat.rst
  86. 2 0
      classes/class_skeletonmodification2dphysicalbones.rst
  87. 2 0
      classes/class_skeletonmodification2dstackholder.rst
  88. 2 0
      classes/class_skeletonmodification2dtwoboneik.rst
  89. 2 0
      classes/class_skeletonmodificationstack2d.rst
  90. 7 1
      classes/class_spritebase3d.rst
  91. 114 0
      classes/class_statusindicator.rst
  92. 2 0
      classes/class_streampeergzip.rst
  93. 2 0
      classes/class_subviewportcontainer.rst
  94. 2 2
      classes/class_surfacetool.rst
  95. 29 1
      classes/class_textedit.rst
  96. 2 0
      classes/class_texturerect.rst
  97. 10 21
      classes/class_tilemap.rst
  98. 68 0
      classes/class_tilemaplayergroup.rst
  99. 1 1
      classes/class_tree.rst
  100. 2 2
      classes/class_treeitem.rst

+ 1 - 1
classes/[email protected]

@@ -842,7 +842,7 @@ Returns a single character (as a :ref:`String<class_String>`) of the given Unico
 
 :ref:`Variant<class_Variant>` **convert** **(** :ref:`Variant<class_Variant>` what, :ref:`int<class_int>` type **)**
 
-*Deprecated.* Use :ref:`@GlobalScope.type_convert<class_@GlobalScope_method_type_convert>` instead.
+**Deprecated:** Use :ref:`@GlobalScope.type_convert<class_@GlobalScope_method_type_convert>` instead.
 
 Converts ``what`` to ``type`` in the best way possible. The ``type`` uses the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` values.
 

+ 25 - 7
classes/[email protected]

@@ -3744,7 +3744,13 @@ Examples:
 
 :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE** = ``24``
 
-*Deprecated.* This hint is not used anywhere and will be removed in the future.
+**Deprecated:** This hint is not used anywhere and will be removed in the future.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_@GlobalScope_constant_PROPERTY_HINT_OBJECT_TOO_BIG:
 
@@ -3784,9 +3790,13 @@ Hints that a :ref:`String<class_String>` property is a path to a file. Editing i
 
 :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_INT_IS_OBJECTID** = ``29``
 
-Hints that an :ref:`int<class_int>` property is an object ID.
+**Deprecated:** This hint is not used anywhere and will be removed in the future.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
-\ *Deprecated.* This hint is not used anywhere and will be removed in the future.
 
 .. _class_@GlobalScope_constant_PROPERTY_HINT_INT_IS_POINTER:
 
@@ -3988,9 +3998,13 @@ If this property is modified, all inspector fields will be refreshed.
 
 :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE** = ``32768``
 
-Signifies a default value from a placeholder script instance.
+**Deprecated:** This hint is not used anywhere and will be removed in the future.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
-\ *Deprecated.* This hint is not used anywhere and will be removed in the future.
 
 .. _class_@GlobalScope_constant_PROPERTY_USAGE_CLASS_IS_ENUM:
 
@@ -4070,9 +4084,13 @@ Inserting an animation key frame of this property will automatically increment t
 
 :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_DEFERRED_SET_RESOURCE** = ``33554432``
 
-When loading, the resource for this property can be set at the end of loading.
+**Deprecated:** This hint is not used anywhere and will be removed in the future.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
 
-\ *Deprecated.* This hint is not used anywhere and will be removed in the future.
 
 .. _class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT:
 

+ 2 - 2
classes/class_animatedtexture.rst

@@ -10,6 +10,8 @@
 AnimatedTexture
 ===============
 
+**Deprecated:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Texture2D<class_Texture2D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 Proxy texture for simple frame-based animations.
@@ -29,8 +31,6 @@ The playback of the animation is controlled by the :ref:`speed_scale<class_Anima
 
 \ **Warning:** The current implementation is not efficient for the modern renderers.
 
-\ *Deprecated.* This class is deprecated, and might be removed in a future release.
-
 .. rst-class:: classref-reftable-group
 
 Properties

+ 1 - 1
classes/class_animation.rst

@@ -392,7 +392,7 @@ Update at the keyframes.
 
 :ref:`UpdateMode<enum_Animation_UpdateMode>` **UPDATE_CAPTURE** = ``2``
 
-Same as linear interpolation, but also interpolates from the current value (i.e. dynamically at runtime) if the first key isn't at 0 seconds.
+Same as :ref:`UPDATE_CONTINUOUS<class_Animation_constant_UPDATE_CONTINUOUS>` but works as a flag to capture the value of the current object and perform interpolation in some methods. See also :ref:`AnimationMixer.capture<class_AnimationMixer_method_capture>` and :ref:`AnimationPlayer.play_with_capture<class_AnimationPlayer_method_play_with_capture>`.
 
 .. rst-class:: classref-item-separator
 

+ 18 - 0
classes/class_animationmixer.rst

@@ -66,6 +66,8 @@ Methods
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`advance<class_AnimationMixer_method_advance>` **(** :ref:`float<class_float>` delta **)**                                                                                                                                                                                                                |
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`capture<class_AnimationMixer_method_capture>` **(** :ref:`StringName<class_StringName>` name, :ref:`float<class_float>` duration, :ref:`TransitionType<enum_Tween_TransitionType>` trans_type=0, :ref:`EaseType<enum_Tween_EaseType>` ease_type=0 **)**                                                  |
+   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`clear_caches<class_AnimationMixer_method_clear_caches>` **(** **)**                                                                                                                                                                                                                                      |
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`StringName<class_StringName>`               | :ref:`find_animation<class_AnimationMixer_method_find_animation>` **(** :ref:`Animation<class_Animation>` animation **)** |const|                                                                                                                                                                              |
@@ -447,6 +449,22 @@ Manually advance the animations by the specified time (in seconds).
 
 ----
 
+.. _class_AnimationMixer_method_capture:
+
+.. rst-class:: classref-method
+
+void **capture** **(** :ref:`StringName<class_StringName>` name, :ref:`float<class_float>` duration, :ref:`TransitionType<enum_Tween_TransitionType>` trans_type=0, :ref:`EaseType<enum_Tween_EaseType>` ease_type=0 **)**
+
+If the animation track specified by ``name`` has an option :ref:`Animation.UPDATE_CAPTURE<class_Animation_constant_UPDATE_CAPTURE>`, stores current values of the objects indicated by the track path as a cache. If there is already a captured cache, the old cache is discarded.
+
+After this it will interpolate with current animation blending result during the playback process for the time specified by ``duration``, working like a crossfade.
+
+You can specify ``trans_type`` as the curve for the interpolation. For better results, it may be appropriate to specify :ref:`Tween.TRANS_LINEAR<class_Tween_constant_TRANS_LINEAR>` for cases where the first key of the track begins with a non-zero value or where the key value does not change, and :ref:`Tween.TRANS_QUAD<class_Tween_constant_TRANS_QUAD>` for cases where the key value changes linearly.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationMixer_method_clear_caches:
 
 .. rst-class:: classref-method

+ 132 - 53
classes/class_animationplayer.rst

@@ -72,47 +72,49 @@ Methods
 .. table::
    :widths: auto
 
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`StringName<class_StringName>`                                            | :ref:`animation_get_next<class_AnimationPlayer_method_animation_get_next>` **(** :ref:`StringName<class_StringName>` animation_from **)** |const|                                                                                     |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`animation_set_next<class_AnimationPlayer_method_animation_set_next>` **(** :ref:`StringName<class_StringName>` animation_from, :ref:`StringName<class_StringName>` animation_to **)**                                           |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`clear_queue<class_AnimationPlayer_method_clear_queue>` **(** **)**                                                                                                                                                              |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                                      | :ref:`get_blend_time<class_AnimationPlayer_method_get_blend_time>` **(** :ref:`StringName<class_StringName>` animation_from, :ref:`StringName<class_StringName>` animation_to **)** |const|                                           |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`AnimationMethodCallMode<enum_AnimationPlayer_AnimationMethodCallMode>`   | :ref:`get_method_call_mode<class_AnimationPlayer_method_get_method_call_mode>` **(** **)** |const|                                                                                                                                    |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`float<class_float>`                                                      | :ref:`get_playing_speed<class_AnimationPlayer_method_get_playing_speed>` **(** **)** |const|                                                                                                                                          |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` | :ref:`get_process_callback<class_AnimationPlayer_method_get_process_callback>` **(** **)** |const|                                                                                                                                    |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedStringArray<class_PackedStringArray>`                              | :ref:`get_queue<class_AnimationPlayer_method_get_queue>` **(** **)**                                                                                                                                                                  |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`NodePath<class_NodePath>`                                                | :ref:`get_root<class_AnimationPlayer_method_get_root>` **(** **)** |const|                                                                                                                                                            |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                                        | :ref:`is_playing<class_AnimationPlayer_method_is_playing>` **(** **)** |const|                                                                                                                                                        |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`pause<class_AnimationPlayer_method_pause>` **(** **)**                                                                                                                                                                          |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`play<class_AnimationPlayer_method_play>` **(** :ref:`StringName<class_StringName>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)** |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`play_backwards<class_AnimationPlayer_method_play_backwards>` **(** :ref:`StringName<class_StringName>` name="", :ref:`float<class_float>` custom_blend=-1 **)**                                                                 |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`queue<class_AnimationPlayer_method_queue>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                 |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`seek<class_AnimationPlayer_method_seek>` **(** :ref:`float<class_float>` seconds, :ref:`bool<class_bool>` update=false, :ref:`bool<class_bool>` update_only=false **)**                                                         |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`set_blend_time<class_AnimationPlayer_method_set_blend_time>` **(** :ref:`StringName<class_StringName>` animation_from, :ref:`StringName<class_StringName>` animation_to, :ref:`float<class_float>` sec **)**                    |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`set_method_call_mode<class_AnimationPlayer_method_set_method_call_mode>` **(** :ref:`AnimationMethodCallMode<enum_AnimationPlayer_AnimationMethodCallMode>` mode **)**                                                          |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`set_process_callback<class_AnimationPlayer_method_set_process_callback>` **(** :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` mode **)**                                                        |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`set_root<class_AnimationPlayer_method_set_root>` **(** :ref:`NodePath<class_NodePath>` path **)**                                                                                                                               |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                                           | :ref:`stop<class_AnimationPlayer_method_stop>` **(** :ref:`bool<class_bool>` keep_state=false **)**                                                                                                                                   |
-   +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`StringName<class_StringName>`                                            | :ref:`animation_get_next<class_AnimationPlayer_method_animation_get_next>` **(** :ref:`StringName<class_StringName>` animation_from **)** |const|                                                                                                                                                                                                                                                                      |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`animation_set_next<class_AnimationPlayer_method_animation_set_next>` **(** :ref:`StringName<class_StringName>` animation_from, :ref:`StringName<class_StringName>` animation_to **)**                                                                                                                                                                                                                            |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`clear_queue<class_AnimationPlayer_method_clear_queue>` **(** **)**                                                                                                                                                                                                                                                                                                                                               |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                                      | :ref:`get_blend_time<class_AnimationPlayer_method_get_blend_time>` **(** :ref:`StringName<class_StringName>` animation_from, :ref:`StringName<class_StringName>` animation_to **)** |const|                                                                                                                                                                                                                            |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`AnimationMethodCallMode<enum_AnimationPlayer_AnimationMethodCallMode>`   | :ref:`get_method_call_mode<class_AnimationPlayer_method_get_method_call_mode>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                     |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                                                      | :ref:`get_playing_speed<class_AnimationPlayer_method_get_playing_speed>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                           |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` | :ref:`get_process_callback<class_AnimationPlayer_method_get_process_callback>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                     |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>`                              | :ref:`get_queue<class_AnimationPlayer_method_get_queue>` **(** **)**                                                                                                                                                                                                                                                                                                                                                   |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`NodePath<class_NodePath>`                                                | :ref:`get_root<class_AnimationPlayer_method_get_root>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                             |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                                        | :ref:`is_playing<class_AnimationPlayer_method_is_playing>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                         |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`pause<class_AnimationPlayer_method_pause>` **(** **)**                                                                                                                                                                                                                                                                                                                                                           |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`play<class_AnimationPlayer_method_play>` **(** :ref:`StringName<class_StringName>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)**                                                                                                                                                                                  |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`play_backwards<class_AnimationPlayer_method_play_backwards>` **(** :ref:`StringName<class_StringName>` name="", :ref:`float<class_float>` custom_blend=-1 **)**                                                                                                                                                                                                                                                  |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`play_with_capture<class_AnimationPlayer_method_play_with_capture>` **(** :ref:`StringName<class_StringName>` name, :ref:`float<class_float>` duration=-1.0, :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false, :ref:`TransitionType<enum_Tween_TransitionType>` trans_type=0, :ref:`EaseType<enum_Tween_EaseType>` ease_type=0 **)** |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`queue<class_AnimationPlayer_method_queue>` **(** :ref:`StringName<class_StringName>` name **)**                                                                                                                                                                                                                                                                                                                  |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`seek<class_AnimationPlayer_method_seek>` **(** :ref:`float<class_float>` seconds, :ref:`bool<class_bool>` update=false, :ref:`bool<class_bool>` update_only=false **)**                                                                                                                                                                                                                                          |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`set_blend_time<class_AnimationPlayer_method_set_blend_time>` **(** :ref:`StringName<class_StringName>` animation_from, :ref:`StringName<class_StringName>` animation_to, :ref:`float<class_float>` sec **)**                                                                                                                                                                                                     |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`set_method_call_mode<class_AnimationPlayer_method_set_method_call_mode>` **(** :ref:`AnimationMethodCallMode<enum_AnimationPlayer_AnimationMethodCallMode>` mode **)**                                                                                                                                                                                                                                           |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`set_process_callback<class_AnimationPlayer_method_set_process_callback>` **(** :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` mode **)**                                                                                                                                                                                                                                         |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`set_root<class_AnimationPlayer_method_set_root>` **(** :ref:`NodePath<class_NodePath>` path **)**                                                                                                                                                                                                                                                                                                                |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                           | :ref:`stop<class_AnimationPlayer_method_stop>` **(** :ref:`bool<class_bool>` keep_state=false **)**                                                                                                                                                                                                                                                                                                                    |
+   +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -166,7 +168,13 @@ enum **AnimationProcessCallback**:
 
 :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` **ANIMATION_PROCESS_PHYSICS** = ``0``
 
-For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS>`.
+**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS>`.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_AnimationPlayer_constant_ANIMATION_PROCESS_IDLE:
 
@@ -174,7 +182,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PRO
 
 :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` **ANIMATION_PROCESS_IDLE** = ``1``
 
-For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_IDLE>`.
+**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_IDLE>`.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_AnimationPlayer_constant_ANIMATION_PROCESS_MANUAL:
 
@@ -182,7 +196,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PRO
 
 :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` **ANIMATION_PROCESS_MANUAL** = ``2``
 
-For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_MANUAL>`.
+**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_MANUAL>`.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -200,7 +220,13 @@ enum **AnimationMethodCallMode**:
 
 :ref:`AnimationMethodCallMode<enum_AnimationPlayer_AnimationMethodCallMode>` **ANIMATION_METHOD_CALL_DEFERRED** = ``0``
 
-For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_DEFERRED<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_METHOD_DEFERRED>`.
+**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_DEFERRED<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_METHOD_DEFERRED>`.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_AnimationPlayer_constant_ANIMATION_METHOD_CALL_IMMEDIATE:
 
@@ -208,7 +234,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_MET
 
 :ref:`AnimationMethodCallMode<enum_AnimationPlayer_AnimationMethodCallMode>` **ANIMATION_METHOD_CALL_IMMEDIATE** = ``1``
 
-For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_IMMEDIATE<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_METHOD_IMMEDIATE>`.
+**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_IMMEDIATE<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_METHOD_IMMEDIATE>`.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. rst-class:: classref-section-separator
 
@@ -418,7 +450,11 @@ Returns the blend time (in seconds) between two animations, referenced by their
 
 :ref:`AnimationMethodCallMode<enum_AnimationPlayer_AnimationMethodCallMode>` **get_method_call_mode** **(** **)** |const|
 
-For backward compatibility. See :ref:`AnimationCallbackModeMethod<enum_AnimationMixer_AnimationCallbackModeMethod>`.
+**Deprecated:** Use :ref:`AnimationMixer.callback_mode_method<class_AnimationMixer_property_callback_mode_method>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -444,7 +480,11 @@ Returns a negative value if the current animation is playing backwards.
 
 :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` **get_process_callback** **(** **)** |const|
 
-For backward compatibility. See :ref:`AnimationCallbackModeProcess<enum_AnimationMixer_AnimationCallbackModeProcess>`.
+**Deprecated:** Use :ref:`AnimationMixer.callback_mode_process<class_AnimationMixer_property_callback_mode_process>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -468,7 +508,11 @@ Returns a list of the animation keys that are currently queued to play.
 
 :ref:`NodePath<class_NodePath>` **get_root** **(** **)** |const|
 
-For backward compatibility. See :ref:`AnimationMixer.root_node<class_AnimationMixer_property_root_node>`.
+**Deprecated:** Use :ref:`AnimationMixer.root_node<class_AnimationMixer_property_root_node>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -532,6 +576,29 @@ This method is a shorthand for :ref:`play<class_AnimationPlayer_method_play>` wi
 
 ----
 
+.. _class_AnimationPlayer_method_play_with_capture:
+
+.. rst-class:: classref-method
+
+void **play_with_capture** **(** :ref:`StringName<class_StringName>` name, :ref:`float<class_float>` duration=-1.0, :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false, :ref:`TransitionType<enum_Tween_TransitionType>` trans_type=0, :ref:`EaseType<enum_Tween_EaseType>` ease_type=0 **)**
+
+See :ref:`AnimationMixer.capture<class_AnimationMixer_method_capture>`. It is almost the same as the following:
+
+::
+
+    capture(name, duration, trans_type, ease_type)
+    play(name, custom_blend, custom_speed, from_end)
+
+If name is blank, it specifies :ref:`assigned_animation<class_AnimationPlayer_property_assigned_animation>`.
+
+If ``duration`` is a negative value, the duration is set to the interval between the current position and the first key, when ``from_end`` is ``true``, uses the interval between the current position and the last key instead.
+
+\ **Note:** The ``duration`` takes :ref:`speed_scale<class_AnimationPlayer_property_speed_scale>` into account, but ``custom_speed`` does not, because the capture cache is interpolated with the blend result and the result may contain multiple animations.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_AnimationPlayer_method_queue:
 
 .. rst-class:: classref-method
@@ -554,7 +621,7 @@ void **seek** **(** :ref:`float<class_float>` seconds, :ref:`bool<class_bool>` u
 
 Seeks the animation to the ``seconds`` point in time (in seconds). If ``update`` is ``true``, the animation updates too, otherwise it updates at process time. Events between the current frame and ``seconds`` are skipped.
 
-If ``update_only`` is true, the method / audio / animation playback tracks will not be processed.
+If ``update_only`` is ``true``, the method / audio / animation playback tracks will not be processed.
 
 \ **Note:** Seeking to the end of the animation doesn't emit :ref:`AnimationMixer.animation_finished<class_AnimationMixer_signal_animation_finished>`. If you want to skip animation and emit the signal, use :ref:`AnimationMixer.advance<class_AnimationMixer_method_advance>`.
 
@@ -580,7 +647,11 @@ Specifies a blend time (in seconds) between two animations, referenced by their
 
 void **set_method_call_mode** **(** :ref:`AnimationMethodCallMode<enum_AnimationPlayer_AnimationMethodCallMode>` mode **)**
 
-For backward compatibility. See :ref:`AnimationCallbackModeMethod<enum_AnimationMixer_AnimationCallbackModeMethod>`.
+**Deprecated:** Use :ref:`AnimationMixer.callback_mode_method<class_AnimationMixer_property_callback_mode_method>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -592,7 +663,11 @@ For backward compatibility. See :ref:`AnimationCallbackModeMethod<enum_Animation
 
 void **set_process_callback** **(** :ref:`AnimationProcessCallback<enum_AnimationPlayer_AnimationProcessCallback>` mode **)**
 
-For backward compatibility. See :ref:`AnimationCallbackModeProcess<enum_AnimationMixer_AnimationCallbackModeProcess>`.
+**Deprecated:** Use :ref:`AnimationMixer.callback_mode_process<class_AnimationMixer_property_callback_mode_process>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -604,7 +679,11 @@ For backward compatibility. See :ref:`AnimationCallbackModeProcess<enum_Animatio
 
 void **set_root** **(** :ref:`NodePath<class_NodePath>` path **)**
 
-For backward compatibility. See :ref:`AnimationMixer.root_node<class_AnimationMixer_property_root_node>`.
+**Deprecated:** Use :ref:`AnimationMixer.root_node<class_AnimationMixer_property_root_node>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 

+ 31 - 5
classes/class_animationtree.rst

@@ -102,7 +102,13 @@ enum **AnimationProcessCallback**:
 
 :ref:`AnimationProcessCallback<enum_AnimationTree_AnimationProcessCallback>` **ANIMATION_PROCESS_PHYSICS** = ``0``
 
-For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS>`.
+**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS>`.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_AnimationTree_constant_ANIMATION_PROCESS_IDLE:
 
@@ -110,7 +116,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PRO
 
 :ref:`AnimationProcessCallback<enum_AnimationTree_AnimationProcessCallback>` **ANIMATION_PROCESS_IDLE** = ``1``
 
-For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_IDLE>`.
+**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_IDLE>`.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_AnimationTree_constant_ANIMATION_PROCESS_MANUAL:
 
@@ -118,7 +130,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PRO
 
 :ref:`AnimationProcessCallback<enum_AnimationTree_AnimationProcessCallback>` **ANIMATION_PROCESS_MANUAL** = ``2``
 
-For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_MANUAL>`.
+**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL<class_AnimationMixer_constant_ANIMATION_CALLBACK_MODE_PROCESS_MANUAL>`.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. rst-class:: classref-section-separator
 
@@ -191,7 +209,11 @@ Method Descriptions
 
 :ref:`AnimationProcessCallback<enum_AnimationTree_AnimationProcessCallback>` **get_process_callback** **(** **)** |const|
 
-For backward compatibility. See :ref:`AnimationCallbackModeProcess<enum_AnimationMixer_AnimationCallbackModeProcess>`.
+**Deprecated:** Use :ref:`AnimationMixer.callback_mode_process<class_AnimationMixer_property_callback_mode_process>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -203,7 +225,11 @@ For backward compatibility. See :ref:`AnimationCallbackModeProcess<enum_Animatio
 
 void **set_process_callback** **(** :ref:`AnimationProcessCallback<enum_AnimationTree_AnimationProcessCallback>` mode **)**
 
-For backward compatibility. See :ref:`AnimationCallbackModeProcess<enum_AnimationMixer_AnimationCallbackModeProcess>`.
+**Deprecated:** Use :ref:`AnimationMixer.callback_mode_process<class_AnimationMixer_property_callback_mode_process>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 3 - 0
classes/class_area2d.rst

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

+ 3 - 0
classes/class_area3d.rst

@@ -1,5 +1,8 @@
 :github_url: hide
 
+.. meta::
+	:keywords: trigger
+
 .. 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 - 2
classes/class_astargrid2d.rst

@@ -452,9 +452,9 @@ The region of grid cells available for pathfinding. If changed, :ref:`update<cla
 - void **set_size** **(** :ref:`Vector2i<class_Vector2i>` value **)**
 - :ref:`Vector2i<class_Vector2i>` **get_size** **(** **)**
 
-The size of the grid (number of cells of size :ref:`cell_size<class_AStarGrid2D_property_cell_size>` on each axis). If changed, :ref:`update<class_AStarGrid2D_method_update>` needs to be called before finding the next path.
+**Deprecated:** Use :ref:`region<class_AStarGrid2D_property_region>` instead.
 
-\ *Deprecated.* Use :ref:`region<class_AStarGrid2D_property_region>` instead.
+The size of the grid (number of cells of size :ref:`cell_size<class_AStarGrid2D_property_cell_size>` on each axis). If changed, :ref:`update<class_AStarGrid2D_method_update>` needs to be called before finding the next path.
 
 .. rst-class:: classref-section-separator
 

+ 2 - 2
classes/class_audioserver.rst

@@ -744,9 +744,9 @@ Sets the volume of the bus at index ``bus_idx`` to ``volume_db``.
 
 void **set_enable_tagging_used_audio_streams** **(** :ref:`bool<class_bool>` enable **)**
 
-.. container:: contribute
+If set to ``true``, all instances of :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` will call :ref:`AudioStreamPlayback._tag_used_streams<class_AudioStreamPlayback_private_method__tag_used_streams>` every mix step.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** This is enabled by default in the editor, as it is used by editor plugins for the audio stream previews.
 
 .. rst-class:: classref-item-separator
 

+ 10 - 18
classes/class_audiostream.rst

@@ -98,9 +98,9 @@ Method Descriptions
 
 :ref:`int<class_int>` **_get_beat_count** **(** **)** |virtual| |const|
 
-.. container:: contribute
+Overridable method. Should return the total number of beats of this audio stream. Used by the engine to determine the position of every beat.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Ideally, the returned value should be based off the stream's sample rate (:ref:`AudioStreamWAV.mix_rate<class_AudioStreamWAV_property_mix_rate>`, for example).
 
 .. rst-class:: classref-item-separator
 
@@ -112,9 +112,9 @@ Method Descriptions
 
 :ref:`float<class_float>` **_get_bpm** **(** **)** |virtual| |const|
 
-.. container:: contribute
+Overridable method. Should return the tempo of this audio stream, in beats per minute (BPM). Used by the engine to determine the position of every beat.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Ideally, the returned value should be based off the stream's sample rate (:ref:`AudioStreamWAV.mix_rate<class_AudioStreamWAV_property_mix_rate>`, for example).
 
 .. rst-class:: classref-item-separator
 
@@ -126,9 +126,7 @@ Method Descriptions
 
 :ref:`float<class_float>` **_get_length** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize the returned value of :ref:`get_length<class_AudioStream_method_get_length>`. Should return the length of this audio stream, in seconds.
 
 .. rst-class:: classref-item-separator
 
@@ -152,9 +150,7 @@ Return the controllable parameters of this stream. This array contains dictionar
 
 :ref:`String<class_String>` **_get_stream_name** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize the name assigned to this audio stream. Unused by the engine.
 
 .. rst-class:: classref-item-separator
 
@@ -166,9 +162,7 @@ Return the controllable parameters of this stream. This array contains dictionar
 
 :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **_instantiate_playback** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize the returned value of :ref:`instantiate_playback<class_AudioStream_method_instantiate_playback>`. Should returned a new :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` created when the stream is played (such as by an :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`)..
 
 .. rst-class:: classref-item-separator
 
@@ -180,9 +174,7 @@ Return the controllable parameters of this stream. This array contains dictionar
 
 :ref:`bool<class_bool>` **_is_monophonic** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize the returned value of :ref:`is_monophonic<class_AudioStream_method_is_monophonic>`. Should return ``true`` if this audio stream only supports one channel.
 
 .. rst-class:: classref-item-separator
 
@@ -206,7 +198,7 @@ Returns the length of the audio stream in seconds.
 
 :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **instantiate_playback** **(** **)**
 
-Returns an AudioStreamPlayback. Useful for when you want to extend :ref:`_instantiate_playback<class_AudioStream_private_method__instantiate_playback>` but call :ref:`instantiate_playback<class_AudioStream_method_instantiate_playback>` from an internally held AudioStream subresource. An example of this can be found in the source files for ``AudioStreamRandomPitch::instantiate_playback``.
+Returns a newly created :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` intended to play this audio stream. Useful for when you want to extend :ref:`_instantiate_playback<class_AudioStream_private_method__instantiate_playback>` but call :ref:`instantiate_playback<class_AudioStream_method_instantiate_playback>` from an internally held AudioStream subresource. An example of this can be found in the source code for ``AudioStreamRandomPitch::instantiate_playback``.
 
 .. rst-class:: classref-item-separator
 
@@ -218,7 +210,7 @@ Returns an AudioStreamPlayback. Useful for when you want to extend :ref:`_instan
 
 :ref:`bool<class_bool>` **is_monophonic** **(** **)** |const|
 
-Returns true if this audio stream only supports monophonic playback, or false if the audio stream supports polyphony.
+Returns ``true`` if this audio stream only supports one channel (*monophony*), or ``false`` if the audio stream supports two or more channels (*polyphony*).
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 9 - 23
classes/class_audiostreamplayback.rst

@@ -75,9 +75,7 @@ Method Descriptions
 
 :ref:`int<class_int>` **_get_loop_count** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Overridable method. Should return how many times this audio stream has looped. Most built-in playbacks always return ``0``.
 
 .. rst-class:: classref-item-separator
 
@@ -101,9 +99,7 @@ Return the current value of a playback parameter by name (see :ref:`AudioStream.
 
 :ref:`float<class_float>` **_get_playback_position** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Overridable method. Should return the current progress along the audio stream, in seconds.
 
 .. rst-class:: classref-item-separator
 
@@ -115,9 +111,7 @@ Return the current value of a playback parameter by name (see :ref:`AudioStream.
 
 :ref:`bool<class_bool>` **_is_playing** **(** **)** |virtual| |const|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Overridable method. Should return ``true`` if this playback is active and playing its audio stream.
 
 .. rst-class:: classref-item-separator
 
@@ -129,9 +123,9 @@ Return the current value of a playback parameter by name (see :ref:`AudioStream.
 
 :ref:`int<class_int>` **_mix** **(** AudioFrame* buffer, :ref:`float<class_float>` rate_scale, :ref:`int<class_int>` frames **)** |virtual|
 
-.. container:: contribute
+Override this method to customize how the audio stream is mixed. This method is called even if the playback is not active.
 
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** It is not useful to override this method in GDScript or C#. Only GDExtension can take advantage of it.
 
 .. rst-class:: classref-item-separator
 
@@ -143,9 +137,7 @@ Return the current value of a playback parameter by name (see :ref:`AudioStream.
 
 void **_seek** **(** :ref:`float<class_float>` position **)** |virtual|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize what happens when seeking this audio stream at the given ``position``, such as by calling :ref:`AudioStreamPlayer.seek<class_AudioStreamPlayer_method_seek>`.
 
 .. rst-class:: classref-item-separator
 
@@ -169,9 +161,7 @@ Set the current value of a playback parameter by name (see :ref:`AudioStream._ge
 
 void **_start** **(** :ref:`float<class_float>` from_pos **)** |virtual|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize what happens when the playback starts at the given position, such as by calling :ref:`AudioStreamPlayer.play<class_AudioStreamPlayer_method_play>`.
 
 .. rst-class:: classref-item-separator
 
@@ -183,9 +173,7 @@ void **_start** **(** :ref:`float<class_float>` from_pos **)** |virtual|
 
 void **_stop** **(** **)** |virtual|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Override this method to customize what happens when the playback is stopped, such as by calling :ref:`AudioStreamPlayer.stop<class_AudioStreamPlayer_method_stop>`.
 
 .. rst-class:: classref-item-separator
 
@@ -197,9 +185,7 @@ void **_stop** **(** **)** |virtual|
 
 void **_tag_used_streams** **(** **)** |virtual|
 
-.. container:: contribute
-
-	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+Overridable method. Called whenever the audio stream is mixed if the playback is active and :ref:`AudioServer.set_enable_tagging_used_audio_streams<class_AudioServer_method_set_enable_tagging_used_audio_streams>` has been set to ``true``. Editor plugins may use this method to "tag" the current position along the audio stream and display it in a preview.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 2 - 0
classes/class_basematerial3d.rst

@@ -1723,6 +1723,8 @@ If ``true``, the shader will keep the scale set for the mesh. Otherwise, the sca
 
 Controls how the object faces the camera. See :ref:`BillboardMode<enum_BaseMaterial3D_BillboardMode>`.
 
+\ **Note:** When billboarding is enabled and the material also casts shadows, billboards will face **the** camera in the scene when rendering shadows. In scenes with multiple cameras, the intended shadow cannot be determined and this will result in undefined behavior. See `GitHub Pull Request #72638 <https://github.com/godotengine/godot/pull/72638>`__ for details.
+
 \ **Note:** Billboard mode is not suitable for VR because the left-right vector of the camera is not horizontal when the screen is attached to your head instead of on the table. See `GitHub issue #41567 <https://github.com/godotengine/godot/issues/41567>`__ for details.
 
 .. rst-class:: classref-item-separator

+ 155 - 44
classes/class_basis.rst

@@ -17,14 +17,18 @@ A 3×3 matrix for representing 3D rotation and scale.
 Description
 -----------
 
-A 3×3 matrix used for representing 3D rotation and scale. Usually used as an orthogonal basis for a :ref:`Transform3D<class_Transform3D>`.
+The **Basis** built-in :ref:`Variant<class_Variant>` type is a 3x3 `matrix <https://en.wikipedia.org/wiki/Matrix_(mathematics)>`__ used to represent 3D rotation, scale, and shear. It is frequently used within a :ref:`Transform3D<class_Transform3D>`.
 
-Contains 3 vector fields X, Y and Z as its columns, which are typically interpreted as the local basis vectors of a transformation. For such use, it is composed of a scaling and a rotation matrix, in that order (M = R.S).
+A **Basis** is composed by 3 axis vectors, each representing a column of the matrix: :ref:`x<class_Basis_property_x>`, :ref:`y<class_Basis_property_y>`, and :ref:`z<class_Basis_property_z>`. The length of each axis (:ref:`Vector3.length<class_Vector3_method_length>`) influences the basis's scale, while the direction of all axes influence the rotation. Usually, these axes are perpendicular to one another. However, when you rotate any axis individually, the basis becomes sheared. Applying a sheared basis to a 3D model will make the model appear distorted.
 
-Basis can also be accessed as an array of 3D vectors. These vectors are usually orthogonal to each other, but are not necessarily normalized (due to scaling).
+A **Basis** is **orthogonal** if its axes are perpendicular to each other. A basis is **normalized** if the length of every axis is ``1``. A basis is **uniform** if all axes share the same length (see :ref:`get_scale<class_Basis_method_get_scale>`). A basis is **orthonormal** if it is both orthogonal and normalized, which allows it to only represent rotations. A basis is **conformal** if it is both orthogonal and uniform, which ensures it is not distorted.
 
 For a general introduction, see the :doc:`Matrices and transforms <../tutorials/math/matrices_and_transforms>` tutorial.
 
+\ **Note:** Godot uses a `right-handed coordinate system <https://en.wikipedia.org/wiki/Right-hand_rule>`__, which is a common standard. For directions, the convention for built-in types like :ref:`Camera3D<class_Camera3D>` is for -Z to point forward (+X is right, +Y is up, and +Z is back). Other objects may use different direction conventions. For more information, see the `Importing 3D Scenes <../tutorials/assets_pipeline/importing_scenes.html#d-asset-direction-conventions>`__ tutorial.
+
+\ **Note:** The basis matrices are exposed as `column-major <https://www.mindcontrol.org/~hplus/graphics/matrix-layout.html>`__ order, which is the same as OpenGL. However, they are stored internally in row-major order, which is the same as DirectX.
+
 .. note::
 
 	There are notable differences when using this API with C#. See :ref:`doc_c_sharp_differences` for more information.
@@ -175,7 +179,26 @@ Constants
 
 **IDENTITY** = ``Basis(1, 0, 0, 0, 1, 0, 0, 0, 1)``
 
-The identity basis, with no rotation or scaling applied.
+The identity basis. This is a basis with no rotation, no shear, and its scale being ``1``. This means that:
+
+- The :ref:`x<class_Basis_property_x>` points right (:ref:`Vector3.RIGHT<class_Vector3_constant_RIGHT>`);
+
+- The :ref:`y<class_Basis_property_y>` points up (:ref:`Vector3.UP<class_Vector3_constant_UP>`);
+
+- The :ref:`z<class_Basis_property_z>` points back (:ref:`Vector3.BACK<class_Vector3_constant_BACK>`).
+
+::
+
+    var basis := Basis.IDENTITY
+    print("| X | Y | Z")
+    print("| %s | %s | %s" % [basis.x.x, basis.y.x, basis.z.x])
+    print("| %s | %s | %s" % [basis.x.y, basis.y.y, basis.z.y])
+    print("| %s | %s | %s" % [basis.x.z, basis.y.z, basis.z.z])
+    # Prints:
+    # | X | Y | Z
+    # | 1 | 0 | 0
+    # | 0 | 1 | 0
+    # | 0 | 0 | 1
 
 This is identical to creating :ref:`Basis<class_Basis_constructor_Basis>` without any parameters. This constant can be used to make your code clearer, and for consistency with C#.
 
@@ -185,7 +208,9 @@ This is identical to creating :ref:`Basis<class_Basis_constructor_Basis>` withou
 
 **FLIP_X** = ``Basis(-1, 0, 0, 0, 1, 0, 0, 0, 1)``
 
-The basis that will flip something along the X axis when used in a transformation.
+When any basis is multiplied by :ref:`FLIP_X<class_Basis_constant_FLIP_X>`, it negates all components of the :ref:`x<class_Basis_property_x>` axis (the X column).
+
+When :ref:`FLIP_X<class_Basis_constant_FLIP_X>` is multiplied by any basis, it negates the :ref:`Vector3.x<class_Vector3_property_x>` component of all axes (the X row).
 
 .. _class_Basis_constant_FLIP_Y:
 
@@ -193,7 +218,9 @@ The basis that will flip something along the X axis when used in a transformatio
 
 **FLIP_Y** = ``Basis(1, 0, 0, 0, -1, 0, 0, 0, 1)``
 
-The basis that will flip something along the Y axis when used in a transformation.
+When any basis is multiplied by :ref:`FLIP_Y<class_Basis_constant_FLIP_Y>`, it negates all components of the :ref:`y<class_Basis_property_y>` axis (the Y column).
+
+When :ref:`FLIP_Y<class_Basis_constant_FLIP_Y>` is multiplied by any basis, it negates the :ref:`Vector3.y<class_Vector3_property_y>` component of all axes (the Y row).
 
 .. _class_Basis_constant_FLIP_Z:
 
@@ -201,7 +228,9 @@ The basis that will flip something along the Y axis when used in a transformatio
 
 **FLIP_Z** = ``Basis(1, 0, 0, 0, 1, 0, 0, 0, -1)``
 
-The basis that will flip something along the Z axis when used in a transformation.
+When any basis is multiplied by :ref:`FLIP_Z<class_Basis_constant_FLIP_Z>`, it negates all components of the :ref:`z<class_Basis_property_z>` axis (the Z column).
+
+When :ref:`FLIP_Z<class_Basis_constant_FLIP_Z>` is multiplied by any basis, it negates the :ref:`Vector3.z<class_Vector3_property_z>` component of all axes (the Z row).
 
 .. rst-class:: classref-section-separator
 
@@ -218,7 +247,9 @@ Property Descriptions
 
 :ref:`Vector3<class_Vector3>` **x** = ``Vector3(1, 0, 0)``
 
-The basis matrix's X vector (column 0). Equivalent to array index ``0``.
+The basis's X axis, and the column ``0`` of the matrix.
+
+On the identity basis, this vector points right (:ref:`Vector3.RIGHT<class_Vector3_constant_RIGHT>`).
 
 .. rst-class:: classref-item-separator
 
@@ -230,7 +261,9 @@ The basis matrix's X vector (column 0). Equivalent to array index ``0``.
 
 :ref:`Vector3<class_Vector3>` **y** = ``Vector3(0, 1, 0)``
 
-The basis matrix's Y vector (column 1). Equivalent to array index ``1``.
+The basis's Y axis, and the column ``1`` of the matrix.
+
+On the identity basis, this vector points up (:ref:`Vector3.UP<class_Vector3_constant_UP>`).
 
 .. rst-class:: classref-item-separator
 
@@ -242,7 +275,9 @@ The basis matrix's Y vector (column 1). Equivalent to array index ``1``.
 
 :ref:`Vector3<class_Vector3>` **z** = ``Vector3(0, 0, 1)``
 
-The basis matrix's Z vector (column 2). Equivalent to array index ``2``.
+The basis's Z axis, and the column ``2`` of the matrix.
+
+On the identity basis, this vector points back (:ref:`Vector3.BACK<class_Vector3_constant_BACK>`).
 
 .. rst-class:: classref-section-separator
 
@@ -259,7 +294,7 @@ Constructor Descriptions
 
 :ref:`Basis<class_Basis>` **Basis** **(** **)**
 
-Constructs a default-initialized **Basis** set to :ref:`IDENTITY<class_Basis_constant_IDENTITY>`.
+Constructs a **Basis** identical to the :ref:`IDENTITY<class_Basis_constant_IDENTITY>`.
 
 .. rst-class:: classref-item-separator
 
@@ -279,7 +314,9 @@ Constructs a **Basis** as a copy of the given **Basis**.
 
 :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` angle **)**
 
-Constructs a pure rotation basis matrix, rotated around the given ``axis`` by ``angle`` (in radians). The axis must be a normalized vector.
+Constructs a **Basis** that only represents rotation, rotated around the ``axis`` by the given ``angle``, in radians. The axis must be a normalized vector.
+
+\ **Note:** This is the same as using :ref:`rotated<class_Basis_method_rotated>` on the :ref:`IDENTITY<class_Basis_constant_IDENTITY>` basis. With more than one angle consider using :ref:`from_euler<class_Basis_method_from_euler>`, instead.
 
 .. rst-class:: classref-item-separator
 
@@ -289,7 +326,9 @@ Constructs a pure rotation basis matrix, rotated around the given ``axis`` by ``
 
 :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Quaternion<class_Quaternion>` from **)**
 
-Constructs a pure rotation basis matrix from the given quaternion.
+Constructs a **Basis** that only represents rotation from the given :ref:`Quaternion<class_Quaternion>`.
+
+\ **Note:** Quaternions *only* store rotation, not scale. Because of this, conversions from **Basis** to :ref:`Quaternion<class_Quaternion>` cannot always be reversed.
 
 .. rst-class:: classref-item-separator
 
@@ -299,7 +338,7 @@ Constructs a pure rotation basis matrix from the given quaternion.
 
 :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Vector3<class_Vector3>` x_axis, :ref:`Vector3<class_Vector3>` y_axis, :ref:`Vector3<class_Vector3>` z_axis **)**
 
-Constructs a basis matrix from 3 axis vectors (matrix columns).
+Constructs a **Basis** from 3 axis vectors. These are the columns of the basis matrix.
 
 .. rst-class:: classref-section-separator
 
@@ -316,9 +355,13 @@ Method Descriptions
 
 :ref:`float<class_float>` **determinant** **(** **)** |const|
 
-Returns the determinant of the basis matrix. If the basis is uniformly scaled, its determinant is the square of the scale.
+Returns the `determinant <https://en.wikipedia.org/wiki/Determinant>`__ of this basis's matrix. For advanced math, this number can be used to determine a few attributes:
+
+- If the determinant is exactly ``0``, the basis is not invertible (see :ref:`inverse<class_Basis_method_inverse>`).
 
-A negative determinant means the basis has a negative scale. A zero determinant means the basis isn't invertible, and is usually considered invalid.
+- If the determinant is a negative number, the basis represents a negative scale.
+
+\ **Note:** If the basis's scale is the same for every axis, its determinant is always that scale by the power of 2.
 
 .. rst-class:: classref-item-separator
 
@@ -330,7 +373,13 @@ A negative determinant means the basis has a negative scale. A zero determinant
 
 :ref:`Basis<class_Basis>` **from_euler** **(** :ref:`Vector3<class_Vector3>` euler, :ref:`int<class_int>` order=2 **)** |static|
 
-Constructs a pure rotation Basis matrix from Euler angles in the specified Euler rotation order. By default, use YXZ order (most common). See the :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` enum for possible values.
+Constructs a new **Basis** that only represents rotation from the given :ref:`Vector3<class_Vector3>` of `Euler angles <https://en.wikipedia.org/wiki/Euler_angles>`__, in radians.
+
+- The :ref:`Vector3.x<class_Vector3_property_x>` should contain the angle around the :ref:`x<class_Basis_property_x>` axis (pitch).
+
+- The :ref:`Vector3.y<class_Vector3_property_y>` should contain the angle around the :ref:`y<class_Basis_property_y>` axis (yaw).
+
+- The :ref:`Vector3.z<class_Vector3_property_z>` should contain the angle around the :ref:`z<class_Basis_property_z>` axis (roll).
 
 
 .. tabs::
@@ -351,6 +400,8 @@ Constructs a pure rotation Basis matrix from Euler angles in the specified Euler
 
 
 
+The order of each consecutive rotation can be changed with ``order`` (see :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ<class_@GlobalScope_constant_EULER_ORDER_YXZ>`): the basis rotates first around the Y axis (yaw), then X (pitch), and lastly Z (roll). When using the opposite method :ref:`get_euler<class_Basis_method_get_euler>`, this order is reversed.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -361,7 +412,7 @@ Constructs a pure rotation Basis matrix from Euler angles in the specified Euler
 
 :ref:`Basis<class_Basis>` **from_scale** **(** :ref:`Vector3<class_Vector3>` scale **)** |static|
 
-Constructs a pure scale basis matrix with no rotation or shearing. The scale values are set as the diagonal of the matrix, and the other parts of the matrix are zero.
+Constructs a new **Basis** that only represents scale, with no rotation or shear, from the given ``scale`` vector.
 
 
 .. tabs::
@@ -384,6 +435,8 @@ Constructs a pure scale basis matrix with no rotation or shearing. The scale val
 
 
 
+\ **Note:** In linear algebra, the matrix of this basis is also known as a `diagonal matrix <https://en.wikipedia.org/wiki/Diagonal_matrix>`__.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -394,9 +447,19 @@ Constructs a pure scale basis matrix with no rotation or shearing. The scale val
 
 :ref:`Vector3<class_Vector3>` **get_euler** **(** :ref:`int<class_int>` order=2 **)** |const|
 
-Returns the basis's rotation in the form of Euler angles. The Euler order depends on the ``order`` parameter, by default it uses the YXZ convention: when decomposing, first Z, then X, and Y last. The returned vector contains the rotation angles in the format (X angle, Y angle, Z angle).
+Returns this basis's rotation as a :ref:`Vector3<class_Vector3>` of `Euler angles <https://en.wikipedia.org/wiki/Euler_angles>`__, in radians.
+
+- The :ref:`Vector3.x<class_Vector3_property_x>` contains the angle around the :ref:`x<class_Basis_property_x>` axis (pitch);
+
+- The :ref:`Vector3.y<class_Vector3_property_y>` contains the angle around the :ref:`y<class_Basis_property_y>` axis (yaw);
+
+- The :ref:`Vector3.z<class_Vector3_property_z>` contains the angle around the :ref:`z<class_Basis_property_z>` axis (roll).
+
+The order of each consecutive rotation can be changed with ``order`` (see :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ<class_@GlobalScope_constant_EULER_ORDER_YXZ>`): Z (roll) is calculated first, then X (pitch), and lastly Y (yaw). When using the opposite method :ref:`from_euler<class_Basis_method_from_euler>`, this order is reversed.
+
+\ **Note:** Euler angles are much more intuitive but are not suitable for 3D math. Because of this, consider using the :ref:`get_rotation_quaternion<class_Basis_method_get_rotation_quaternion>` method instead, which returns a :ref:`Quaternion<class_Quaternion>`.
 
-Consider using the :ref:`get_rotation_quaternion<class_Basis_method_get_rotation_quaternion>` method instead, which returns a :ref:`Quaternion<class_Quaternion>` quaternion instead of Euler angles.
+\ **Note:** In the Inspector dock, a basis's rotation is often displayed in Euler angles (in degrees), as is the case with the :ref:`Node3D.rotation<class_Node3D_property_rotation>` property.
 
 .. rst-class:: classref-item-separator
 
@@ -408,7 +471,9 @@ Consider using the :ref:`get_rotation_quaternion<class_Basis_method_get_rotation
 
 :ref:`Quaternion<class_Quaternion>` **get_rotation_quaternion** **(** **)** |const|
 
-Returns the basis's rotation in the form of a quaternion. See :ref:`get_euler<class_Basis_method_get_euler>` if you need Euler angles, but keep in mind quaternions should generally be preferred to Euler angles.
+Returns this basis's rotation as a :ref:`Quaternion<class_Quaternion>`.
+
+\ **Note:** Quatenions are much more suitable for 3D math but are less intuitive. For user interfaces, consider using the :ref:`get_euler<class_Basis_method_get_euler>` method, which returns Euler angles.
 
 .. rst-class:: classref-item-separator
 
@@ -420,7 +485,7 @@ Returns the basis's rotation in the form of a quaternion. See :ref:`get_euler<cl
 
 :ref:`Vector3<class_Vector3>` **get_scale** **(** **)** |const|
 
-Assuming that the matrix is the combination of a rotation and scaling, return the absolute value of scaling factors along each axis.
+Returns the length of each axis of this basis, as a :ref:`Vector3<class_Vector3>`. If the basis is not sheared, this is the scaling factor. It is not affected by rotation.
 
 
 .. tabs::
@@ -453,6 +518,8 @@ Assuming that the matrix is the combination of a rotation and scaling, return th
 
 
 
+\ **Note:** If the value returned by :ref:`determinant<class_Basis_method_determinant>` is negative, the scale is also negative.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -463,7 +530,7 @@ Assuming that the matrix is the combination of a rotation and scaling, return th
 
 :ref:`Basis<class_Basis>` **inverse** **(** **)** |const|
 
-Returns the inverse of the matrix.
+Returns the `inverse of this basis's matrix <https://en.wikipedia.org/wiki/Invertible_matrix>`__.
 
 .. rst-class:: classref-item-separator
 
@@ -475,7 +542,7 @@ Returns the inverse of the matrix.
 
 :ref:`bool<class_bool>` **is_conformal** **(** **)** |const|
 
-Returns ``true`` if the basis is conformal, meaning it preserves angles and distance ratios, and may only be composed of rotation and uniform scale. Returns ``false`` if the basis has non-uniform scale or shear/skew. This can be used to validate if the basis is non-distorted, which is important for physics and other use cases.
+Returns ``true`` if this basis is conformal. A conformal basis is both *orthogonal* (the axes are perpendicular to each other) and *uniform* (the axes share the same length). This method can be especially useful during physics calculations.
 
 .. rst-class:: classref-item-separator
 
@@ -511,11 +578,11 @@ Returns ``true`` if this basis is finite, by calling :ref:`@GlobalScope.is_finit
 
 :ref:`Basis<class_Basis>` **looking_at** **(** :ref:`Vector3<class_Vector3>` target, :ref:`Vector3<class_Vector3>` up=Vector3(0, 1, 0), :ref:`bool<class_bool>` use_model_front=false **)** |static|
 
-Creates a Basis with a rotation such that the forward axis (-Z) points towards the ``target`` position.
+Creates a new **Basis** with a rotation such that the forward axis (-Z) points towards the ``target`` position.
 
-The up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the forward axis. The resulting Basis is orthonormalized. The ``target`` and ``up`` vectors cannot be zero, and cannot be parallel to each other.
+By default, the -Z axis (camera forward) is treated as forward (implies +X is right). If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forward (implies +X is left) and points toward the ``target`` position.
 
-If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forward (implies +X is left) and points toward the ``target`` position. By default, the -Z axis (camera forward) is treated as forward (implies +X is right).
+The up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the forward axis. The returned basis is orthonormalized (see :ref:`orthonormalized<class_Basis_method_orthonormalized>`). The ``target`` and ``up`` vectors cannot be :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`, and cannot be parallel to each other.
 
 .. rst-class:: classref-item-separator
 
@@ -527,7 +594,9 @@ If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forw
 
 :ref:`Basis<class_Basis>` **orthonormalized** **(** **)** |const|
 
-Returns the orthonormalized version of the matrix (useful to call from time to time to avoid rounding error for orthogonal matrices). This performs a Gram-Schmidt orthonormalization on the basis of the matrix.
+Returns the orthonormalized version of this basis. An orthonormal basis is both *orthogonal* (the axes are perpendicular to each other) and *normalized* (the axes have a length of ``1``), which also means it can only represent rotation.
+
+It is often useful to call this method to avoid rounding errors on a rotating basis:
 
 
 .. tabs::
@@ -563,7 +632,9 @@ Returns the orthonormalized version of the matrix (useful to call from time to t
 
 :ref:`Basis<class_Basis>` **rotated** **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` angle **)** |const|
 
-Introduce an additional rotation around the given axis by ``angle`` (in radians). The axis must be a normalized vector.
+Returns this basis rotated around the given ``axis`` by ``angle`` (in radians). The ``axis`` must be a normalized vector (see :ref:`Vector3.normalized<class_Vector3_method_normalized>`).
+
+Positive values rotate this basis clockwise around the axis, while negative values rotate it counterclockwise.
 
 
 .. tabs::
@@ -598,7 +669,9 @@ Introduce an additional rotation around the given axis by ``angle`` (in radians)
 
 :ref:`Basis<class_Basis>` **scaled** **(** :ref:`Vector3<class_Vector3>` scale **)** |const|
 
-Introduce an additional scaling specified by the given 3D scaling factor.
+Returns this basis with each axis's components scaled by the given ``scale``'s components.
+
+The basis matrix's rows are multiplied by ``scale``'s components. This operation is a global scale (relative to the parent).
 
 
 .. tabs::
@@ -641,7 +714,20 @@ Introduce an additional scaling specified by the given 3D scaling factor.
 
 :ref:`Basis<class_Basis>` **slerp** **(** :ref:`Basis<class_Basis>` to, :ref:`float<class_float>` weight **)** |const|
 
-Assuming that the matrix is a proper rotation matrix, slerp performs a spherical-linear interpolation with another rotation matrix.
+Performs a spherical-linear interpolation with the ``to`` basis, given a ``weight``. Both this basis and ``to`` should represent a rotation.
+
+\ **Example:** Smoothly rotate a :ref:`Node3D<class_Node3D>` to the target basis over time, with a :ref:`Tween<class_Tween>`.
+
+::
+
+    var start_basis = Basis.IDENTITY
+    var target_basis = Basis.IDENTITY.rotated(Vector3.UP, TAU / 2)
+    
+    func _ready():
+        create_tween().tween_method(interpolate, 0.0, 1.0, 5.0).set_trans(Tween.TRANS_EXPO)
+    
+    func interpolate(weight):
+        basis = start_basis.slerp(target_basis, weight)
 
 .. rst-class:: classref-item-separator
 
@@ -653,7 +739,9 @@ Assuming that the matrix is a proper rotation matrix, slerp performs a spherical
 
 :ref:`float<class_float>` **tdotx** **(** :ref:`Vector3<class_Vector3>` with **)** |const|
 
-Transposed dot product with the X axis of the matrix.
+Returns the transposed dot product between ``with`` and the :ref:`x<class_Basis_property_x>` axis (see :ref:`transposed<class_Basis_method_transposed>`).
+
+This is equivalent to ``basis.x.dot(vector)``.
 
 .. rst-class:: classref-item-separator
 
@@ -665,7 +753,9 @@ Transposed dot product with the X axis of the matrix.
 
 :ref:`float<class_float>` **tdoty** **(** :ref:`Vector3<class_Vector3>` with **)** |const|
 
-Transposed dot product with the Y axis of the matrix.
+Returns the transposed dot product between ``with`` and the :ref:`y<class_Basis_property_y>` axis (see :ref:`transposed<class_Basis_method_transposed>`).
+
+This is equivalent to ``basis.y.dot(vector)``.
 
 .. rst-class:: classref-item-separator
 
@@ -677,7 +767,9 @@ Transposed dot product with the Y axis of the matrix.
 
 :ref:`float<class_float>` **tdotz** **(** :ref:`Vector3<class_Vector3>` with **)** |const|
 
-Transposed dot product with the Z axis of the matrix.
+Returns the transposed dot product between ``with`` and the :ref:`z<class_Basis_property_z>` axis (see :ref:`transposed<class_Basis_method_transposed>`).
+
+This is equivalent to ``basis.z.dot(vector)``.
 
 .. rst-class:: classref-item-separator
 
@@ -689,7 +781,7 @@ Transposed dot product with the Z axis of the matrix.
 
 :ref:`Basis<class_Basis>` **transposed** **(** **)** |const|
 
-Returns the transposed version of the matrix.
+Returns the transposed version of this basis. This turns the basis matrix's columns into rows, and its rows into columns.
 
 
 .. tabs::
@@ -737,7 +829,7 @@ Operator Descriptions
 
 :ref:`bool<class_bool>` **operator !=** **(** :ref:`Basis<class_Basis>` right **)**
 
-Returns ``true`` if the **Basis** matrices are not equal.
+Returns ``true`` if the components of both **Basis** matrices are not equal.
 
 \ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` instead, which is more reliable.
 
@@ -751,7 +843,9 @@ Returns ``true`` if the **Basis** matrices are not equal.
 
 :ref:`Basis<class_Basis>` **operator *** **(** :ref:`Basis<class_Basis>` right **)**
 
-Composes these two basis matrices by multiplying them together. This has the effect of transforming the second basis (the child) by the first basis (the parent).
+Transforms (multiplies) the ``right`` basis by this basis.
+
+This is the operation performed between parent and child :ref:`Node3D<class_Node3D>`\ s.
 
 .. rst-class:: classref-item-separator
 
@@ -763,7 +857,22 @@ Composes these two basis matrices by multiplying them together. This has the eff
 
 :ref:`Vector3<class_Vector3>` **operator *** **(** :ref:`Vector3<class_Vector3>` right **)**
 
-Transforms (multiplies) the :ref:`Vector3<class_Vector3>` by the given **Basis** matrix.
+Transforms (multiplies) the ``right`` vector by this basis, returning a :ref:`Vector3<class_Vector3>`.
+
+
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    var my_basis = Basis(Vector3(1, 1, 1), Vector3(1, 1, 1), Vector3(0, 2, 5))
+    print(my_basis * Vector3(1, 2, 3)) # Prints (7, 3, 16)
+
+ .. code-tab:: csharp
+
+    var myBasis = new Basis(new Vector3(1, 1, 1), new Vector3(1, 1, 1), new Vector3(0, 2, 5));
+    GD.Print(my_basis * new Vector3(1, 2, 3)); // Prints (7, 3, 16)
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -775,7 +884,7 @@ Transforms (multiplies) the :ref:`Vector3<class_Vector3>` by the given **Basis**
 
 :ref:`Basis<class_Basis>` **operator *** **(** :ref:`float<class_float>` right **)**
 
-This operator multiplies all components of the **Basis**, which scales it uniformly.
+Multiplies all components of the **Basis** by the given :ref:`float<class_float>`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value.
 
 .. rst-class:: classref-item-separator
 
@@ -787,7 +896,7 @@ This operator multiplies all components of the **Basis**, which scales it unifor
 
 :ref:`Basis<class_Basis>` **operator *** **(** :ref:`int<class_int>` right **)**
 
-This operator multiplies all components of the **Basis**, which scales it uniformly.
+Multiplies all components of the **Basis** by the given :ref:`int<class_int>`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value.
 
 .. rst-class:: classref-item-separator
 
@@ -799,7 +908,7 @@ This operator multiplies all components of the **Basis**, which scales it unifor
 
 :ref:`Basis<class_Basis>` **operator /** **(** :ref:`float<class_float>` right **)**
 
-This operator divides all components of the **Basis**, which inversely scales it uniformly.
+Divides all components of the **Basis** by the given :ref:`float<class_float>`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value.
 
 .. rst-class:: classref-item-separator
 
@@ -811,7 +920,7 @@ This operator divides all components of the **Basis**, which inversely scales it
 
 :ref:`Basis<class_Basis>` **operator /** **(** :ref:`int<class_int>` right **)**
 
-This operator divides all components of the **Basis**, which inversely scales it uniformly.
+Divides all components of the **Basis** by the given :ref:`int<class_int>`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value.
 
 .. rst-class:: classref-item-separator
 
@@ -823,7 +932,7 @@ This operator divides all components of the **Basis**, which inversely scales it
 
 :ref:`bool<class_bool>` **operator ==** **(** :ref:`Basis<class_Basis>` right **)**
 
-Returns ``true`` if the **Basis** matrices are exactly equal.
+Returns ``true`` if the components of both **Basis** matrices are exactly equal.
 
 \ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` instead, which is more reliable.
 
@@ -837,7 +946,9 @@ Returns ``true`` if the **Basis** matrices are exactly equal.
 
 :ref:`Vector3<class_Vector3>` **operator []** **(** :ref:`int<class_int>` index **)**
 
-Access basis components using their index. ``b[0]`` is equivalent to ``b.x``, ``b[1]`` is equivalent to ``b.y``, and ``b[2]`` is equivalent to ``b.z``.
+Accesses each axis (column) of this basis by their index. Index ``0`` is the same as :ref:`x<class_Basis_property_x>`, index ``1`` is the same as :ref:`y<class_Basis_property_y>`, and index ``2`` is the same as :ref:`z<class_Basis_property_z>`.
+
+\ **Note:** In C++, this operator accesses the rows of the basis matrix, *not* the columns. For the same behavior as scripting languages, use the ``set_column`` and ``get_column`` methods.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 3 - 1
classes/class_collisionshape3d.rst

@@ -130,7 +130,9 @@ Sets the collision shape's shape to the addition of all its convexed :ref:`MeshI
 
 void **resource_changed** **(** :ref:`Resource<class_Resource>` resource **)**
 
-*Obsoleted.* Use :ref:`Resource.changed<class_Resource_signal_changed>` instead.
+**Deprecated:** Use :ref:`Resource.changed<class_Resource_signal_changed>` instead.
+
+This method does nothing.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 4 - 0
classes/class_control.rst

@@ -1103,6 +1103,8 @@ See also :ref:`NOTIFICATION_MOUSE_EXIT_SELF<class_Control_constant_NOTIFICATION_
 
 **NOTIFICATION_MOUSE_ENTER_SELF** = ``60``
 
+**Experimental:** This constant may be changed or removed in future versions.
+
 Sent when the mouse cursor enters the control's visible area, that is not occluded behind other Controls or Windows, provided its :ref:`mouse_filter<class_Control_property_mouse_filter>` lets the event reach it and regardless if it's currently focused or not.
 
 \ **Note:** :ref:`CanvasItem.z_index<class_CanvasItem_property_z_index>` doesn't affect which Control receives the notification.
@@ -1115,6 +1117,8 @@ See also :ref:`NOTIFICATION_MOUSE_ENTER<class_Control_constant_NOTIFICATION_MOUS
 
 **NOTIFICATION_MOUSE_EXIT_SELF** = ``61``
 
+**Experimental:** This constant may be changed or removed in future versions.
+
 Sent when the mouse cursor leaves the control's visible area, that is not occluded behind other Controls or Windows, provided its :ref:`mouse_filter<class_Control_property_mouse_filter>` lets the event reach it and regardless if it's currently focused or not.
 
 \ **Note:** :ref:`CanvasItem.z_index<class_CanvasItem_property_z_index>` doesn't affect which Control receives the notification.

+ 168 - 147
classes/class_cpuparticles3d.rst

@@ -38,153 +38,155 @@ Properties
 .. table::
    :widths: auto
 
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`int<class_int>`                                   | :ref:`amount<class_CPUParticles3D_property_amount>`                                         | ``8``                   |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`angle_curve<class_CPUParticles3D_property_angle_curve>`                               |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`angle_max<class_CPUParticles3D_property_angle_max>`                                   | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`angle_min<class_CPUParticles3D_property_angle_min>`                                   | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`angular_velocity_curve<class_CPUParticles3D_property_angular_velocity_curve>`         |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`angular_velocity_max<class_CPUParticles3D_property_angular_velocity_max>`             | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`angular_velocity_min<class_CPUParticles3D_property_angular_velocity_min>`             | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`anim_offset_curve<class_CPUParticles3D_property_anim_offset_curve>`                   |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`anim_offset_max<class_CPUParticles3D_property_anim_offset_max>`                       | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`anim_offset_min<class_CPUParticles3D_property_anim_offset_min>`                       | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`anim_speed_curve<class_CPUParticles3D_property_anim_speed_curve>`                     |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`anim_speed_max<class_CPUParticles3D_property_anim_speed_max>`                         | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`anim_speed_min<class_CPUParticles3D_property_anim_speed_min>`                         | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Color<class_Color>`                               | :ref:`color<class_CPUParticles3D_property_color>`                                           | ``Color(1, 1, 1, 1)``   |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Gradient<class_Gradient>`                         | :ref:`color_initial_ramp<class_CPUParticles3D_property_color_initial_ramp>`                 |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Gradient<class_Gradient>`                         | :ref:`color_ramp<class_CPUParticles3D_property_color_ramp>`                                 |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`damping_curve<class_CPUParticles3D_property_damping_curve>`                           |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`damping_max<class_CPUParticles3D_property_damping_max>`                               | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`damping_min<class_CPUParticles3D_property_damping_min>`                               | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Vector3<class_Vector3>`                           | :ref:`direction<class_CPUParticles3D_property_direction>`                                   | ``Vector3(1, 0, 0)``    |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>`         | :ref:`draw_order<class_CPUParticles3D_property_draw_order>`                                 | ``0``                   |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Vector3<class_Vector3>`                           | :ref:`emission_box_extents<class_CPUParticles3D_property_emission_box_extents>`             |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`PackedColorArray<class_PackedColorArray>`         | :ref:`emission_colors<class_CPUParticles3D_property_emission_colors>`                       | ``PackedColorArray()``  |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`PackedVector3Array<class_PackedVector3Array>`     | :ref:`emission_normals<class_CPUParticles3D_property_emission_normals>`                     |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`PackedVector3Array<class_PackedVector3Array>`     | :ref:`emission_points<class_CPUParticles3D_property_emission_points>`                       |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Vector3<class_Vector3>`                           | :ref:`emission_ring_axis<class_CPUParticles3D_property_emission_ring_axis>`                 |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`emission_ring_height<class_CPUParticles3D_property_emission_ring_height>`             |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`emission_ring_inner_radius<class_CPUParticles3D_property_emission_ring_inner_radius>` |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`emission_ring_radius<class_CPUParticles3D_property_emission_ring_radius>`             |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` | :ref:`emission_shape<class_CPUParticles3D_property_emission_shape>`                         | ``0``                   |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`emission_sphere_radius<class_CPUParticles3D_property_emission_sphere_radius>`         |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`emitting<class_CPUParticles3D_property_emitting>`                                     | ``true``                |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`explosiveness<class_CPUParticles3D_property_explosiveness>`                           | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`int<class_int>`                                   | :ref:`fixed_fps<class_CPUParticles3D_property_fixed_fps>`                                   | ``0``                   |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`flatness<class_CPUParticles3D_property_flatness>`                                     | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`fract_delta<class_CPUParticles3D_property_fract_delta>`                               | ``true``                |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Vector3<class_Vector3>`                           | :ref:`gravity<class_CPUParticles3D_property_gravity>`                                       | ``Vector3(0, -9.8, 0)`` |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`hue_variation_curve<class_CPUParticles3D_property_hue_variation_curve>`               |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`hue_variation_max<class_CPUParticles3D_property_hue_variation_max>`                   | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`hue_variation_min<class_CPUParticles3D_property_hue_variation_min>`                   | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`initial_velocity_max<class_CPUParticles3D_property_initial_velocity_max>`             | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`initial_velocity_min<class_CPUParticles3D_property_initial_velocity_min>`             | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`lifetime<class_CPUParticles3D_property_lifetime>`                                     | ``1.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`lifetime_randomness<class_CPUParticles3D_property_lifetime_randomness>`               | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`linear_accel_curve<class_CPUParticles3D_property_linear_accel_curve>`                 |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`linear_accel_max<class_CPUParticles3D_property_linear_accel_max>`                     | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`linear_accel_min<class_CPUParticles3D_property_linear_accel_min>`                     | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`local_coords<class_CPUParticles3D_property_local_coords>`                             | ``false``               |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Mesh<class_Mesh>`                                 | :ref:`mesh<class_CPUParticles3D_property_mesh>`                                             |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`one_shot<class_CPUParticles3D_property_one_shot>`                                     | ``false``               |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`orbit_velocity_curve<class_CPUParticles3D_property_orbit_velocity_curve>`             |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`orbit_velocity_max<class_CPUParticles3D_property_orbit_velocity_max>`                 |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`orbit_velocity_min<class_CPUParticles3D_property_orbit_velocity_min>`                 |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`particle_flag_align_y<class_CPUParticles3D_property_particle_flag_align_y>`           | ``false``               |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`particle_flag_disable_z<class_CPUParticles3D_property_particle_flag_disable_z>`       | ``false``               |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`particle_flag_rotate_y<class_CPUParticles3D_property_particle_flag_rotate_y>`         | ``false``               |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`preprocess<class_CPUParticles3D_property_preprocess>`                                 | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`radial_accel_curve<class_CPUParticles3D_property_radial_accel_curve>`                 |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`radial_accel_max<class_CPUParticles3D_property_radial_accel_max>`                     | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`radial_accel_min<class_CPUParticles3D_property_radial_accel_min>`                     | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`randomness<class_CPUParticles3D_property_randomness>`                                 | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`scale_amount_curve<class_CPUParticles3D_property_scale_amount_curve>`                 |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`scale_amount_max<class_CPUParticles3D_property_scale_amount_max>`                     | ``1.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`scale_amount_min<class_CPUParticles3D_property_scale_amount_min>`                     | ``1.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`scale_curve_x<class_CPUParticles3D_property_scale_curve_x>`                           |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`scale_curve_y<class_CPUParticles3D_property_scale_curve_y>`                           |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`scale_curve_z<class_CPUParticles3D_property_scale_curve_z>`                           |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`speed_scale<class_CPUParticles3D_property_speed_scale>`                               | ``1.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`bool<class_bool>`                                 | :ref:`split_scale<class_CPUParticles3D_property_split_scale>`                               | ``false``               |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`spread<class_CPUParticles3D_property_spread>`                                         | ``45.0``                |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`Curve<class_Curve>`                               | :ref:`tangential_accel_curve<class_CPUParticles3D_property_tangential_accel_curve>`         |                         |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`tangential_accel_max<class_CPUParticles3D_property_tangential_accel_max>`             | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-   | :ref:`float<class_float>`                               | :ref:`tangential_accel_min<class_CPUParticles3D_property_tangential_accel_min>`             | ``0.0``                 |
-   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`int<class_int>`                                   | :ref:`amount<class_CPUParticles3D_property_amount>`                                         | ``8``                         |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`angle_curve<class_CPUParticles3D_property_angle_curve>`                               |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`angle_max<class_CPUParticles3D_property_angle_max>`                                   | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`angle_min<class_CPUParticles3D_property_angle_min>`                                   | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`angular_velocity_curve<class_CPUParticles3D_property_angular_velocity_curve>`         |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`angular_velocity_max<class_CPUParticles3D_property_angular_velocity_max>`             | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`angular_velocity_min<class_CPUParticles3D_property_angular_velocity_min>`             | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`anim_offset_curve<class_CPUParticles3D_property_anim_offset_curve>`                   |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`anim_offset_max<class_CPUParticles3D_property_anim_offset_max>`                       | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`anim_offset_min<class_CPUParticles3D_property_anim_offset_min>`                       | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`anim_speed_curve<class_CPUParticles3D_property_anim_speed_curve>`                     |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`anim_speed_max<class_CPUParticles3D_property_anim_speed_max>`                         | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`anim_speed_min<class_CPUParticles3D_property_anim_speed_min>`                         | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Color<class_Color>`                               | :ref:`color<class_CPUParticles3D_property_color>`                                           | ``Color(1, 1, 1, 1)``         |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Gradient<class_Gradient>`                         | :ref:`color_initial_ramp<class_CPUParticles3D_property_color_initial_ramp>`                 |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Gradient<class_Gradient>`                         | :ref:`color_ramp<class_CPUParticles3D_property_color_ramp>`                                 |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`damping_curve<class_CPUParticles3D_property_damping_curve>`                           |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`damping_max<class_CPUParticles3D_property_damping_max>`                               | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`damping_min<class_CPUParticles3D_property_damping_min>`                               | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Vector3<class_Vector3>`                           | :ref:`direction<class_CPUParticles3D_property_direction>`                                   | ``Vector3(1, 0, 0)``          |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>`         | :ref:`draw_order<class_CPUParticles3D_property_draw_order>`                                 | ``0``                         |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Vector3<class_Vector3>`                           | :ref:`emission_box_extents<class_CPUParticles3D_property_emission_box_extents>`             |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`PackedColorArray<class_PackedColorArray>`         | :ref:`emission_colors<class_CPUParticles3D_property_emission_colors>`                       | ``PackedColorArray()``        |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`PackedVector3Array<class_PackedVector3Array>`     | :ref:`emission_normals<class_CPUParticles3D_property_emission_normals>`                     |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`PackedVector3Array<class_PackedVector3Array>`     | :ref:`emission_points<class_CPUParticles3D_property_emission_points>`                       |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Vector3<class_Vector3>`                           | :ref:`emission_ring_axis<class_CPUParticles3D_property_emission_ring_axis>`                 |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`emission_ring_height<class_CPUParticles3D_property_emission_ring_height>`             |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`emission_ring_inner_radius<class_CPUParticles3D_property_emission_ring_inner_radius>` |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`emission_ring_radius<class_CPUParticles3D_property_emission_ring_radius>`             |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` | :ref:`emission_shape<class_CPUParticles3D_property_emission_shape>`                         | ``0``                         |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`emission_sphere_radius<class_CPUParticles3D_property_emission_sphere_radius>`         |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`emitting<class_CPUParticles3D_property_emitting>`                                     | ``true``                      |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`explosiveness<class_CPUParticles3D_property_explosiveness>`                           | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`int<class_int>`                                   | :ref:`fixed_fps<class_CPUParticles3D_property_fixed_fps>`                                   | ``0``                         |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`flatness<class_CPUParticles3D_property_flatness>`                                     | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`fract_delta<class_CPUParticles3D_property_fract_delta>`                               | ``true``                      |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Vector3<class_Vector3>`                           | :ref:`gravity<class_CPUParticles3D_property_gravity>`                                       | ``Vector3(0, -9.8, 0)``       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`hue_variation_curve<class_CPUParticles3D_property_hue_variation_curve>`               |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`hue_variation_max<class_CPUParticles3D_property_hue_variation_max>`                   | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`hue_variation_min<class_CPUParticles3D_property_hue_variation_min>`                   | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`initial_velocity_max<class_CPUParticles3D_property_initial_velocity_max>`             | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`initial_velocity_min<class_CPUParticles3D_property_initial_velocity_min>`             | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`lifetime<class_CPUParticles3D_property_lifetime>`                                     | ``1.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`lifetime_randomness<class_CPUParticles3D_property_lifetime_randomness>`               | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`linear_accel_curve<class_CPUParticles3D_property_linear_accel_curve>`                 |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`linear_accel_max<class_CPUParticles3D_property_linear_accel_max>`                     | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`linear_accel_min<class_CPUParticles3D_property_linear_accel_min>`                     | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`local_coords<class_CPUParticles3D_property_local_coords>`                             | ``false``                     |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Mesh<class_Mesh>`                                 | :ref:`mesh<class_CPUParticles3D_property_mesh>`                                             |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`one_shot<class_CPUParticles3D_property_one_shot>`                                     | ``false``                     |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`orbit_velocity_curve<class_CPUParticles3D_property_orbit_velocity_curve>`             |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`orbit_velocity_max<class_CPUParticles3D_property_orbit_velocity_max>`                 |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`orbit_velocity_min<class_CPUParticles3D_property_orbit_velocity_min>`                 |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`particle_flag_align_y<class_CPUParticles3D_property_particle_flag_align_y>`           | ``false``                     |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`particle_flag_disable_z<class_CPUParticles3D_property_particle_flag_disable_z>`       | ``false``                     |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`particle_flag_rotate_y<class_CPUParticles3D_property_particle_flag_rotate_y>`         | ``false``                     |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`preprocess<class_CPUParticles3D_property_preprocess>`                                 | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`radial_accel_curve<class_CPUParticles3D_property_radial_accel_curve>`                 |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`radial_accel_max<class_CPUParticles3D_property_radial_accel_max>`                     | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`radial_accel_min<class_CPUParticles3D_property_radial_accel_min>`                     | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`randomness<class_CPUParticles3D_property_randomness>`                                 | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`scale_amount_curve<class_CPUParticles3D_property_scale_amount_curve>`                 |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`scale_amount_max<class_CPUParticles3D_property_scale_amount_max>`                     | ``1.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`scale_amount_min<class_CPUParticles3D_property_scale_amount_min>`                     | ``1.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`scale_curve_x<class_CPUParticles3D_property_scale_curve_x>`                           |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`scale_curve_y<class_CPUParticles3D_property_scale_curve_y>`                           |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`scale_curve_z<class_CPUParticles3D_property_scale_curve_z>`                           |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`speed_scale<class_CPUParticles3D_property_speed_scale>`                               | ``1.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`bool<class_bool>`                                 | :ref:`split_scale<class_CPUParticles3D_property_split_scale>`                               | ``false``                     |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`spread<class_CPUParticles3D_property_spread>`                                         | ``45.0``                      |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`Curve<class_Curve>`                               | :ref:`tangential_accel_curve<class_CPUParticles3D_property_tangential_accel_curve>`         |                               |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`tangential_accel_max<class_CPUParticles3D_property_tangential_accel_max>`             | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`float<class_float>`                               | :ref:`tangential_accel_min<class_CPUParticles3D_property_tangential_accel_min>`             | ``0.0``                       |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
+   | :ref:`AABB<class_AABB>`                                 | :ref:`visibility_aabb<class_CPUParticles3D_property_visibility_aabb>`                       | ``AABB(-4, -4, -4, 8, 8, 8)`` |
+   +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+
 
 .. rst-class:: classref-reftable-group
 
@@ -1756,6 +1758,25 @@ Maximum tangent acceleration.
 
 Minimum tangent acceleration.
 
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_CPUParticles3D_property_visibility_aabb:
+
+.. rst-class:: classref-property
+
+:ref:`AABB<class_AABB>` **visibility_aabb** = ``AABB(-4, -4, -4, 8, 8, 8)``
+
+.. rst-class:: classref-property-setget
+
+- void **set_visibility_aabb** **(** :ref:`AABB<class_AABB>` value **)**
+- :ref:`AABB<class_AABB>` **get_visibility_aabb** **(** **)**
+
+The :ref:`AABB<class_AABB>` that determines the node's region which needs to be visible on screen for the particle system to be active.
+
+Grow the box if particles suddenly appear/disappear when the node enters/exits the screen. The :ref:`AABB<class_AABB>` can be grown via code or with the **Particles → Generate AABB** editor tool.
+
 .. rst-class:: classref-section-separator
 
 ----

+ 3 - 0
classes/class_diraccess.rst

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

+ 148 - 2
classes/class_displayserver.rst

@@ -46,12 +46,16 @@ Methods
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                    | :ref:`clipboard_set_primary<class_DisplayServer_method_clipboard_set_primary>` **(** :ref:`String<class_String>` clipboard_primary **)**                                                                                                                                                                                                                                                                                                                                                                                    |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                                                   | :ref:`create_status_indicator<class_DisplayServer_method_create_status_indicator>` **(** :ref:`Image<class_Image>` icon, :ref:`String<class_String>` tooltip, :ref:`Callable<class_Callable>` callback **)**                                                                                                                                                                                                                                                                                                                |
+   +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`CursorShape<enum_DisplayServer_CursorShape>`                      | :ref:`cursor_get_shape<class_DisplayServer_method_cursor_get_shape>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                    |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                    | :ref:`cursor_set_custom_image<class_DisplayServer_method_cursor_set_custom_image>` **(** :ref:`Resource<class_Resource>` cursor, :ref:`CursorShape<enum_DisplayServer_CursorShape>` shape=0, :ref:`Vector2<class_Vector2>` hotspot=Vector2(0, 0) **)**                                                                                                                                                                                                                                                                      |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                    | :ref:`cursor_set_shape<class_DisplayServer_method_cursor_set_shape>` **(** :ref:`CursorShape<enum_DisplayServer_CursorShape>` shape **)**                                                                                                                                                                                                                                                                                                                                                                                   |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                    | :ref:`delete_status_indicator<class_DisplayServer_method_delete_status_indicator>` **(** :ref:`int<class_int>` id **)**                                                                                                                                                                                                                                                                                                                                                                                                     |
+   +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Error<enum_@GlobalScope_Error>`                                   | :ref:`dialog_input_text<class_DisplayServer_method_dialog_input_text>` **(** :ref:`String<class_String>` title, :ref:`String<class_String>` description, :ref:`String<class_String>` existing_text, :ref:`Callable<class_Callable>` callback **)**                                                                                                                                                                                                                                                                          |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Error<enum_@GlobalScope_Error>`                                   | :ref:`dialog_show<class_DisplayServer_method_dialog_show>` **(** :ref:`String<class_String>` title, :ref:`String<class_String>` description, :ref:`PackedStringArray<class_PackedStringArray>` buttons, :ref:`Callable<class_Callable>` callback **)**                                                                                                                                                                                                                                                                      |
@@ -66,6 +70,8 @@ Methods
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`                                               | :ref:`get_accent_color<class_DisplayServer_method_get_accent_color>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                    |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Color<class_Color>`                                               | :ref:`get_base_color<class_DisplayServer_method_get_base_color>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+   +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Rect2[]<class_Rect2>`                                             | :ref:`get_display_cutouts<class_DisplayServer_method_get_display_cutouts>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                              |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Rect2i<class_Rect2i>`                                             | :ref:`get_display_safe_area<class_DisplayServer_method_get_display_safe_area>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                          |
@@ -186,6 +192,8 @@ Methods
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                                 | :ref:`has_feature<class_DisplayServer_method_has_feature>` **(** :ref:`Feature<enum_DisplayServer_Feature>` feature **)** |const|                                                                                                                                                                                                                                                                                                                                                                                           |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                    | :ref:`help_set_search_callbacks<class_DisplayServer_method_help_set_search_callbacks>` **(** :ref:`Callable<class_Callable>` search_callback, :ref:`Callable<class_Callable>` action_callback **)**                                                                                                                                                                                                                                                                                                                         |
+   +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Vector2i<class_Vector2i>`                                         | :ref:`ime_get_selection<class_DisplayServer_method_ime_get_selection>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                  |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                                             | :ref:`ime_get_text<class_DisplayServer_method_ime_get_text>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                            |
@@ -250,6 +258,14 @@ Methods
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                    | :ref:`set_native_icon<class_DisplayServer_method_set_native_icon>` **(** :ref:`String<class_String>` filename **)**                                                                                                                                                                                                                                                                                                                                                                                                         |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                    | :ref:`set_system_theme_change_callback<class_DisplayServer_method_set_system_theme_change_callback>` **(** :ref:`Callable<class_Callable>` callable **)**                                                                                                                                                                                                                                                                                                                                                                   |
+   +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                    | :ref:`status_indicator_set_callback<class_DisplayServer_method_status_indicator_set_callback>` **(** :ref:`int<class_int>` id, :ref:`Callable<class_Callable>` callback **)**                                                                                                                                                                                                                                                                                                                                               |
+   +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                    | :ref:`status_indicator_set_icon<class_DisplayServer_method_status_indicator_set_icon>` **(** :ref:`int<class_int>` id, :ref:`Image<class_Image>` icon **)**                                                                                                                                                                                                                                                                                                                                                                 |
+   +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                    | :ref:`status_indicator_set_tooltip<class_DisplayServer_method_status_indicator_set_tooltip>` **(** :ref:`int<class_int>` id, :ref:`String<class_String>` tooltip **)**                                                                                                                                                                                                                                                                                                                                                      |
+   +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                                             | :ref:`tablet_get_current_driver<class_DisplayServer_method_tablet_get_current_driver>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                  |
    +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                                   | :ref:`tablet_get_driver_count<class_DisplayServer_method_tablet_get_driver_count>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                      |
@@ -556,6 +572,22 @@ Display server supports expanding window content to the title. See :ref:`WINDOW_
 
 Display server supports reading screen pixels. See :ref:`screen_get_pixel<class_DisplayServer_method_screen_get_pixel>`.
 
+.. _class_DisplayServer_constant_FEATURE_STATUS_INDICATOR:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Feature<enum_DisplayServer_Feature>` **FEATURE_STATUS_INDICATOR** = ``22``
+
+Display server supports application status indicators.
+
+.. _class_DisplayServer_constant_FEATURE_NATIVE_HELP:
+
+.. rst-class:: classref-enumeration-constant
+
+:ref:`Feature<enum_DisplayServer_Feature>` **FEATURE_NATIVE_HELP** = ``23``
+
+Display server supports native help system search callbacks. See :ref:`help_set_search_callbacks<class_DisplayServer_method_help_set_search_callbacks>`.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -1415,6 +1447,14 @@ The ID of the main window spawned by the engine, which can be passed to methods
 
 The ID that refers to a nonexistent window. This is returned by some **DisplayServer** methods if no window matches the requested result.
 
+.. _class_DisplayServer_constant_INVALID_INDICATOR_ID:
+
+.. rst-class:: classref-constant
+
+**INVALID_INDICATOR_ID** = ``-1``
+
+The ID that refers to a nonexistent application status indicator.
+
 .. rst-class:: classref-section-separator
 
 ----
@@ -1512,6 +1552,18 @@ Sets the user's `primary <https://unix.stackexchange.com/questions/139191/whats-
 
 ----
 
+.. _class_DisplayServer_method_create_status_indicator:
+
+.. rst-class:: classref-method
+
+:ref:`int<class_int>` **create_status_indicator** **(** :ref:`Image<class_Image>` icon, :ref:`String<class_String>` tooltip, :ref:`Callable<class_Callable>` callback **)**
+
+Creates a new application status indicator with the specified icon, tooltip, and activation callback.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_DisplayServer_method_cursor_get_shape:
 
 .. rst-class:: classref-method
@@ -1548,6 +1600,18 @@ Sets the default mouse cursor shape. The cursor's appearance will vary depending
 
 ----
 
+.. _class_DisplayServer_method_delete_status_indicator:
+
+.. rst-class:: classref-method
+
+void **delete_status_indicator** **(** :ref:`int<class_int>` id **)**
+
+Removes the application status indicator.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_DisplayServer_method_dialog_input_text:
 
 .. rst-class:: classref-method
@@ -1600,7 +1664,7 @@ Displays OS native dialog for selecting files or directories in the file system.
 
 Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int``.
 
-\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG<class_DisplayServer_constant_FEATURE_NATIVE_DIALOG>` feature. Supported platforms include Linux (X11 and Wayland), Windows, and macOS.
+\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG<class_DisplayServer_constant_FEATURE_NATIVE_DIALOG>` feature. Supported platforms include Linux (X11/Wayland), Windows, and macOS.
 
 \ **Note:** ``current_directory`` might be ignored.
 
@@ -1632,7 +1696,7 @@ Displays OS native dialog for selecting files or directories in the file system
 
 Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int, selected_option: Dictionary``.
 
-\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG<class_DisplayServer_constant_FEATURE_NATIVE_DIALOG>` feature. Supported platforms include Linux (X11 and Wayland), Windows, and macOS.
+\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG<class_DisplayServer_constant_FEATURE_NATIVE_DIALOG>` feature. Supported platforms include Linux (X11/Wayland), Windows, and macOS.
 
 \ **Note:** ``current_directory`` might be ignored.
 
@@ -1674,6 +1738,20 @@ Returns OS theme accent color. Returns ``Color(0, 0, 0, 0)``, if accent color is
 
 ----
 
+.. _class_DisplayServer_method_get_base_color:
+
+.. rst-class:: classref-method
+
+:ref:`Color<class_Color>` **get_base_color** **(** **)** |const|
+
+Returns the OS theme base color (default control background). Returns ``Color(0, 0, 0, 0)`` if the base color is unknown.
+
+\ **Note:** This method is implemented on macOS and Windows.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_DisplayServer_method_get_display_cutouts:
 
 .. rst-class:: classref-method
@@ -2679,6 +2757,24 @@ Returns ``true`` if the specified ``feature`` is supported by the current **Disp
 
 ----
 
+.. _class_DisplayServer_method_help_set_search_callbacks:
+
+.. rst-class:: classref-method
+
+void **help_set_search_callbacks** **(** :ref:`Callable<class_Callable>` search_callback, :ref:`Callable<class_Callable>` action_callback **)**
+
+Sets native help system search callbacks.
+
+\ ``search_callback`` has the following arguments: ``String search_string, int result_limit`` and return a :ref:`Dictionary<class_Dictionary>` with "key, display name" pairs for the search results. Called when the user enters search terms in the ``Help`` menu.
+
+\ ``action_callback`` has the following arguments: ``String key``. Called when the user selects a search result in the ``Help`` menu.
+
+\ **Note:** This method is implemented only on macOS.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_DisplayServer_method_ime_get_selection:
 
 .. rst-class:: classref-method
@@ -3143,6 +3239,56 @@ Sets the window icon (usually displayed in the top-left corner) in the operating
 
 ----
 
+.. _class_DisplayServer_method_set_system_theme_change_callback:
+
+.. rst-class:: classref-method
+
+void **set_system_theme_change_callback** **(** :ref:`Callable<class_Callable>` callable **)**
+
+Sets the ``callable`` that should be called when system theme settings are changed. Callback method should have zero arguments.
+
+\ **Note:** This method is implemented on Android, iOS, macOS, Windows, and Linux (X11/Wayland).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_DisplayServer_method_status_indicator_set_callback:
+
+.. rst-class:: classref-method
+
+void **status_indicator_set_callback** **(** :ref:`int<class_int>` id, :ref:`Callable<class_Callable>` callback **)**
+
+Sets the application status indicator activation callback.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_DisplayServer_method_status_indicator_set_icon:
+
+.. rst-class:: classref-method
+
+void **status_indicator_set_icon** **(** :ref:`int<class_int>` id, :ref:`Image<class_Image>` icon **)**
+
+Sets the application status indicator icon.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_DisplayServer_method_status_indicator_set_tooltip:
+
+.. rst-class:: classref-method
+
+void **status_indicator_set_tooltip** **(** :ref:`int<class_int>` id, :ref:`String<class_String>` tooltip **)**
+
+Sets the application status indicator tooltip.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_DisplayServer_method_tablet_get_current_driver:
 
 .. rst-class:: classref-method

+ 50 - 2
classes/class_editorexportplatformandroid.rst

@@ -54,8 +54,14 @@ Properties
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`custom_template/release<class_EditorExportPlatformAndroid_property_custom_template/release>`                                               |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`gradle_build/android_source_template<class_EditorExportPlatformAndroid_property_gradle_build/android_source_template>`                     |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`gradle_build/compress_native_libraries<class_EditorExportPlatformAndroid_property_gradle_build/compress_native_libraries>`                 |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`gradle_build/export_format<class_EditorExportPlatformAndroid_property_gradle_build/export_format>`                                         |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`gradle_build/gradle_build_directory<class_EditorExportPlatformAndroid_property_gradle_build/gradle_build_directory>`                       |
+   +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`gradle_build/min_sdk<class_EditorExportPlatformAndroid_property_gradle_build/min_sdk>`                                                     |
    +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`gradle_build/target_sdk<class_EditorExportPlatformAndroid_property_gradle_build/target_sdk>`                                               |
@@ -526,7 +532,9 @@ A list of additional command line arguments, exported project will receive when
 
 :ref:`String<class_String>` **custom_template/debug**
 
-Path to the custom export template. If left empty, default template is used.
+Path to an APK file to use as a custom export template for debug exports. If left empty, default template is used.
+
+\ **Note:** This is only used if :ref:`gradle_build/use_gradle_build<class_EditorExportPlatformAndroid_property_gradle_build/use_gradle_build>` is disabled.
 
 .. rst-class:: classref-item-separator
 
@@ -538,7 +546,35 @@ Path to the custom export template. If left empty, default template is used.
 
 :ref:`String<class_String>` **custom_template/release**
 
-Path to the custom export template. If left empty, default template is used.
+Path to an APK file to use as a custom export template for release exports. If left empty, default template is used.
+
+\ **Note:** This is only used if :ref:`gradle_build/use_gradle_build<class_EditorExportPlatformAndroid_property_gradle_build/use_gradle_build>` is disabled.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorExportPlatformAndroid_property_gradle_build/android_source_template:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **gradle_build/android_source_template**
+
+Path to a ZIP file holding the source for the export template used in a Gradle build. If left empty, the default template is used.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorExportPlatformAndroid_property_gradle_build/compress_native_libraries:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **gradle_build/compress_native_libraries**
+
+If ``true``, native libraries are compressed when performing a Gradle build.
+
+\ **Note:** Although your binary may be smaller, your application may load slower because the native libraries are not loaded directly from the binary at runtime.
 
 .. rst-class:: classref-item-separator
 
@@ -556,6 +592,18 @@ Export format for Gradle build.
 
 ----
 
+.. _class_EditorExportPlatformAndroid_property_gradle_build/gradle_build_directory:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **gradle_build/gradle_build_directory**
+
+Path to the Gradle build directory. If left empty, then ``res://android`` will be used.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorExportPlatformAndroid_property_gradle_build/min_sdk:
 
 .. rst-class:: classref-property

+ 8 - 36
classes/class_editorexportplatformlinuxbsd.rst

@@ -54,13 +54,9 @@ Properties
    +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/run_script<class_EditorExportPlatformLinuxBSD_property_ssh_remote_deploy/run_script>`         |
    +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`texture_format/bptc<class_EditorExportPlatformLinuxBSD_property_texture_format/bptc>`                           |
+   | :ref:`bool<class_bool>`     | :ref:`texture_format/etc2_astc<class_EditorExportPlatformLinuxBSD_property_texture_format/etc2_astc>`                 |
    +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`texture_format/etc<class_EditorExportPlatformLinuxBSD_property_texture_format/etc>`                             |
-   +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`texture_format/etc2<class_EditorExportPlatformLinuxBSD_property_texture_format/etc2>`                           |
-   +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`texture_format/s3tc<class_EditorExportPlatformLinuxBSD_property_texture_format/s3tc>`                           |
+   | :ref:`bool<class_bool>`     | :ref:`texture_format/s3tc_bptc<class_EditorExportPlatformLinuxBSD_property_texture_format/s3tc_bptc>`                 |
    +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
@@ -240,49 +236,25 @@ The following variables can be used in the script:
 
 ----
 
-.. _class_EditorExportPlatformLinuxBSD_property_texture_format/bptc:
-
-.. rst-class:: classref-property
-
-:ref:`bool<class_bool>` **texture_format/bptc**
-
-If ``true``, project textures are exported in the BPTC format.
-
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_EditorExportPlatformLinuxBSD_property_texture_format/etc:
-
-.. rst-class:: classref-property
-
-:ref:`bool<class_bool>` **texture_format/etc**
-
-If ``true``, project textures are exported in the ETC format.
-
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_EditorExportPlatformLinuxBSD_property_texture_format/etc2:
+.. _class_EditorExportPlatformLinuxBSD_property_texture_format/etc2_astc:
 
 .. rst-class:: classref-property
 
-:ref:`bool<class_bool>` **texture_format/etc2**
+:ref:`bool<class_bool>` **texture_format/etc2_astc**
 
-If ``true``, project textures are exported in the ETC2 format.
+If ``true``, project textures are exported in the ETC2/ASTC format.
 
 .. rst-class:: classref-item-separator
 
 ----
 
-.. _class_EditorExportPlatformLinuxBSD_property_texture_format/s3tc:
+.. _class_EditorExportPlatformLinuxBSD_property_texture_format/s3tc_bptc:
 
 .. rst-class:: classref-property
 
-:ref:`bool<class_bool>` **texture_format/s3tc**
+:ref:`bool<class_bool>` **texture_format/s3tc_bptc**
 
-If ``true``, project textures are exported in the S3TC format.
+If ``true``, project textures are exported in the S3TC/BPTC format.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 108 - 83
classes/class_editorexportplatformweb.rst

@@ -16,6 +16,15 @@ Exporter for the Web.
 
 .. rst-class:: classref-introduction-group
 
+Description
+-----------
+
+The Web exporter customizes how a web build is handled. In the editor's "Export" window, it is created when adding a new "Web" preset.
+
+\ **Note:** Godot on Web is rendered inside a ``<canvas>`` tag. Normally, the canvas cannot be positioned or resized manually, but otherwise acts as the main :ref:`Window<class_Window>` of the application.
+
+.. rst-class:: classref-introduction-group
+
 Tutorials
 ---------
 
@@ -31,47 +40,49 @@ Properties
 .. table::
    :widths: auto
 
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`custom_template/debug<class_EditorExportPlatformWeb_property_custom_template/debug>`                               |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`custom_template/release<class_EditorExportPlatformWeb_property_custom_template/release>`                           |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`       | :ref:`html/canvas_resize_policy<class_EditorExportPlatformWeb_property_html/canvas_resize_policy>`                       |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`html/custom_html_shell<class_EditorExportPlatformWeb_property_html/custom_html_shell>`                             |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`html/experimental_virtual_keyboard<class_EditorExportPlatformWeb_property_html/experimental_virtual_keyboard>`     |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`html/export_icon<class_EditorExportPlatformWeb_property_html/export_icon>`                                         |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`html/focus_canvas_on_start<class_EditorExportPlatformWeb_property_html/focus_canvas_on_start>`                     |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`html/head_include<class_EditorExportPlatformWeb_property_html/head_include>`                                       |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Color<class_Color>`   | :ref:`progressive_web_app/background_color<class_EditorExportPlatformWeb_property_progressive_web_app/background_color>` |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`       | :ref:`progressive_web_app/display<class_EditorExportPlatformWeb_property_progressive_web_app/display>`                   |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`progressive_web_app/enabled<class_EditorExportPlatformWeb_property_progressive_web_app/enabled>`                   |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`progressive_web_app/icon_144x144<class_EditorExportPlatformWeb_property_progressive_web_app/icon_144x144>`         |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`progressive_web_app/icon_180x180<class_EditorExportPlatformWeb_property_progressive_web_app/icon_180x180>`         |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`progressive_web_app/icon_512x512<class_EditorExportPlatformWeb_property_progressive_web_app/icon_512x512>`         |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>` | :ref:`progressive_web_app/offline_page<class_EditorExportPlatformWeb_property_progressive_web_app/offline_page>`         |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`       | :ref:`progressive_web_app/orientation<class_EditorExportPlatformWeb_property_progressive_web_app/orientation>`           |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`variant/extensions_support<class_EditorExportPlatformWeb_property_variant/extensions_support>`                     |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`variant/thread_support<class_EditorExportPlatformWeb_property_variant/thread_support>`                             |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`vram_texture_compression/for_desktop<class_EditorExportPlatformWeb_property_vram_texture_compression/for_desktop>` |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`     | :ref:`vram_texture_compression/for_mobile<class_EditorExportPlatformWeb_property_vram_texture_compression/for_mobile>`   |
-   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`custom_template/debug<class_EditorExportPlatformWeb_property_custom_template/debug>`                                                                         |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`custom_template/release<class_EditorExportPlatformWeb_property_custom_template/release>`                                                                     |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`       | :ref:`html/canvas_resize_policy<class_EditorExportPlatformWeb_property_html/canvas_resize_policy>`                                                                 |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`html/custom_html_shell<class_EditorExportPlatformWeb_property_html/custom_html_shell>`                                                                       |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`html/experimental_virtual_keyboard<class_EditorExportPlatformWeb_property_html/experimental_virtual_keyboard>`                                               |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`html/export_icon<class_EditorExportPlatformWeb_property_html/export_icon>`                                                                                   |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`html/focus_canvas_on_start<class_EditorExportPlatformWeb_property_html/focus_canvas_on_start>`                                                               |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`html/head_include<class_EditorExportPlatformWeb_property_html/head_include>`                                                                                 |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Color<class_Color>`   | :ref:`progressive_web_app/background_color<class_EditorExportPlatformWeb_property_progressive_web_app/background_color>`                                           |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`       | :ref:`progressive_web_app/display<class_EditorExportPlatformWeb_property_progressive_web_app/display>`                                                             |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`progressive_web_app/enabled<class_EditorExportPlatformWeb_property_progressive_web_app/enabled>`                                                             |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`progressive_web_app/ensure_cross_origin_isolation_headers<class_EditorExportPlatformWeb_property_progressive_web_app/ensure_cross_origin_isolation_headers>` |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`progressive_web_app/icon_144x144<class_EditorExportPlatformWeb_property_progressive_web_app/icon_144x144>`                                                   |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`progressive_web_app/icon_180x180<class_EditorExportPlatformWeb_property_progressive_web_app/icon_180x180>`                                                   |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`progressive_web_app/icon_512x512<class_EditorExportPlatformWeb_property_progressive_web_app/icon_512x512>`                                                   |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`progressive_web_app/offline_page<class_EditorExportPlatformWeb_property_progressive_web_app/offline_page>`                                                   |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`       | :ref:`progressive_web_app/orientation<class_EditorExportPlatformWeb_property_progressive_web_app/orientation>`                                                     |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`variant/extensions_support<class_EditorExportPlatformWeb_property_variant/extensions_support>`                                                               |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`variant/thread_support<class_EditorExportPlatformWeb_property_variant/thread_support>`                                                                       |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`vram_texture_compression/for_desktop<class_EditorExportPlatformWeb_property_vram_texture_compression/for_desktop>`                                           |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`     | :ref:`vram_texture_compression/for_mobile<class_EditorExportPlatformWeb_property_vram_texture_compression/for_mobile>`                                             |
+   +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -88,7 +99,7 @@ Property Descriptions
 
 :ref:`String<class_String>` **custom_template/debug**
 
-Path to the custom export template. If left empty, default template is used.
+File path to the custom export template used for debug builds. If left empty, the default template is used.
 
 .. rst-class:: classref-item-separator
 
@@ -100,7 +111,7 @@ Path to the custom export template. If left empty, default template is used.
 
 :ref:`String<class_String>` **custom_template/release**
 
-Path to the custom export template. If left empty, default template is used.
+File path to the custom export template used for release builds. If left empty, the default template is used.
 
 .. rst-class:: classref-item-separator
 
@@ -112,7 +123,13 @@ Path to the custom export template. If left empty, default template is used.
 
 :ref:`int<class_int>` **html/canvas_resize_policy**
 
-The canvas resize policy determines how the canvas should be resized by Godot.
+Determines how the canvas should be resized by Godot.
+
+- **None:** The canvas is not automatically resized.
+
+- **Project:** The size of the canvas is dependent on the :ref:`ProjectSettings<class_ProjectSettings>`.
+
+- **Adaptive:** The canvas is automatically resized to fit as much of the web page as possible.
 
 .. rst-class:: classref-item-separator
 
@@ -124,9 +141,9 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`String<class_String>` **html/custom_html_shell**
 
-.. container:: contribute
+The custom HTML page that wraps the exported web build. If left empty, the default HTML shell is used.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+For more information, see the :doc:`Customizing HTML5 Shell <../tutorials/platform/web/customizing_html5_shell>` tutorial.
 
 .. rst-class:: classref-item-separator
 
@@ -138,9 +155,9 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`bool<class_bool>` **html/experimental_virtual_keyboard**
 
-.. container:: contribute
+If ``true``, embeds support for a virtual keyboard into the web page, which is shown when necessary on touchscreen devices.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Warning:** This feature is experimental and may be changed in a future release.
 
 .. rst-class:: classref-item-separator
 
@@ -152,9 +169,7 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`bool<class_bool>` **html/export_icon**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, the project icon will be used as the favicon for this application's web page.
 
 .. rst-class:: classref-item-separator
 
@@ -166,9 +181,7 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`bool<class_bool>` **html/focus_canvas_on_start**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, the canvas will be focused as soon as the application is loaded, if the browser window is already in focus.
 
 .. rst-class:: classref-item-separator
 
@@ -180,9 +193,9 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`String<class_String>` **html/head_include**
 
-.. container:: contribute
+Additional HTML tags to include inside the ``<head>``, such as ``<meta>`` tags.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** You do not need to add a ``<title>`` tag, as it is automatically included based on the project's name.
 
 .. rst-class:: classref-item-separator
 
@@ -194,9 +207,7 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`Color<class_Color>` **progressive_web_app/background_color**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The background color used behind the web application.
 
 .. rst-class:: classref-item-separator
 
@@ -208,9 +219,15 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`int<class_int>` **progressive_web_app/display**
 
-.. container:: contribute
+The `display mode <https://developer.mozilla.org/en-US/docs/Web/Manifest/display/>`__ to use for this progressive web application. Different browsers and platforms may not behave the same.
+
+- **Fullscreen:** Displays the app in fullscreen and hides all of the browser's UI elements.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+- **Standalone:** Displays the app in a separate window and hides all of the browser's UI elements.
+
+- **Minimal UI:** Displays the app in a separate window and only shows the browser's UI elements for navigation.
+
+- **Browser:** Displays the app as a normal web page.
 
 .. rst-class:: classref-item-separator
 
@@ -222,9 +239,21 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`bool<class_bool>` **progressive_web_app/enabled**
 
-.. container:: contribute
+If ``true``, turns this web build into a `progressive web application <https://en.wikipedia.org/wiki/Progressive_web_app>`__ (PWA).
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorExportPlatformWeb_property_progressive_web_app/ensure_cross_origin_isolation_headers:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **progressive_web_app/ensure_cross_origin_isolation_headers**
+
+When enabled, the progressive web app will make sure that each request has cross-origin isolation headers (COEP/COOP).
+
+This can simplify the setup to serve the exported game.
 
 .. rst-class:: classref-item-separator
 
@@ -236,9 +265,9 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`String<class_String>` **progressive_web_app/icon_144x144**
 
-.. container:: contribute
+File path to the smallest icon for this web application. If not defined, defaults to the project icon.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** If the icon is not 144x144, it will be automatically resized for the final build.
 
 .. rst-class:: classref-item-separator
 
@@ -250,9 +279,9 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`String<class_String>` **progressive_web_app/icon_180x180**
 
-.. container:: contribute
+File path to the small icon for this web application. If not defined, defaults to the project icon.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** If the icon is not 180x180, it will be automatically resized for the final build.
 
 .. rst-class:: classref-item-separator
 
@@ -264,9 +293,9 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`String<class_String>` **progressive_web_app/icon_512x512**
 
-.. container:: contribute
+File path to the smallest icon for this web application. If not defined, defaults to the project icon.
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+\ **Note:** If the icon is not 512x512, it will be automatically resized for the final build.
 
 .. rst-class:: classref-item-separator
 
@@ -278,9 +307,7 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`String<class_String>` **progressive_web_app/offline_page**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+The page to display, should the server hosting the page not be available. This page is saved in the client's machine.
 
 .. rst-class:: classref-item-separator
 
@@ -292,9 +319,13 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`int<class_int>` **progressive_web_app/orientation**
 
-.. container:: contribute
+The orientation to use when the web application is run through a mobile device.
+
+- **Any:** No orientation is forced.
+
+- **Landscape:** Forces a horizontal layout (wider than it is taller).
 
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+- **Portrait:** Forces a vertical layout (taller than it is wider).
 
 .. rst-class:: classref-item-separator
 
@@ -306,9 +337,7 @@ The canvas resize policy determines how the canvas should be resized by Godot.
 
 :ref:`bool<class_bool>` **variant/extensions_support**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true`` enables :ref:`GDExtension<class_GDExtension>` support for this web build.
 
 .. rst-class:: classref-item-separator
 
@@ -334,9 +363,7 @@ If disabled, the exported game will not support threads. As a result, it is more
 
 :ref:`bool<class_bool>` **vram_texture_compression/for_desktop**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true``, allows textures to be optimized for desktop through the S3TC algorithm.
 
 .. rst-class:: classref-item-separator
 
@@ -348,9 +375,7 @@ If disabled, the exported game will not support threads. As a result, it is more
 
 :ref:`bool<class_bool>` **vram_texture_compression/for_mobile**
 
-.. container:: contribute
-
-	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+If ``true`` allows textures to be optimized for mobile through the ETC2 algorithm.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 105 - 105
classes/class_editorexportplatformwindows.rst

@@ -29,81 +29,81 @@ Properties
 .. table::
    :widths: auto
 
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/company_name<class_EditorExportPlatformWindows_property_application/company_name>`                 |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/console_wrapper_icon<class_EditorExportPlatformWindows_property_application/console_wrapper_icon>` |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/copyright<class_EditorExportPlatformWindows_property_application/copyright>`                       |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`application/export_angle<class_EditorExportPlatformWindows_property_application/export_angle>`                 |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/file_description<class_EditorExportPlatformWindows_property_application/file_description>`         |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/file_version<class_EditorExportPlatformWindows_property_application/file_version>`                 |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/icon<class_EditorExportPlatformWindows_property_application/icon>`                                 |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`application/icon_interpolation<class_EditorExportPlatformWindows_property_application/icon_interpolation>`     |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`application/modify_resources<class_EditorExportPlatformWindows_property_application/modify_resources>`         |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/product_name<class_EditorExportPlatformWindows_property_application/product_name>`                 |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/product_version<class_EditorExportPlatformWindows_property_application/product_version>`           |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`application/trademarks<class_EditorExportPlatformWindows_property_application/trademarks>`                     |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`binary_format/architecture<class_EditorExportPlatformWindows_property_binary_format/architecture>`             |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`binary_format/embed_pck<class_EditorExportPlatformWindows_property_binary_format/embed_pck>`                   |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`codesign/custom_options<class_EditorExportPlatformWindows_property_codesign/custom_options>`                   |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`codesign/description<class_EditorExportPlatformWindows_property_codesign/description>`                         |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`codesign/digest_algorithm<class_EditorExportPlatformWindows_property_codesign/digest_algorithm>`               |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`codesign/enable<class_EditorExportPlatformWindows_property_codesign/enable>`                                   |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`codesign/identity<class_EditorExportPlatformWindows_property_codesign/identity>`                               |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`codesign/identity_type<class_EditorExportPlatformWindows_property_codesign/identity_type>`                     |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`codesign/password<class_EditorExportPlatformWindows_property_codesign/password>`                               |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`codesign/timestamp<class_EditorExportPlatformWindows_property_codesign/timestamp>`                             |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`codesign/timestamp_server_url<class_EditorExportPlatformWindows_property_codesign/timestamp_server_url>`       |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`custom_template/debug<class_EditorExportPlatformWindows_property_custom_template/debug>`                       |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`custom_template/release<class_EditorExportPlatformWindows_property_custom_template/release>`                   |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                             | :ref:`debug/export_console_wrapper<class_EditorExportPlatformWindows_property_debug/export_console_wrapper>`         |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/cleanup_script<class_EditorExportPlatformWindows_property_ssh_remote_deploy/cleanup_script>` |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`ssh_remote_deploy/enabled<class_EditorExportPlatformWindows_property_ssh_remote_deploy/enabled>`               |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/extra_args_scp<class_EditorExportPlatformWindows_property_ssh_remote_deploy/extra_args_scp>` |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/extra_args_ssh<class_EditorExportPlatformWindows_property_ssh_remote_deploy/extra_args_ssh>` |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/host<class_EditorExportPlatformWindows_property_ssh_remote_deploy/host>`                     |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/port<class_EditorExportPlatformWindows_property_ssh_remote_deploy/port>`                     |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/run_script<class_EditorExportPlatformWindows_property_ssh_remote_deploy/run_script>`         |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`texture_format/bptc<class_EditorExportPlatformWindows_property_texture_format/bptc>`                           |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`texture_format/etc<class_EditorExportPlatformWindows_property_texture_format/etc>`                             |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`texture_format/etc2<class_EditorExportPlatformWindows_property_texture_format/etc2>`                           |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                           | :ref:`texture_format/s3tc<class_EditorExportPlatformWindows_property_texture_format/s3tc>`                           |
-   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/company_name<class_EditorExportPlatformWindows_property_application/company_name>`                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/console_wrapper_icon<class_EditorExportPlatformWindows_property_application/console_wrapper_icon>`               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/copyright<class_EditorExportPlatformWindows_property_application/copyright>`                                     |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`application/d3d12_agility_sdk_multiarch<class_EditorExportPlatformWindows_property_application/d3d12_agility_sdk_multiarch>` |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`application/export_angle<class_EditorExportPlatformWindows_property_application/export_angle>`                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`application/export_d3d12<class_EditorExportPlatformWindows_property_application/export_d3d12>`                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/file_description<class_EditorExportPlatformWindows_property_application/file_description>`                       |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/file_version<class_EditorExportPlatformWindows_property_application/file_version>`                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/icon<class_EditorExportPlatformWindows_property_application/icon>`                                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`application/icon_interpolation<class_EditorExportPlatformWindows_property_application/icon_interpolation>`                   |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`application/modify_resources<class_EditorExportPlatformWindows_property_application/modify_resources>`                       |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/product_name<class_EditorExportPlatformWindows_property_application/product_name>`                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/product_version<class_EditorExportPlatformWindows_property_application/product_version>`                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`application/trademarks<class_EditorExportPlatformWindows_property_application/trademarks>`                                   |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`binary_format/architecture<class_EditorExportPlatformWindows_property_binary_format/architecture>`                           |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`binary_format/embed_pck<class_EditorExportPlatformWindows_property_binary_format/embed_pck>`                                 |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`codesign/custom_options<class_EditorExportPlatformWindows_property_codesign/custom_options>`                                 |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`codesign/description<class_EditorExportPlatformWindows_property_codesign/description>`                                       |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`codesign/digest_algorithm<class_EditorExportPlatformWindows_property_codesign/digest_algorithm>`                             |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`codesign/enable<class_EditorExportPlatformWindows_property_codesign/enable>`                                                 |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`codesign/identity<class_EditorExportPlatformWindows_property_codesign/identity>`                                             |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`codesign/identity_type<class_EditorExportPlatformWindows_property_codesign/identity_type>`                                   |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`codesign/password<class_EditorExportPlatformWindows_property_codesign/password>`                                             |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`codesign/timestamp<class_EditorExportPlatformWindows_property_codesign/timestamp>`                                           |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`codesign/timestamp_server_url<class_EditorExportPlatformWindows_property_codesign/timestamp_server_url>`                     |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`custom_template/debug<class_EditorExportPlatformWindows_property_custom_template/debug>`                                     |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`custom_template/release<class_EditorExportPlatformWindows_property_custom_template/release>`                                 |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`debug/export_console_wrapper<class_EditorExportPlatformWindows_property_debug/export_console_wrapper>`                       |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/cleanup_script<class_EditorExportPlatformWindows_property_ssh_remote_deploy/cleanup_script>`               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`ssh_remote_deploy/enabled<class_EditorExportPlatformWindows_property_ssh_remote_deploy/enabled>`                             |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/extra_args_scp<class_EditorExportPlatformWindows_property_ssh_remote_deploy/extra_args_scp>`               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/extra_args_ssh<class_EditorExportPlatformWindows_property_ssh_remote_deploy/extra_args_ssh>`               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/host<class_EditorExportPlatformWindows_property_ssh_remote_deploy/host>`                                   |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/port<class_EditorExportPlatformWindows_property_ssh_remote_deploy/port>`                                   |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`String<class_String>`                       | :ref:`ssh_remote_deploy/run_script<class_EditorExportPlatformWindows_property_ssh_remote_deploy/run_script>`                       |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`texture_format/etc2_astc<class_EditorExportPlatformWindows_property_texture_format/etc2_astc>`                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`texture_format/s3tc_bptc<class_EditorExportPlatformWindows_property_texture_format/s3tc_bptc>`                               |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -150,6 +150,18 @@ Copyright notice for the bundle visible to the user. Optional. See `StringFileIn
 
 ----
 
+.. _class_EditorExportPlatformWindows_property_application/d3d12_agility_sdk_multiarch:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **application/d3d12_agility_sdk_multiarch**
+
+If ``true``, and :ref:`application/export_d3d12<class_EditorExportPlatformWindows_property_application/export_d3d12>` is set, the Agility SDK DLLs will be stored in arch-specific subdirectories.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorExportPlatformWindows_property_application/export_angle:
 
 .. rst-class:: classref-property
@@ -162,6 +174,18 @@ If set to ``1``, ANGLE libraries are exported with the exported application. If
 
 ----
 
+.. _class_EditorExportPlatformWindows_property_application/export_d3d12:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **application/export_d3d12**
+
+If set to ``1``, Direct3D 12 runtime (DXIL, Agility SDK, PIX) libraries are exported with the exported application. If set to ``0``, Direct3D 12 libraries are exported only if :ref:`ProjectSettings.rendering/rendering_device/driver<class_ProjectSettings_property_rendering/rendering_device/driver>` is set to ``"d3d12"``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorExportPlatformWindows_property_application/file_description:
 
 .. rst-class:: classref-property
@@ -540,49 +564,25 @@ The following variables can be used in the script:
 
 ----
 
-.. _class_EditorExportPlatformWindows_property_texture_format/bptc:
-
-.. rst-class:: classref-property
-
-:ref:`bool<class_bool>` **texture_format/bptc**
-
-If ``true``, project textures are exported in the BPTC format.
-
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_EditorExportPlatformWindows_property_texture_format/etc:
-
-.. rst-class:: classref-property
-
-:ref:`bool<class_bool>` **texture_format/etc**
-
-If ``true``, project textures are exported in the ETC format.
-
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_EditorExportPlatformWindows_property_texture_format/etc2:
+.. _class_EditorExportPlatformWindows_property_texture_format/etc2_astc:
 
 .. rst-class:: classref-property
 
-:ref:`bool<class_bool>` **texture_format/etc2**
+:ref:`bool<class_bool>` **texture_format/etc2_astc**
 
-If ``true``, project textures are exported in the ETC2 format.
+If ``true``, project textures are exported in the ETC2/ASTC format.
 
 .. rst-class:: classref-item-separator
 
 ----
 
-.. _class_EditorExportPlatformWindows_property_texture_format/s3tc:
+.. _class_EditorExportPlatformWindows_property_texture_format/s3tc_bptc:
 
 .. rst-class:: classref-property
 
-:ref:`bool<class_bool>` **texture_format/s3tc**
+:ref:`bool<class_bool>` **texture_format/s3tc_bptc**
 
-If ``true``, project textures are exported in the S3TC format.
+If ``true``, project textures are exported in the S3TC/BPTC format.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 32 - 0
classes/class_editorexportplugin.rst

@@ -77,6 +77,8 @@ Methods
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary[]<class_Dictionary>`             | :ref:`_get_export_options<class_EditorExportPlugin_private_method__get_export_options>` **(** :ref:`EditorExportPlatform<class_EditorExportPlatform>` platform **)** |virtual| |const|                                                                                              |
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`Dictionary<class_Dictionary>`               | :ref:`_get_export_options_overrides<class_EditorExportPlugin_private_method__get_export_options_overrides>` **(** :ref:`EditorExportPlatform<class_EditorExportPlatform>` platform **)** |virtual| |const|                                                                          |
+   +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`String<class_String>`                       | :ref:`_get_name<class_EditorExportPlugin_private_method__get_name>` **(** **)** |virtual| |const|                                                                                                                                                                                   |
    +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`_should_update_export_options<class_EditorExportPlugin_private_method__should_update_export_options>` **(** :ref:`EditorExportPlatform<class_EditorExportPlatform>` platform **)** |virtual| |const|                                                                          |
@@ -387,6 +389,36 @@ Each element in the return value is a :ref:`Dictionary<class_Dictionary>` with t
 
 ----
 
+.. _class_EditorExportPlugin_private_method__get_export_options_overrides:
+
+.. rst-class:: classref-method
+
+:ref:`Dictionary<class_Dictionary>` **_get_export_options_overrides** **(** :ref:`EditorExportPlatform<class_EditorExportPlatform>` platform **)** |virtual| |const|
+
+Return a :ref:`Dictionary<class_Dictionary>` of override values for export options, that will be used instead of user-provided values. Overridden options will be hidden from the user interface.
+
+::
+
+    class MyExportPlugin extends EditorExportPlugin:
+        func _get_name() -> String:
+            return "MyExportPlugin"
+    
+        func _supports_platform(platform) -> bool:
+            if platform is EditorExportPlatformPC:
+                # Run on all desktop platforms including Windows, MacOS and Linux.
+                return true
+            return false
+    
+        func _get_export_options_overrides(platform) -> Dictionary:
+            # Override "Embed PCK" to always be enabled.
+            return {
+                "binary_format/embed_pck": true,
+            }
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorExportPlugin_private_method__get_name:
 
 .. rst-class:: classref-method

+ 4 - 4
classes/class_editorplugin.rst

@@ -203,9 +203,9 @@ Emitted when user changes the workspace (**2D**, **3D**, **Script**, **AssetLib*
 
 **project_settings_changed** **(** **)**
 
-Emitted when any project setting has changed.
+**Deprecated:** Use :ref:`ProjectSettings.settings_changed<class_ProjectSettings_signal_settings_changed>` instead.
 
-\ *Deprecated.* Use :ref:`ProjectSettings.settings_changed<class_ProjectSettings_signal_settings_changed>` instead.
+Emitted when any project setting has changed.
 
 .. rst-class:: classref-item-separator
 
@@ -1339,9 +1339,9 @@ The callback should have 4 arguments: :ref:`Object<class_Object>` ``undo_redo``,
 
 :ref:`EditorInterface<class_EditorInterface>` **get_editor_interface** **(** **)**
 
-Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance.
+**Deprecated:** :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name.
 
-\ *Deprecated.* :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name.
+Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_editorscript.rst

@@ -114,9 +114,9 @@ Adds ``node`` as a child of the root node in the editor context.
 
 :ref:`EditorInterface<class_EditorInterface>` **get_editor_interface** **(** **)** |const|
 
-Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance.
+**Deprecated:** :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name.
 
-\ *Deprecated.* :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name.
+Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance.
 
 .. rst-class:: classref-item-separator
 

+ 33 - 1
classes/class_editorsettings.rst

@@ -83,6 +83,8 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`docks/scene_tree/auto_expand_to_selected<class_EditorSettings_property_docks/scene_tree/auto_expand_to_selected>`                                                             |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`       | :ref:`docks/scene_tree/center_node_on_reparent<class_EditorSettings_property_docks/scene_tree/center_node_on_reparent>`                                                             |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`docks/scene_tree/start_create_dialog_fully_expanded<class_EditorSettings_property_docks/scene_tree/start_create_dialog_fully_expanded>`                                       |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`     | :ref:`editors/2d/bone_color1<class_EditorSettings_property_editors/2d/bone_color1>`                                                                                                 |
@@ -309,6 +311,8 @@ Properties
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`         | :ref:`interface/editor/show_internal_errors_in_toast_notifications<class_EditorSettings_property_interface/editor/show_internal_errors_in_toast_notifications>`                     |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`         | :ref:`interface/editor/show_update_spinner<class_EditorSettings_property_interface/editor/show_update_spinner>`                                                                     |
+   +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`       | :ref:`interface/editor/single_window_mode<class_EditorSettings_property_interface/editor/single_window_mode>`                                                                       |
    +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`         | :ref:`interface/editor/ui_layout_direction<class_EditorSettings_property_interface/editor/ui_layout_direction>`                                                                     |
@@ -823,6 +827,18 @@ If ``true``, the scene tree dock will automatically unfold nodes when a node tha
 
 ----
 
+.. _class_EditorSettings_property_docks/scene_tree/center_node_on_reparent:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **docks/scene_tree/center_node_on_reparent**
+
+If ``true``, new node created when reparenting node(s) will be positioned at the average position of the selected node(s).
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_EditorSettings_property_docks/scene_tree/start_create_dialog_fully_expanded:
 
 .. rst-class:: classref-property
@@ -2285,7 +2301,23 @@ If ``true``, the editor's Script tab will have a separate distraction mode setti
 
 If enabled, displays internal engine errors in toast notifications (toggleable by clicking the "bell" icon at the bottom of the editor). No matter the value of this setting, non-internal engine errors will always be visible in toast notifications.
 
-The default **Auto** value will only enable this if the editor was compiled with the ``dev=yes`` option (the default is ``dev=no``).
+The default **Auto** value will only enable this if the editor was compiled with the ``dev_build=yes`` SCons option (the default is ``dev_build=no``).
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_EditorSettings_property_interface/editor/show_update_spinner:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **interface/editor/show_update_spinner**
+
+If enabled, displays an icon in the top-right corner of the editor that spins when the editor redraws a frame. This can be used to diagnose situations where the engine is constantly redrawing, which should be avoided as this increases CPU and GPU utilization for no good reason. To further troubleshoot these situations, start the editor with the ``--debug-canvas-item-redraw`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`.
+
+Consider enabling this if you are developing editor plugins to ensure they only make the editor redraw when required.
+
+The default **Auto** value will only enable this if the editor was compiled with the ``dev_build=yes`` SCons option (the default is ``dev_build=no``).
 
 .. rst-class:: classref-item-separator
 

+ 5 - 53
classes/class_gdextension.rst

@@ -40,17 +40,11 @@ Methods
 .. table::
    :widths: auto
 
-   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                             | :ref:`close_library<class_GDExtension_method_close_library>` **(** **)**                                                                                  |
-   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`InitializationLevel<enum_GDExtension_InitializationLevel>` | :ref:`get_minimum_library_initialization_level<class_GDExtension_method_get_minimum_library_initialization_level>` **(** **)** |const|                    |
-   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | void                                                             | :ref:`initialize_library<class_GDExtension_method_initialize_library>` **(** :ref:`InitializationLevel<enum_GDExtension_InitializationLevel>` level **)** |
-   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`bool<class_bool>`                                          | :ref:`is_library_open<class_GDExtension_method_is_library_open>` **(** **)** |const|                                                                      |
-   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`Error<enum_@GlobalScope_Error>`                            | :ref:`open_library<class_GDExtension_method_open_library>` **(** :ref:`String<class_String>` path, :ref:`String<class_String>` entry_symbol **)**         |
-   +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
+   +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`InitializationLevel<enum_GDExtension_InitializationLevel>` | :ref:`get_minimum_library_initialization_level<class_GDExtension_method_get_minimum_library_initialization_level>` **(** **)** |const| |
+   +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                                          | :ref:`is_library_open<class_GDExtension_method_is_library_open>` **(** **)** |const|                                                   |
+   +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -108,20 +102,6 @@ The library is initialized at the same time as the engine's editor classes. Only
 Method Descriptions
 -------------------
 
-.. _class_GDExtension_method_close_library:
-
-.. rst-class:: classref-method
-
-void **close_library** **(** **)**
-
-Closes the current library.
-
-\ **Note:** You normally should not call this method directly. This is handled automatically by :ref:`GDExtensionManager.unload_extension<class_GDExtensionManager_method_unload_extension>`.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_GDExtension_method_get_minimum_library_initialization_level:
 
 .. rst-class:: classref-method
@@ -134,20 +114,6 @@ Returns the lowest level required for this extension to be properly initialized
 
 ----
 
-.. _class_GDExtension_method_initialize_library:
-
-.. rst-class:: classref-method
-
-void **initialize_library** **(** :ref:`InitializationLevel<enum_GDExtension_InitializationLevel>` level **)**
-
-Initializes the library bound to this GDextension at the given initialization ``level``.
-
-\ **Note:** You normally should not call this method directly. This is handled automatically by :ref:`GDExtensionManager.load_extension<class_GDExtensionManager_method_load_extension>`.
-
-.. rst-class:: classref-item-separator
-
-----
-
 .. _class_GDExtension_method_is_library_open:
 
 .. rst-class:: classref-method
@@ -156,20 +122,6 @@ Initializes the library bound to this GDextension at the given initialization ``
 
 Returns ``true`` if this extension's library has been opened.
 
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_GDExtension_method_open_library:
-
-.. rst-class:: classref-method
-
-:ref:`Error<enum_@GlobalScope_Error>` **open_library** **(** :ref:`String<class_String>` path, :ref:`String<class_String>` entry_symbol **)**
-
-Opens the library at the specified ``path``.
-
-\ **Note:** You normally should not call this method directly. This is handled automatically by :ref:`GDExtensionManager.load_extension<class_GDExtensionManager_method_load_extension>`.
-
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 2 - 0
classes/class_gltfphysicsbody.rst

@@ -181,6 +181,8 @@ The inertia orientation of the physics body. This defines the rotation of the in
 - void **set_inertia_tensor** **(** :ref:`Basis<class_Basis>` value **)**
 - :ref:`Basis<class_Basis>` **get_inertia_tensor** **(** **)**
 
+**Deprecated:** This property may be changed or removed in future versions.
+
 The inertia tensor of the physics body, in kilogram meter squared (kg⋅m²). This is only used when the body type is "rigid" or "vehicle".
 
 When converted to a Godot :ref:`RigidBody3D<class_RigidBody3D>` node, if this value is zero, then the inertia will be calculated automatically.

+ 2 - 0
classes/class_graphedit.rst

@@ -10,6 +10,8 @@
 GraphEdit
 =========
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 An editor for graph-like structures, using :ref:`GraphNode<class_GraphNode>`\ s.

+ 2 - 0
classes/class_graphelement.rst

@@ -10,6 +10,8 @@
 GraphElement
 ============
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Inherited By:** :ref:`GraphNode<class_GraphNode>`

+ 2 - 0
classes/class_graphnode.rst

@@ -10,6 +10,8 @@
 GraphNode
 =========
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`GraphElement<class_GraphElement>` **<** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 A container with connection ports, representing a node in a :ref:`GraphEdit<class_GraphEdit>`.

+ 3 - 1
classes/class_gridmap.rst

@@ -624,7 +624,9 @@ Returns the position of a grid cell in the GridMap's local coordinate space. To
 
 void **resource_changed** **(** :ref:`Resource<class_Resource>` resource **)**
 
-*Obsoleted.* Use :ref:`Resource.changed<class_Resource_signal_changed>` instead.
+**Deprecated:** Use :ref:`Resource.changed<class_Resource_signal_changed>` instead.
+
+This method does nothing.
 
 .. rst-class:: classref-item-separator
 

+ 6 - 2
classes/class_httpclient.rst

@@ -451,7 +451,9 @@ HTTP status code ``304 Not Modified``. A conditional GET or HEAD request has bee
 
 :ref:`ResponseCode<enum_HTTPClient_ResponseCode>` **RESPONSE_USE_PROXY** = ``305``
 
-*Deprecated.* HTTP status code ``305 Use Proxy``.
+**Deprecated:** This constant may be changed or removed in future versions.
+
+HTTP status code ``305 Use Proxy``.
 
 .. _class_HTTPClient_constant_RESPONSE_SWITCH_PROXY:
 
@@ -459,7 +461,9 @@ HTTP status code ``304 Not Modified``. A conditional GET or HEAD request has bee
 
 :ref:`ResponseCode<enum_HTTPClient_ResponseCode>` **RESPONSE_SWITCH_PROXY** = ``306``
 
-*Deprecated.* HTTP status code ``306 Switch Proxy``.
+**Deprecated:** This constant may be changed or removed in future versions.
+
+HTTP status code ``306 Switch Proxy``.
 
 .. _class_HTTPClient_constant_RESPONSE_TEMPORARY_REDIRECT:
 

+ 4 - 2
classes/class_inputeventjoypadbutton.rst

@@ -98,9 +98,11 @@ If ``true``, the button's state is pressed. If ``false``, the button's state is
 - void **set_pressure** **(** :ref:`float<class_float>` value **)**
 - :ref:`float<class_float>` **get_pressure** **(** **)**
 
-Represents the pressure the user puts on a pressure-sensitive button.
+**Deprecated:** This property is never set by the engine and is always ``0``.
 
-\ *Deprecated.* This property is never set by the engine and is always ``0``.
+.. container:: contribute
+
+	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 5 - 0
classes/class_inputeventmousebutton.rst

@@ -1,5 +1,8 @@
 :github_url: hide
 
+.. meta::
+	:keywords: click, press
+
 .. DO NOT EDIT THIS FILE!!!
 .. Generated automatically from Godot engine sources.
 .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
@@ -21,6 +24,8 @@ Description
 
 Stores information about mouse click events. See :ref:`Node._input<class_Node_private_method__input>`.
 
+\ **Note:** On Wear OS devices, rotary input is mapped to :ref:`@GlobalScope.MOUSE_BUTTON_WHEEL_UP<class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_UP>` and :ref:`@GlobalScope.MOUSE_BUTTON_WHEEL_DOWN<class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_DOWN>`. This can be changed to :ref:`@GlobalScope.MOUSE_BUTTON_WHEEL_LEFT<class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_LEFT>` and :ref:`@GlobalScope.MOUSE_BUTTON_WHEEL_RIGHT<class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_RIGHT>` with the :ref:`ProjectSettings.input_devices/pointing/android/rotary_input_scroll_axis<class_ProjectSettings_property_input_devices/pointing/android/rotary_input_scroll_axis>` setting.
+
 .. rst-class:: classref-introduction-group
 
 Tutorials

+ 2 - 2
classes/class_lightmapgidata.rst

@@ -77,9 +77,9 @@ Property Descriptions
 - void **set_light_texture** **(** :ref:`TextureLayered<class_TextureLayered>` value **)**
 - :ref:`TextureLayered<class_TextureLayered>` **get_light_texture** **(** **)**
 
-The lightmap atlas texture generated by the lightmapper.
+**Deprecated:** The lightmap atlas can now have multiple textures. See :ref:`lightmap_textures<class_LightmapGIData_property_lightmap_textures>`.
 
-\ *Deprecated.* The lightmap atlas can now have multiple textures. See :ref:`lightmap_textures<class_LightmapGIData_property_lightmap_textures>`.
+The lightmap atlas texture generated by the lightmapper.
 
 .. rst-class:: classref-item-separator
 

+ 6 - 4
classes/class_mainloop.rst

@@ -180,7 +180,7 @@ Specific to the macOS platform.
 
 Notification received from the OS when the application is resumed.
 
-Specific to the Android platform.
+Specific to the Android and iOS platforms.
 
 .. _class_MainLoop_constant_NOTIFICATION_APPLICATION_PAUSED:
 
@@ -190,7 +190,9 @@ Specific to the Android platform.
 
 Notification received from the OS when the application is paused.
 
-Specific to the Android platform.
+Specific to the Android and iOS platforms.
+
+\ **Note:** On iOS, you only have approximately 5 seconds to finish a task started by this signal. If you go over this allotment, iOS will kill the app instead of pausing it.
 
 .. _class_MainLoop_constant_NOTIFICATION_APPLICATION_FOCUS_IN:
 
@@ -200,7 +202,7 @@ Specific to the Android platform.
 
 Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a thirdparty application to any open window of the Godot instance.
 
-Implemented on desktop platforms.
+Implemented on desktop and mobile platforms.
 
 .. _class_MainLoop_constant_NOTIFICATION_APPLICATION_FOCUS_OUT:
 
@@ -210,7 +212,7 @@ Implemented on desktop platforms.
 
 Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a thirdparty application.
 
-Implemented on desktop platforms.
+Implemented on desktop and mobile platforms.
 
 .. _class_MainLoop_constant_NOTIFICATION_TEXT_SERVER_CHANGED:
 

+ 20 - 1
classes/class_missingnode.rst

@@ -34,6 +34,8 @@ Properties
    +-----------------------------+------------------------------------------------------------------------------+
    | :ref:`String<class_String>` | :ref:`original_class<class_MissingNode_property_original_class>`             |
    +-----------------------------+------------------------------------------------------------------------------+
+   | :ref:`String<class_String>` | :ref:`original_scene<class_MissingNode_property_original_scene>`             |
+   +-----------------------------+------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`     | :ref:`recording_properties<class_MissingNode_property_recording_properties>` |
    +-----------------------------+------------------------------------------------------------------------------+
 
@@ -63,6 +65,23 @@ The name of the class this node was supposed to be (see :ref:`Object.get_class<c
 
 ----
 
+.. _class_MissingNode_property_original_scene:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **original_scene**
+
+.. rst-class:: classref-property-setget
+
+- void **set_original_scene** **(** :ref:`String<class_String>` value **)**
+- :ref:`String<class_String>` **get_original_scene** **(** **)**
+
+Returns the path of the scene this node was instance of originally.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_MissingNode_property_recording_properties:
 
 .. rst-class:: classref-property
@@ -74,7 +93,7 @@ The name of the class this node was supposed to be (see :ref:`Object.get_class<c
 - void **set_recording_properties** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_recording_properties** **(** **)**
 
-If set to ``true``, allows new properties to be added on top of the existing ones with :ref:`Object.set<class_Object_method_set>`.
+If ``true``, allows new properties to be set along with existing ones. If ``false``, only existing properties' values can be set, and new properties cannot be added.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 59 - 26
classes/class_multimesh.rst

@@ -50,29 +50,31 @@ Properties
 .. table::
    :widths: auto
 
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`PackedFloat32Array<class_PackedFloat32Array>`    | :ref:`buffer<class_MultiMesh_property_buffer>`                                 | ``PackedFloat32Array()`` |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`PackedColorArray<class_PackedColorArray>`        | :ref:`color_array<class_MultiMesh_property_color_array>`                       |                          |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`PackedColorArray<class_PackedColorArray>`        | :ref:`custom_data_array<class_MultiMesh_property_custom_data_array>`           |                          |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`int<class_int>`                                  | :ref:`instance_count<class_MultiMesh_property_instance_count>`                 | ``0``                    |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`Mesh<class_Mesh>`                                | :ref:`mesh<class_MultiMesh_property_mesh>`                                     |                          |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`PackedVector2Array<class_PackedVector2Array>`    | :ref:`transform_2d_array<class_MultiMesh_property_transform_2d_array>`         |                          |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`PackedVector3Array<class_PackedVector3Array>`    | :ref:`transform_array<class_MultiMesh_property_transform_array>`               |                          |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`TransformFormat<enum_MultiMesh_TransformFormat>` | :ref:`transform_format<class_MultiMesh_property_transform_format>`             | ``0``                    |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`bool<class_bool>`                                | :ref:`use_colors<class_MultiMesh_property_use_colors>`                         | ``false``                |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`bool<class_bool>`                                | :ref:`use_custom_data<class_MultiMesh_property_use_custom_data>`               | ``false``                |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
-   | :ref:`int<class_int>`                                  | :ref:`visible_instance_count<class_MultiMesh_property_visible_instance_count>` | ``-1``                   |
-   +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`PackedFloat32Array<class_PackedFloat32Array>`    | :ref:`buffer<class_MultiMesh_property_buffer>`                                 | ``PackedFloat32Array()``   |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`PackedColorArray<class_PackedColorArray>`        | :ref:`color_array<class_MultiMesh_property_color_array>`                       |                            |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`AABB<class_AABB>`                                | :ref:`custom_aabb<class_MultiMesh_property_custom_aabb>`                       | ``AABB(0, 0, 0, 0, 0, 0)`` |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`PackedColorArray<class_PackedColorArray>`        | :ref:`custom_data_array<class_MultiMesh_property_custom_data_array>`           |                            |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`int<class_int>`                                  | :ref:`instance_count<class_MultiMesh_property_instance_count>`                 | ``0``                      |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`Mesh<class_Mesh>`                                | :ref:`mesh<class_MultiMesh_property_mesh>`                                     |                            |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`PackedVector2Array<class_PackedVector2Array>`    | :ref:`transform_2d_array<class_MultiMesh_property_transform_2d_array>`         |                            |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`PackedVector3Array<class_PackedVector3Array>`    | :ref:`transform_array<class_MultiMesh_property_transform_array>`               |                            |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`TransformFormat<enum_MultiMesh_TransformFormat>` | :ref:`transform_format<class_MultiMesh_property_transform_format>`             | ``0``                      |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`bool<class_bool>`                                | :ref:`use_colors<class_MultiMesh_property_use_colors>`                         | ``false``                  |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`bool<class_bool>`                                | :ref:`use_custom_data<class_MultiMesh_property_use_custom_data>`               | ``false``                  |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
+   | :ref:`int<class_int>`                                  | :ref:`visible_instance_count<class_MultiMesh_property_visible_instance_count>` | ``-1``                     |
+   +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+
 
 .. rst-class:: classref-reftable-group
 
@@ -167,7 +169,28 @@ Property Descriptions
 
 :ref:`PackedColorArray<class_PackedColorArray>` **color_array**
 
-See :ref:`set_instance_color<class_MultiMesh_method_set_instance_color>`.
+**Deprecated:** Use :ref:`set_instance_color<class_MultiMesh_method_set_instance_color>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_MultiMesh_property_custom_aabb:
+
+.. rst-class:: classref-property
+
+:ref:`AABB<class_AABB>` **custom_aabb** = ``AABB(0, 0, 0, 0, 0, 0)``
+
+.. rst-class:: classref-property-setget
+
+- void **set_custom_aabb** **(** :ref:`AABB<class_AABB>` value **)**
+- :ref:`AABB<class_AABB>` **get_custom_aabb** **(** **)**
+
+Custom AABB for this MultiMesh resource. Setting this manually prevents costly runtime AABB recalculations.
 
 .. rst-class:: classref-item-separator
 
@@ -179,6 +202,8 @@ See :ref:`set_instance_color<class_MultiMesh_method_set_instance_color>`.
 
 :ref:`PackedColorArray<class_PackedColorArray>` **custom_data_array**
 
+**Deprecated:** Use :ref:`set_instance_custom_data<class_MultiMesh_method_set_instance_custom_data>` instead.
+
 See :ref:`set_instance_custom_data<class_MultiMesh_method_set_instance_custom_data>`.
 
 .. rst-class:: classref-item-separator
@@ -229,7 +254,11 @@ The looks of the individual instances can be modified using :ref:`set_instance_c
 
 :ref:`PackedVector2Array<class_PackedVector2Array>` **transform_2d_array**
 
-See :ref:`set_instance_transform_2d<class_MultiMesh_method_set_instance_transform_2d>`.
+**Deprecated:** Use :ref:`set_instance_transform_2d<class_MultiMesh_method_set_instance_transform_2d>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -241,7 +270,11 @@ See :ref:`set_instance_transform_2d<class_MultiMesh_method_set_instance_transfor
 
 :ref:`PackedVector3Array<class_PackedVector3Array>` **transform_array**
 
-See :ref:`set_instance_transform<class_MultiMesh_method_set_instance_transform>`.
+**Deprecated:** Use :ref:`set_instance_transform<class_MultiMesh_method_set_instance_transform>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 

+ 2 - 0
classes/class_navigationagent2d.rst

@@ -10,6 +10,8 @@
 NavigationAgent2D
 =================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 A 2D agent used to pathfind to a position while avoiding obstacles.

+ 2 - 0
classes/class_navigationagent3d.rst

@@ -10,6 +10,8 @@
 NavigationAgent3D
 =================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 A 3D agent used to pathfind to a position while avoiding obstacles.

+ 2 - 0
classes/class_navigationlink2d.rst

@@ -10,6 +10,8 @@
 NavigationLink2D
 ================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 A link between two positions on :ref:`NavigationRegion2D<class_NavigationRegion2D>`\ s that agents can be routed through.

+ 2 - 0
classes/class_navigationlink3d.rst

@@ -10,6 +10,8 @@
 NavigationLink3D
 ================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 A link between two positions on :ref:`NavigationRegion3D<class_NavigationRegion3D>`\ s that agents can be routed through.

+ 2 - 0
classes/class_navigationmesh.rst

@@ -10,6 +10,8 @@
 NavigationMesh
 ==============
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A navigation mesh that defines traversable areas and obstacles.

+ 4 - 0
classes/class_navigationmeshgenerator.rst

@@ -10,6 +10,8 @@
 NavigationMeshGenerator
 =======================
 
+**Deprecated:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Object<class_Object>`
 
 Helper class for creating and clearing navigation meshes.
@@ -69,6 +71,8 @@ Method Descriptions
 
 void **bake** **(** :ref:`NavigationMesh<class_NavigationMesh>` navigation_mesh, :ref:`Node<class_Node>` root_node **)**
 
+**Deprecated:** This method may be changed or removed in future versions.
+
 The bake function is deprecated due to core threading changes. To upgrade existing code, first create a :ref:`NavigationMeshSourceGeometryData3D<class_NavigationMeshSourceGeometryData3D>` resource. Use this resource with :ref:`parse_source_geometry_data<class_NavigationMeshGenerator_method_parse_source_geometry_data>` to parse the SceneTree for nodes that should contribute to the navigation mesh baking. The SceneTree parsing needs to happen on the main thread. After the parsing is finished use the resource with :ref:`bake_from_source_geometry_data<class_NavigationMeshGenerator_method_bake_from_source_geometry_data>` to bake a navigation mesh.
 
 .. rst-class:: classref-item-separator

+ 2 - 0
classes/class_navigationmeshsourcegeometrydata2d.rst

@@ -10,6 +10,8 @@
 NavigationMeshSourceGeometryData2D
 ==================================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 Container for parsed source geometry data used in navigation mesh baking.

+ 2 - 0
classes/class_navigationmeshsourcegeometrydata3d.rst

@@ -10,6 +10,8 @@
 NavigationMeshSourceGeometryData3D
 ==================================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 Container for parsed source geometry data used in navigation mesh baking.

+ 2 - 0
classes/class_navigationobstacle2d.rst

@@ -10,6 +10,8 @@
 NavigationObstacle2D
 ====================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 2D Obstacle used in navigation to constrain avoidance controlled agents outside or inside an area.

+ 2 - 0
classes/class_navigationobstacle3d.rst

@@ -10,6 +10,8 @@
 NavigationObstacle3D
 ====================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 3D Obstacle used in navigation to constrain avoidance controlled agents outside or inside an area.

+ 2 - 0
classes/class_navigationpathqueryparameters2d.rst

@@ -10,6 +10,8 @@
 NavigationPathQueryParameters2D
 ===============================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 Provides parameters for 2D navigation path queries.

+ 2 - 0
classes/class_navigationpathqueryparameters3d.rst

@@ -10,6 +10,8 @@
 NavigationPathQueryParameters3D
 ===============================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 Provides parameters for 3D navigation path queries.

+ 2 - 0
classes/class_navigationpathqueryresult2d.rst

@@ -10,6 +10,8 @@
 NavigationPathQueryResult2D
 ===========================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 Represents the result of a 2D pathfinding query.

+ 2 - 0
classes/class_navigationpathqueryresult3d.rst

@@ -10,6 +10,8 @@
 NavigationPathQueryResult3D
 ===========================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 Represents the result of a 3D pathfinding query.

+ 4 - 2
classes/class_navigationpolygon.rst

@@ -10,6 +10,8 @@
 NavigationPolygon
 =================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A 2D navigation mesh that describes a traversable surface for pathfinding.
@@ -578,9 +580,9 @@ Returns a :ref:`PackedVector2Array<class_PackedVector2Array>` containing all the
 
 void **make_polygons_from_outlines** **(** **)**
 
-Creates polygons from the outlines added in the editor or by script.
+**Deprecated:** Use :ref:`NavigationServer2D.parse_source_geometry_data<class_NavigationServer2D_method_parse_source_geometry_data>` and :ref:`NavigationServer2D.bake_from_source_geometry_data<class_NavigationServer2D_method_bake_from_source_geometry_data>` instead.
 
-\ *Deprecated.* This function is deprecated, and might be removed in a future release. Use :ref:`NavigationServer2D.parse_source_geometry_data<class_NavigationServer2D_method_parse_source_geometry_data>` and :ref:`NavigationServer2D.bake_from_source_geometry_data<class_NavigationServer2D_method_bake_from_source_geometry_data>` instead.
+Creates polygons from the outlines added in the editor or by script.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 2
classes/class_navigationregion2d.rst

@@ -10,6 +10,8 @@
 NavigationRegion2D
 ==================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 A traversable 2D region that :ref:`NavigationAgent2D<class_NavigationAgent2D>`\ s can use for pathfinding.
@@ -331,9 +333,9 @@ Returns the current navigation map :ref:`RID<class_RID>` used by this region.
 
 :ref:`RID<class_RID>` **get_region_rid** **(** **)** |const|
 
-Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer2D<class_NavigationServer2D>`.
+**Deprecated:** Use :ref:`get_rid<class_NavigationRegion2D_method_get_rid>` instead.
 
-\ *Deprecated.* Use :ref:`get_rid<class_NavigationRegion2D_method_get_rid>` instead.
+Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer2D<class_NavigationServer2D>`.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 2
classes/class_navigationregion3d.rst

@@ -10,6 +10,8 @@
 NavigationRegion3D
 ==================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 A traversable 3D region that :ref:`NavigationAgent3D<class_NavigationAgent3D>`\ s can use for pathfinding.
@@ -275,9 +277,9 @@ Returns the current navigation map :ref:`RID<class_RID>` used by this region.
 
 :ref:`RID<class_RID>` **get_region_rid** **(** **)** |const|
 
-Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer3D<class_NavigationServer3D>`.
+**Deprecated:** Use :ref:`get_rid<class_NavigationRegion3D_method_get_rid>` instead.
 
-\ *Deprecated.* Use :ref:`get_rid<class_NavigationRegion3D_method_get_rid>` instead.
+Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer3D<class_NavigationServer3D>`.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 0
classes/class_navigationserver2d.rst

@@ -10,6 +10,8 @@
 NavigationServer2D
 ==================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Object<class_Object>`
 
 A server interface for low-level 2D navigation access.

+ 33 - 1
classes/class_navigationserver3d.rst

@@ -10,6 +10,8 @@
 NavigationServer3D
 ==================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Object<class_Object>`
 
 A server interface for low-level 3D navigation access.
@@ -203,6 +205,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID[]<class_RID>`                             | :ref:`map_get_links<class_NavigationServer3D_method_map_get_links>` **(** :ref:`RID<class_RID>` map **)** |const|                                                                                                                                                                                                                                                       |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                           | :ref:`map_get_merge_rasterizer_cell_scale<class_NavigationServer3D_method_map_get_merge_rasterizer_cell_scale>` **(** :ref:`RID<class_RID>` map **)** |const|                                                                                                                                                                                                           |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID[]<class_RID>`                             | :ref:`map_get_obstacles<class_NavigationServer3D_method_map_get_obstacles>` **(** :ref:`RID<class_RID>` map **)** |const|                                                                                                                                                                                                                                               |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`map_get_path<class_NavigationServer3D_method_map_get_path>` **(** :ref:`RID<class_RID>` map, :ref:`Vector3<class_Vector3>` origin, :ref:`Vector3<class_Vector3>` destination, :ref:`bool<class_bool>` optimize, :ref:`int<class_int>` navigation_layers=1 **)** |const|                                                                                           |
@@ -227,6 +231,8 @@ Methods
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`map_set_link_connection_radius<class_NavigationServer3D_method_map_set_link_connection_radius>` **(** :ref:`RID<class_RID>` map, :ref:`float<class_float>` radius **)**                                                                                                                                                                                           |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                | :ref:`map_set_merge_rasterizer_cell_scale<class_NavigationServer3D_method_map_set_merge_rasterizer_cell_scale>` **(** :ref:`RID<class_RID>` map, :ref:`float<class_float>` scale **)**                                                                                                                                                                                  |
+   +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`map_set_up<class_NavigationServer3D_method_map_set_up>` **(** :ref:`RID<class_RID>` map, :ref:`Vector3<class_Vector3>` up **)**                                                                                                                                                                                                                                   |
    +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`map_set_use_edge_connections<class_NavigationServer3D_method_map_set_use_edge_connections>` **(** :ref:`RID<class_RID>` map, :ref:`bool<class_bool>` enabled **)**                                                                                                                                                                                                |
@@ -1381,6 +1387,18 @@ Returns all navigation link :ref:`RID<class_RID>`\ s that are currently assigned
 
 ----
 
+.. _class_NavigationServer3D_method_map_get_merge_rasterizer_cell_scale:
+
+.. rst-class:: classref-method
+
+:ref:`float<class_float>` **map_get_merge_rasterizer_cell_scale** **(** :ref:`RID<class_RID>` map **)** |const|
+
+Returns map's internal merge rasterizer cell scale.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer3D_method_map_get_obstacles:
 
 .. rst-class:: classref-method
@@ -1529,6 +1547,18 @@ Set the map's link connection radius used to connect links to navigation polygon
 
 ----
 
+.. _class_NavigationServer3D_method_map_set_merge_rasterizer_cell_scale:
+
+.. rst-class:: classref-method
+
+void **map_set_merge_rasterizer_cell_scale** **(** :ref:`RID<class_RID>` map, :ref:`float<class_float>` scale **)**
+
+Set the map's internal merge rasterizer cell scale used to control merging sensitivity.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_NavigationServer3D_method_map_set_up:
 
 .. rst-class:: classref-method
@@ -1839,9 +1869,11 @@ Queries a path in a given navigation map. Start and target position and other pa
 
 void **region_bake_navigation_mesh** **(** :ref:`NavigationMesh<class_NavigationMesh>` navigation_mesh, :ref:`Node<class_Node>` root_node **)**
 
+**Deprecated:** This method is deprecated due to core threading changes.
+
 Bakes the ``navigation_mesh`` with bake source geometry collected starting from the ``root_node``.
 
-\ *Deprecated.* This function is deprecated due to core threading changes. To upgrade existing code, first create a :ref:`NavigationMeshSourceGeometryData3D<class_NavigationMeshSourceGeometryData3D>` resource. Use this resource with :ref:`parse_source_geometry_data<class_NavigationServer3D_method_parse_source_geometry_data>` to parse the SceneTree for nodes that should contribute to the navigation mesh baking. The SceneTree parsing needs to happen on the main thread. After the parsing is finished use the resource with :ref:`bake_from_source_geometry_data<class_NavigationServer3D_method_bake_from_source_geometry_data>` to bake a navigation mesh.
+\ *Deprecated.* To upgrade existing code, first create a :ref:`NavigationMeshSourceGeometryData3D<class_NavigationMeshSourceGeometryData3D>` resource. Use this resource with :ref:`parse_source_geometry_data<class_NavigationServer3D_method_parse_source_geometry_data>` to parse the SceneTree for nodes that should contribute to the navigation mesh baking. The SceneTree parsing needs to happen on the main thread. After the parsing is finished use the resource with :ref:`bake_from_source_geometry_data<class_NavigationServer3D_method_bake_from_source_geometry_data>` to bake a navigation mesh.
 
 .. rst-class:: classref-item-separator
 

+ 36 - 32
classes/class_node.rst

@@ -12,7 +12,7 @@ Node
 
 **Inherits:** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`AnimationMixer<class_AnimationMixer>`, :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`, :ref:`CanvasItem<class_CanvasItem>`, :ref:`CanvasLayer<class_CanvasLayer>`, :ref:`EditorFileSystem<class_EditorFileSystem>`, :ref:`EditorPlugin<class_EditorPlugin>`, :ref:`EditorResourcePreview<class_EditorResourcePreview>`, :ref:`HTTPRequest<class_HTTPRequest>`, :ref:`InstancePlaceholder<class_InstancePlaceholder>`, :ref:`MissingNode<class_MissingNode>`, :ref:`MultiplayerSpawner<class_MultiplayerSpawner>`, :ref:`MultiplayerSynchronizer<class_MultiplayerSynchronizer>`, :ref:`NavigationAgent2D<class_NavigationAgent2D>`, :ref:`NavigationAgent3D<class_NavigationAgent3D>`, :ref:`Node3D<class_Node3D>`, :ref:`ResourcePreloader<class_ResourcePreloader>`, :ref:`ShaderGlobalsOverride<class_ShaderGlobalsOverride>`, :ref:`SkeletonIK3D<class_SkeletonIK3D>`, :ref:`Timer<class_Timer>`, :ref:`Viewport<class_Viewport>`, :ref:`WorldEnvironment<class_WorldEnvironment>`
+**Inherited By:** :ref:`AnimationMixer<class_AnimationMixer>`, :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`, :ref:`CanvasItem<class_CanvasItem>`, :ref:`CanvasLayer<class_CanvasLayer>`, :ref:`EditorFileSystem<class_EditorFileSystem>`, :ref:`EditorPlugin<class_EditorPlugin>`, :ref:`EditorResourcePreview<class_EditorResourcePreview>`, :ref:`HTTPRequest<class_HTTPRequest>`, :ref:`InstancePlaceholder<class_InstancePlaceholder>`, :ref:`MissingNode<class_MissingNode>`, :ref:`MultiplayerSpawner<class_MultiplayerSpawner>`, :ref:`MultiplayerSynchronizer<class_MultiplayerSynchronizer>`, :ref:`NavigationAgent2D<class_NavigationAgent2D>`, :ref:`NavigationAgent3D<class_NavigationAgent3D>`, :ref:`Node3D<class_Node3D>`, :ref:`ResourcePreloader<class_ResourcePreloader>`, :ref:`ShaderGlobalsOverride<class_ShaderGlobalsOverride>`, :ref:`SkeletonIK3D<class_SkeletonIK3D>`, :ref:`StatusIndicator<class_StatusIndicator>`, :ref:`Timer<class_Timer>`, :ref:`Viewport<class_Viewport>`, :ref:`WorldEnvironment<class_WorldEnvironment>`
 
 Base class for all scene objects.
 
@@ -524,11 +524,7 @@ flags **ProcessThreadMessages**:
 
 :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES** = ``1``
 
-.. container:: contribute
-
-	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
-
-
+Allows this node to process threaded messages created with :ref:`call_deferred_thread_group<class_Node_method_call_deferred_thread_group>` right before :ref:`_process<class_Node_private_method__process>` is called.
 
 .. _class_Node_constant_FLAG_PROCESS_THREAD_MESSAGES_PHYSICS:
 
@@ -536,11 +532,7 @@ flags **ProcessThreadMessages**:
 
 :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES_PHYSICS** = ``2``
 
-.. container:: contribute
-
-	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
-
-
+Allows this node to process threaded messages created with :ref:`call_deferred_thread_group<class_Node_method_call_deferred_thread_group>` right before :ref:`_physics_process<class_Node_private_method__physics_process>` is called.
 
 .. _class_Node_constant_FLAG_PROCESS_THREAD_MESSAGES_ALL:
 
@@ -548,11 +540,7 @@ flags **ProcessThreadMessages**:
 
 :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES_ALL** = ``3``
 
-.. container:: contribute
-
-	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
-
-
+Allows this node to process threaded messages created with :ref:`call_deferred_thread_group<class_Node_method_call_deferred_thread_group>` right before either :ref:`_process<class_Node_private_method__process>` or :ref:`_physics_process<class_Node_private_method__physics_process>` are called.
 
 .. rst-class:: classref-item-separator
 
@@ -586,7 +574,7 @@ Duplicate the node's groups.
 
 :ref:`DuplicateFlags<enum_Node_DuplicateFlags>` **DUPLICATE_SCRIPTS** = ``4``
 
-Duplicate the node's script (including the ancestor's script, if combined with :ref:`DUPLICATE_USE_INSTANTIATION<class_Node_constant_DUPLICATE_USE_INSTANTIATION>`).
+Duplicate the node's script (also overriding the duplicated children's scripts, if combined with :ref:`DUPLICATE_USE_INSTANTIATION<class_Node_constant_DUPLICATE_USE_INSTANTIATION>`).
 
 .. _class_Node_constant_DUPLICATE_USE_INSTANTIATION:
 
@@ -665,7 +653,9 @@ This notification is received *after* the related :ref:`tree_exiting<class_Node_
 
 **NOTIFICATION_MOVED_IN_PARENT** = ``12``
 
-*Deprecated.* This notification is no longer emitted. Use :ref:`NOTIFICATION_CHILD_ORDER_CHANGED<class_Node_constant_NOTIFICATION_CHILD_ORDER_CHANGED>` instead.
+**Deprecated:** Use :ref:`NOTIFICATION_CHILD_ORDER_CHANGED<class_Node_constant_NOTIFICATION_CHILD_ORDER_CHANGED>` instead.
+
+This notification is no longer emitted.
 
 .. _class_Node_constant_NOTIFICATION_READY:
 
@@ -979,7 +969,7 @@ Implemented only on macOS.
 
 Notification received from the OS when the application is resumed.
 
-Implemented only on Android.
+Specific to the Android and iOS platforms.
 
 .. _class_Node_constant_NOTIFICATION_APPLICATION_PAUSED:
 
@@ -989,7 +979,9 @@ Implemented only on Android.
 
 Notification received from the OS when the application is paused.
 
-Implemented only on Android.
+Specific to the Android and iOS platforms.
+
+\ **Note:** On iOS, you only have approximately 5 seconds to finish a task started by this signal. If you go over this allotment, iOS will kill the app instead of pausing it.
 
 .. _class_Node_constant_NOTIFICATION_APPLICATION_FOCUS_IN:
 
@@ -997,9 +989,9 @@ Implemented only on Android.
 
 **NOTIFICATION_APPLICATION_FOCUS_IN** = ``2016``
 
-Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a third-party application to any open window of the Godot instance.
+Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a thirdparty application to any open window of the Godot instance.
 
-Implemented on desktop platforms.
+Implemented on desktop and mobile platforms.
 
 .. _class_Node_constant_NOTIFICATION_APPLICATION_FOCUS_OUT:
 
@@ -1007,9 +999,9 @@ Implemented on desktop platforms.
 
 **NOTIFICATION_APPLICATION_FOCUS_OUT** = ``2017``
 
-Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a third-party application.
+Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a thirdparty application.
 
-Implemented on desktop platforms.
+Implemented on desktop and mobile platforms.
 
 .. _class_Node_constant_NOTIFICATION_TEXT_SERVER_CHANGED:
 
@@ -1076,7 +1068,7 @@ The :ref:`MultiplayerAPI<class_MultiplayerAPI>` instance associated with this no
 
 The name of the node. This name must be unique among the siblings (other child nodes from the same parent). When set to an existing sibling's name, the node is automatically renamed.
 
-\ **Note:** When changing the name, the following characters will be removed: (``.`` ``:`` ``@`` ``/`` ``"`` ``%``). In particular, the ``@`` character is reserved for auto-generated names. See also :ref:`String.validate_node_name<class_String_method_validate_node_name>`.
+\ **Note:** When changing the name, the following characters will be replaced with an underscore: (``.`` ``:`` ``@`` ``/`` ``"`` ``%``). In particular, the ``@`` character is reserved for auto-generated names. See also :ref:`String.validate_node_name<class_String_method_validate_node_name>`.
 
 .. rst-class:: classref-item-separator
 
@@ -1961,7 +1953,7 @@ Returns the node's absolute path, relative to the :ref:`SceneTree.root<class_Sce
 
 :ref:`NodePath<class_NodePath>` **get_path_to** **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` use_unique_path=false **)** |const|
 
-Returns the relative :ref:`NodePath<class_NodePath>` from this node to the specified ``node``. Both nodes must be in the same :ref:`SceneTree<class_SceneTree>`, otherwise this method fails and returns an empty :ref:`NodePath<class_NodePath>`.
+Returns the relative :ref:`NodePath<class_NodePath>` from this node to the specified ``node``. Both nodes must be in the same :ref:`SceneTree<class_SceneTree>` or scene hierarchy, otherwise this method fails and returns an empty :ref:`NodePath<class_NodePath>`.
 
 If ``use_unique_path`` is ``true``, returns the shortest path accounting for this node's unique name (see :ref:`unique_name_in_owner<class_Node_property_unique_name_in_owner>`).
 
@@ -2627,7 +2619,9 @@ If ``recursive`` is ``true``, the given peer is recursively set as the authority
 
 void **set_physics_process** **(** :ref:`bool<class_bool>` enable **)**
 
-If set to ``true``, enables physics (fixed framerate) processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PHYSICS_PROCESS<class_Node_constant_NOTIFICATION_PHYSICS_PROCESS>` at a fixed (usually 60 FPS, see :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` to change) interval (and the :ref:`_physics_process<class_Node_private_method__physics_process>` callback will be called if it exists). Enabled automatically if :ref:`_physics_process<class_Node_private_method__physics_process>` is overridden.
+If set to ``true``, enables physics (fixed framerate) processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PHYSICS_PROCESS<class_Node_constant_NOTIFICATION_PHYSICS_PROCESS>` at a fixed (usually 60 FPS, see :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` to change) interval (and the :ref:`_physics_process<class_Node_private_method__physics_process>` callback will be called if it exists).
+
+\ **Note:** If :ref:`_physics_process<class_Node_private_method__physics_process>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called.
 
 .. rst-class:: classref-item-separator
 
@@ -2653,7 +2647,9 @@ If set to ``true``, enables internal physics for this node. Internal physics pro
 
 void **set_process** **(** :ref:`bool<class_bool>` enable **)**
 
-If set to ``true``, enables processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PROCESS<class_Node_constant_NOTIFICATION_PROCESS>` on every drawn frame (and the :ref:`_process<class_Node_private_method__process>` callback will be called if it exists). Enabled automatically if :ref:`_process<class_Node_private_method__process>` is overridden.
+If set to ``true``, enables processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PROCESS<class_Node_constant_NOTIFICATION_PROCESS>` on every drawn frame (and the :ref:`_process<class_Node_private_method__process>` callback will be called if it exists).
+
+\ **Note:** If :ref:`_process<class_Node_private_method__process>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called.
 
 \ **Note:** This method only affects the :ref:`_process<class_Node_private_method__process>` callback, i.e. it has no effect on other callbacks like :ref:`_physics_process<class_Node_private_method__physics_process>`. If you want to disable all processing for the node, set :ref:`process_mode<class_Node_property_process_mode>` to :ref:`PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`.
 
@@ -2667,7 +2663,9 @@ If set to ``true``, enables processing. When a node is being processed, it will
 
 void **set_process_input** **(** :ref:`bool<class_bool>` enable **)**
 
-If set to ``true``, enables input processing. This is not required for GUI controls! Enabled automatically if :ref:`_input<class_Node_private_method__input>` is overridden.
+If set to ``true``, enables input processing.
+
+\ **Note:** If :ref:`_input<class_Node_private_method__input>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called. Input processing is also already enabled for GUI controls, such as :ref:`Button<class_Button>` and :ref:`TextEdit<class_TextEdit>`.
 
 .. rst-class:: classref-item-separator
 
@@ -2693,7 +2691,9 @@ If set to ``true``, enables internal processing for this node. Internal processi
 
 void **set_process_shortcut_input** **(** :ref:`bool<class_bool>` enable **)**
 
-If set to ``true``, enables shortcut processing for this node. Enabled automatically if :ref:`_shortcut_input<class_Node_private_method__shortcut_input>` is overridden.
+If set to ``true``, enables shortcut processing for this node.
+
+\ **Note:** If :ref:`_shortcut_input<class_Node_private_method__shortcut_input>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called.
 
 .. rst-class:: classref-item-separator
 
@@ -2705,7 +2705,9 @@ If set to ``true``, enables shortcut processing for this node. Enabled automatic
 
 void **set_process_unhandled_input** **(** :ref:`bool<class_bool>` enable **)**
 
-If set to ``true``, enables unhandled input processing. This is not required for GUI controls! It enables the node to receive all input that was not previously handled (usually by a :ref:`Control<class_Control>`). Enabled automatically if :ref:`_unhandled_input<class_Node_private_method__unhandled_input>` is overridden.
+If set to ``true``, enables unhandled input processing. It enables the node to receive all input that was not previously handled (usually by a :ref:`Control<class_Control>`).
+
+\ **Note:** If :ref:`_unhandled_input<class_Node_private_method__unhandled_input>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called. Unhandled input processing is also already enabled for GUI controls, such as :ref:`Button<class_Button>` and :ref:`TextEdit<class_TextEdit>`.
 
 .. rst-class:: classref-item-separator
 
@@ -2717,7 +2719,9 @@ If set to ``true``, enables unhandled input processing. This is not required for
 
 void **set_process_unhandled_key_input** **(** :ref:`bool<class_bool>` enable **)**
 
-If set to ``true``, enables unhandled key input processing. Enabled automatically if :ref:`_unhandled_key_input<class_Node_private_method__unhandled_key_input>` is overridden.
+If set to ``true``, enables unhandled key input processing.
+
+\ **Note:** If :ref:`_unhandled_key_input<class_Node_private_method__unhandled_key_input>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called.
 
 .. rst-class:: classref-item-separator
 

+ 1 - 1
classes/class_node2d.rst

@@ -12,7 +12,7 @@ Node2D
 
 **Inherits:** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`AnimatedSprite2D<class_AnimatedSprite2D>`, :ref:`AudioListener2D<class_AudioListener2D>`, :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>`, :ref:`BackBufferCopy<class_BackBufferCopy>`, :ref:`Bone2D<class_Bone2D>`, :ref:`Camera2D<class_Camera2D>`, :ref:`CanvasGroup<class_CanvasGroup>`, :ref:`CanvasModulate<class_CanvasModulate>`, :ref:`CollisionObject2D<class_CollisionObject2D>`, :ref:`CollisionPolygon2D<class_CollisionPolygon2D>`, :ref:`CollisionShape2D<class_CollisionShape2D>`, :ref:`CPUParticles2D<class_CPUParticles2D>`, :ref:`GPUParticles2D<class_GPUParticles2D>`, :ref:`Joint2D<class_Joint2D>`, :ref:`Light2D<class_Light2D>`, :ref:`LightOccluder2D<class_LightOccluder2D>`, :ref:`Line2D<class_Line2D>`, :ref:`Marker2D<class_Marker2D>`, :ref:`MeshInstance2D<class_MeshInstance2D>`, :ref:`MultiMeshInstance2D<class_MultiMeshInstance2D>`, :ref:`NavigationLink2D<class_NavigationLink2D>`, :ref:`NavigationObstacle2D<class_NavigationObstacle2D>`, :ref:`NavigationRegion2D<class_NavigationRegion2D>`, :ref:`ParallaxLayer<class_ParallaxLayer>`, :ref:`Path2D<class_Path2D>`, :ref:`PathFollow2D<class_PathFollow2D>`, :ref:`Polygon2D<class_Polygon2D>`, :ref:`RayCast2D<class_RayCast2D>`, :ref:`RemoteTransform2D<class_RemoteTransform2D>`, :ref:`ShapeCast2D<class_ShapeCast2D>`, :ref:`Skeleton2D<class_Skeleton2D>`, :ref:`Sprite2D<class_Sprite2D>`, :ref:`TileMap<class_TileMap>`, :ref:`TouchScreenButton<class_TouchScreenButton>`, :ref:`VisibleOnScreenNotifier2D<class_VisibleOnScreenNotifier2D>`
+**Inherited By:** :ref:`AnimatedSprite2D<class_AnimatedSprite2D>`, :ref:`AudioListener2D<class_AudioListener2D>`, :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>`, :ref:`BackBufferCopy<class_BackBufferCopy>`, :ref:`Bone2D<class_Bone2D>`, :ref:`Camera2D<class_Camera2D>`, :ref:`CanvasGroup<class_CanvasGroup>`, :ref:`CanvasModulate<class_CanvasModulate>`, :ref:`CollisionObject2D<class_CollisionObject2D>`, :ref:`CollisionPolygon2D<class_CollisionPolygon2D>`, :ref:`CollisionShape2D<class_CollisionShape2D>`, :ref:`CPUParticles2D<class_CPUParticles2D>`, :ref:`GPUParticles2D<class_GPUParticles2D>`, :ref:`Joint2D<class_Joint2D>`, :ref:`Light2D<class_Light2D>`, :ref:`LightOccluder2D<class_LightOccluder2D>`, :ref:`Line2D<class_Line2D>`, :ref:`Marker2D<class_Marker2D>`, :ref:`MeshInstance2D<class_MeshInstance2D>`, :ref:`MultiMeshInstance2D<class_MultiMeshInstance2D>`, :ref:`NavigationLink2D<class_NavigationLink2D>`, :ref:`NavigationObstacle2D<class_NavigationObstacle2D>`, :ref:`NavigationRegion2D<class_NavigationRegion2D>`, :ref:`ParallaxLayer<class_ParallaxLayer>`, :ref:`Path2D<class_Path2D>`, :ref:`PathFollow2D<class_PathFollow2D>`, :ref:`Polygon2D<class_Polygon2D>`, :ref:`RayCast2D<class_RayCast2D>`, :ref:`RemoteTransform2D<class_RemoteTransform2D>`, :ref:`ShapeCast2D<class_ShapeCast2D>`, :ref:`Skeleton2D<class_Skeleton2D>`, :ref:`Sprite2D<class_Sprite2D>`, :ref:`TileMapLayerGroup<class_TileMapLayerGroup>`, :ref:`TouchScreenButton<class_TouchScreenButton>`, :ref:`VisibleOnScreenNotifier2D<class_VisibleOnScreenNotifier2D>`
 
 A 2D game object, inherited by all 2D-related nodes. Has a position, rotation, scale, and Z index.
 

+ 88 - 66
classes/class_nodepath.rst

@@ -17,31 +17,43 @@ A pre-parsed scene tree path.
 Description
 -----------
 
-A pre-parsed relative or absolute path in a scene tree, for use with :ref:`Node.get_node<class_Node_method_get_node>` and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For example, ``"Path2D/PathFollow2D/Sprite2D:texture:size"`` would refer to the ``size`` property of the ``texture`` resource on the node named ``"Sprite2D"``, which is a child of the other named nodes in the path.
+The **NodePath** built-in :ref:`Variant<class_Variant>` type represents a path to a node or property in a hierarchy of nodes. It is designed to be efficiently passed into many built-in methods (such as :ref:`Node.get_node<class_Node_method_get_node>`, :ref:`Object.set_indexed<class_Object_method_set_indexed>`, :ref:`Tween.tween_property<class_Tween_method_tween_property>`, etc.) without a hard dependence on the node or property they point to.
 
-You will usually just pass a string to :ref:`Node.get_node<class_Node_method_get_node>` and it will be automatically converted, but you may occasionally want to parse a path ahead of time with **NodePath** or the literal syntax ``^"path"``. Exporting a **NodePath** variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
+A node path is represented as a :ref:`String<class_String>` composed of slash-separated (``/``) node names and colon-separated (``:``) property names (also called "subnames"). Similar to a filesystem path, ``".."`` and ``"."`` are special node names. They refer to the parent node and the current node, respectively.
 
-A **NodePath** is composed of a list of slash-separated node names (like a filesystem path) and an optional colon-separated list of "subnames" which can be resources or properties.
+The following examples are paths relative to the current node:
 
-Some examples of NodePaths include the following:
+::
+
+    ^"A"     # Points to the direct child A.
+    ^"A/B"   # Points to A's child B.
+    ^"."     # Points to the current node.
+    ^".."    # Points to the parent node.
+    ^"../C"  # Points to the sibling node C.
+    ^"../.." # Points to the grandparent node.
+
+A leading slash means the path is absolute, and begins from the :ref:`SceneTree<class_SceneTree>`:
+
+::
+
+    ^"/root"            # Points to the SceneTree's root Window.
+    ^"/root/Title"      # May point to the main scene's root node named "Title".
+    ^"/root/Global"     # May point to an autoloaded node or scene named "Global".
+
+Despite their name, node paths may also point to a property:
 
 ::
 
-    # No leading slash means it is relative to the current node.
-    ^"A" # Immediate child A
-    ^"A/B" # A's child B
-    ^"." # The current node.
-    ^".." # The parent node.
-    ^"../C" # A sibling node C.
-    ^"../.." # The grandparent node.
-    # A leading slash means it is absolute from the SceneTree.
-    ^"/root" # Equivalent to get_tree().get_root().
-    ^"/root/Main" # If your main scene's root node were named "Main".
-    ^"/root/MyAutoload" # If you have an autoloaded node or scene.
+    ^"position"            # Points to this object's position.
+    ^"position:x"          # Points to this object's position in the x axis.
+    ^"Camera3D:rotation:y" # Points to the child Camera3D and its y rotation.
+    ^"/root:size:x"        # Points to the root Window and its width.
+
+Node paths cannot check whether they are valid and may point to nodes or properties that do not exist. Their meaning depends entirely on the context in which they're used.
 
-See also :ref:`StringName<class_StringName>`, which is a similar concept for general-purpose string interning.
+You usually do not have to worry about the **NodePath** type, as strings are automatically converted to the type when necessary. There are still times when defining node paths is useful. For example, exported **NodePath** properties allow you to easily select any node within the currently edited scene. They are also automatically updated when moving, renaming or deleting nodes in the scene tree editor. See also :ref:`@GDScript.@export_node_path<class_@GDScript_annotation_@export_node_path>`.
 
-\ **Note:** In the editor, **NodePath** properties are automatically updated when moving, renaming or deleting a node in the scene tree, but they are never updated at runtime.
+See also :ref:`StringName<class_StringName>`, which is a similar type designed for optimised strings.
 
 \ **Note:** In a boolean context, a **NodePath** will evaluate to ``false`` if it is empty (``NodePath("")``). Otherwise, a **NodePath** will always evaluate to ``true``.
 
@@ -141,7 +153,7 @@ Constructs an empty **NodePath**.
 
 :ref:`NodePath<class_NodePath>` **NodePath** **(** :ref:`NodePath<class_NodePath>` from **)**
 
-Constructs a **NodePath** as a copy of the given **NodePath**. ``NodePath("example")`` is equivalent to ``^"example"``.
+Constructs a **NodePath** as a copy of the given **NodePath**.
 
 .. rst-class:: classref-item-separator
 
@@ -151,26 +163,32 @@ Constructs a **NodePath** as a copy of the given **NodePath**. ``NodePath("examp
 
 :ref:`NodePath<class_NodePath>` **NodePath** **(** :ref:`String<class_String>` from **)**
 
-Creates a NodePath from a string, e.g. ``"Path2D/PathFollow2D/Sprite2D:texture:size"``. A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, ``"."`` and ``".."`` indicate the current node and its parent.
+Constructs a **NodePath** from a :ref:`String<class_String>`. The created path is absolute if prefixed with a slash (see :ref:`is_absolute<class_NodePath_method_is_absolute>`).
 
-The "subnames" optionally included after the path to the target node can point to resources or properties, and can also be nested.
+The "subnames" optionally included after the path to the target node can point to properties, and can also be nested.
 
-Examples of valid NodePaths (assuming that those nodes exist and have the referenced resources or properties):
+Examples of strings that could be node paths:
 
 ::
 
     # Points to the Sprite2D node.
-    "Path2D/PathFollow2D/Sprite2D"
+    "Level/RigidBody2D/Sprite2D"
+    
     # Points to the Sprite2D node and its "texture" resource.
-    # get_node() would retrieve "Sprite2D", while get_node_and_resource()
+    # get_node() would retrieve the Sprite2D, while get_node_and_resource()
     # would retrieve both the Sprite2D node and the "texture" resource.
-    "Path2D/PathFollow2D/Sprite2D:texture"
+    "Level/RigidBody2D/Sprite2D:texture"
+    
     # Points to the Sprite2D node and its "position" property.
-    "Path2D/PathFollow2D/Sprite2D:position"
+    "Level/RigidBody2D/Sprite2D:position"
+    
     # Points to the Sprite2D node and the "x" component of its "position" property.
-    "Path2D/PathFollow2D/Sprite2D:position:x"
-    # Absolute path (from "root")
-    "/root/Level/Path2D"
+    "Level/RigidBody2D/Sprite2D:position:x"
+    
+    # Points to the RigidBody2D node as an absolute path beginning from the SceneTree.
+    "/root/Level/RigidBody2D"
+
+\ **Note:** In GDScript, it's also possible to convert a constant string into a node path by prefixing it with ``^``. ``^"path/to/node"`` is equivalent to ``NodePath("path/to/node")``.
 
 .. rst-class:: classref-section-separator
 
@@ -187,26 +205,28 @@ Method Descriptions
 
 :ref:`NodePath<class_NodePath>` **get_as_property_path** **(** **)** |const|
 
-Returns a node path with a colon character (``:``) prepended, transforming it to a pure property path with no node name (defaults to resolving from the current node).
+Returns a copy of this node path with a colon character (``:``) prefixed, transforming it to a pure property path with no node names (relative to the current node).
 
 
 .. tabs::
 
  .. code-tab:: gdscript
 
-    # This will be parsed as a node path to the "x" property in the "position" node.
-    var node_path = NodePath("position:x")
-    # This will be parsed as a node path to the "x" component of the "position" property in the current node.
+    # node_path points to the "x" property of the child node named "position".
+    var node_path = ^"position:x"
+    
+    # property_path points to the "position" in the "x" axis of this node.
     var property_path = node_path.get_as_property_path()
-    print(property_path) # :position:x
+    print(property_path) # Prints ":position:x"
 
  .. code-tab:: csharp
 
-    // This will be parsed as a node path to the "x" property in the "position" node.
+    // nodePath points to the "x" property of the child node named "position".
     var nodePath = new NodePath("position:x");
-    // This will be parsed as a node path to the "x" component of the "position" property in the current node.
+    
+    // propertyPath points to the "position" in the "x" axis of this node.
     NodePath propertyPath = nodePath.GetAsPropertyPath();
-    GD.Print(propertyPath); // :position:x
+    GD.Print(propertyPath); // Prints ":position:x".
 
 
 
@@ -220,7 +240,7 @@ Returns a node path with a colon character (``:``) prepended, transforming it to
 
 :ref:`StringName<class_StringName>` **get_concatenated_names** **(** **)** |const|
 
-Returns all paths concatenated with a slash character (``/``) as separator without subnames.
+Returns all node names concatenated with a slash character (``/``) as a single :ref:`StringName<class_StringName>`.
 
 .. rst-class:: classref-item-separator
 
@@ -232,20 +252,20 @@ Returns all paths concatenated with a slash character (``/``) as separator witho
 
 :ref:`StringName<class_StringName>` **get_concatenated_subnames** **(** **)** |const|
 
-Returns all subnames concatenated with a colon character (``:``) as separator, i.e. the right side of the first colon in a node path.
+Returns all property subnames concatenated with a colon character (``:``) as a single :ref:`StringName<class_StringName>`.
 
 
 .. tabs::
 
  .. code-tab:: gdscript
 
-    var node_path = NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path")
-    print(node_path.get_concatenated_subnames()) # texture:load_path
+    var node_path = ^"Sprite2D:texture:resource_name"
+    print(node_path.get_concatenated_subnames()) # Prints "texture:resource_name".
 
  .. code-tab:: csharp
 
-    var nodePath = new NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path");
-    GD.Print(nodePath.GetConcatenatedSubnames()); // texture:load_path
+    var nodePath = new NodePath("Sprite2D:texture:resource_name");
+    GD.Print(nodePath.GetConcatenatedSubnames()); // Prints "texture:resource_name".
 
 
 
@@ -259,24 +279,24 @@ Returns all subnames concatenated with a colon character (``:``) as separator, i
 
 :ref:`StringName<class_StringName>` **get_name** **(** :ref:`int<class_int>` idx **)** |const|
 
-Gets the node name indicated by ``idx`` (0 to :ref:`get_name_count<class_NodePath_method_get_name_count>` - 1).
+Returns the node name indicated by ``idx``, starting from 0. If ``idx`` is out of bounds, an error is generated. See also :ref:`get_subname_count<class_NodePath_method_get_subname_count>` and :ref:`get_name_count<class_NodePath_method_get_name_count>`.
 
 
 .. tabs::
 
  .. code-tab:: gdscript
 
-    var node_path = NodePath("Path2D/PathFollow2D/Sprite2D")
-    print(node_path.get_name(0)) # Path2D
-    print(node_path.get_name(1)) # PathFollow2D
-    print(node_path.get_name(2)) # Sprite2D
+    var sprite_path = NodePath("../RigidBody2D/Sprite2D")
+    print(sprite_path.get_name(0)) # Prints "..".
+    print(sprite_path.get_name(1)) # Prints "RigidBody2D".
+    print(sprite_path.get_name(2)) # Prints "Sprite".
 
  .. code-tab:: csharp
 
-    var nodePath = new NodePath("Path2D/PathFollow2D/Sprite2D");
-    GD.Print(nodePath.GetName(0)); // Path2D
-    GD.Print(nodePath.GetName(1)); // PathFollow2D
-    GD.Print(nodePath.GetName(2)); // Sprite2D
+    var spritePath = new NodePath("../RigidBody2D/Sprite2D");
+    GD.Print(spritePath.GetName(0)); // Prints "..".
+    GD.Print(spritePath.GetName(1)); // Prints "PathFollow2D".
+    GD.Print(spritePath.GetName(2)); // Prints "Sprite".
 
 
 
@@ -290,9 +310,9 @@ Gets the node name indicated by ``idx`` (0 to :ref:`get_name_count<class_NodePat
 
 :ref:`int<class_int>` **get_name_count** **(** **)** |const|
 
-Gets the number of node names which make up the path. Subnames (see :ref:`get_subname_count<class_NodePath_method_get_subname_count>`) are not included.
+Returns the number of node names in the path. Property subnames are not included.
 
-For example, ``"Path2D/PathFollow2D/Sprite2D"`` has 3 names.
+For example, ``"../RigidBody2D/Sprite2D:texture"`` contains 3 node names.
 
 .. rst-class:: classref-item-separator
 
@@ -304,22 +324,22 @@ For example, ``"Path2D/PathFollow2D/Sprite2D"`` has 3 names.
 
 :ref:`StringName<class_StringName>` **get_subname** **(** :ref:`int<class_int>` idx **)** |const|
 
-Gets the resource or property name indicated by ``idx`` (0 to :ref:`get_subname_count<class_NodePath_method_get_subname_count>` - 1).
+Returns the property name indicated by ``idx``, starting from 0. If ``idx`` is out of bounds, an error is generated. See also :ref:`get_subname_count<class_NodePath_method_get_subname_count>`.
 
 
 .. tabs::
 
  .. code-tab:: gdscript
 
-    var node_path = NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path")
-    print(node_path.get_subname(0)) # texture
-    print(node_path.get_subname(1)) # load_path
+    var path_to_name = NodePath("Sprite2D:texture:resource_name")
+    print(path_to_name.get_subname(0)) # Prints "texture".
+    print(path_to_name.get_subname(1)) # Prints "resource_name".
 
  .. code-tab:: csharp
 
-    var nodePath = new NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path");
-    GD.Print(nodePath.GetSubname(0)); // texture
-    GD.Print(nodePath.GetSubname(1)); // load_path
+    var pathToName = new NodePath("Sprite2D:texture:resource_name");
+    GD.Print(pathToName.GetSubname(0)); // Prints "texture".
+    GD.Print(pathToName.GetSubname(1)); // Prints "resource_name".
 
 
 
@@ -333,9 +353,9 @@ Gets the resource or property name indicated by ``idx`` (0 to :ref:`get_subname_
 
 :ref:`int<class_int>` **get_subname_count** **(** **)** |const|
 
-Gets the number of resource or property names ("subnames") in the path. Each subname is listed after a colon character (``:``) in the node path.
+Returns the number of property names ("subnames") in the path. Each subname in the node path is listed after a colon character (``:``).
 
-For example, ``"Path2D/PathFollow2D/Sprite2D:texture:load_path"`` has 2 subnames.
+For example, ``"Level/RigidBody2D/Sprite2D:texture:resource_name"`` contains 2 subnames.
 
 .. rst-class:: classref-item-separator
 
@@ -347,7 +367,9 @@ For example, ``"Path2D/PathFollow2D/Sprite2D:texture:load_path"`` has 2 subnames
 
 :ref:`int<class_int>` **hash** **(** **)** |const|
 
-Returns the 32-bit hash value representing the **NodePath**'s contents.
+Returns the 32-bit hash value representing the node path's contents.
+
+\ **Note:** Node paths with equal hash values are *not* guaranteed to be the same, as a result of hash collisions. Node paths with different hash values are guaranteed to be different.
 
 .. rst-class:: classref-item-separator
 
@@ -359,7 +381,7 @@ Returns the 32-bit hash value representing the **NodePath**'s contents.
 
 :ref:`bool<class_bool>` **is_absolute** **(** **)** |const|
 
-Returns ``true`` if the node path is absolute (as opposed to relative), which means that it starts with a slash character (``/``). Absolute node paths can be used to access the root node (``"/root"``) or autoloads (e.g. ``"/global"`` if a "global" autoload was registered).
+Returns ``true`` if the node path is absolute. Unlike a relative path, an absolute path is represented by a leading slash character (``/``) and always begins from the :ref:`SceneTree<class_SceneTree>`. It can be used to reliably access nodes from the root node (e.g. ``"/root/Global"`` if an autoload named "Global" exists).
 
 .. rst-class:: classref-item-separator
 
@@ -371,7 +393,7 @@ Returns ``true`` if the node path is absolute (as opposed to relative), which me
 
 :ref:`bool<class_bool>` **is_empty** **(** **)** |const|
 
-Returns ``true`` if the node path is empty.
+Returns ``true`` if the node path has been constructed from an empty :ref:`String<class_String>` (``""``).
 
 .. rst-class:: classref-section-separator
 
@@ -400,7 +422,7 @@ Returns ``true`` if two node paths are not equal.
 
 :ref:`bool<class_bool>` **operator ==** **(** :ref:`NodePath<class_NodePath>` right **)**
 
-Returns ``true`` if two node paths are equal, i.e. all node names in the path are the same and in the same order.
+Returns ``true`` if two node paths are equal, that is, they are composed of the same node names and subnames in the same order.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`

+ 1 - 1
classes/class_openxrapiextension.rst

@@ -252,7 +252,7 @@ Returns the id of the system, which is a `XrSystemId <https://registry.khronos.o
 
 :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **is_environment_blend_mode_alpha_supported** **(** **)**
 
-Returns :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` denoting if :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` is really support, emulated or not supported at all.
+Returns :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` denoting if :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` is really supported, emulated or not supported at all.
 
 .. rst-class:: classref-item-separator
 

+ 14 - 0
classes/class_openxrextensionwrapperextension.rst

@@ -34,6 +34,8 @@ Methods
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary<class_Dictionary>`                 | :ref:`_get_requested_extensions<class_OpenXRExtensionWrapperExtension_private_method__get_requested_extensions>` **(** **)** |virtual|                                                                                                |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>`   | :ref:`_get_suggested_tracker_names<class_OpenXRExtensionWrapperExtension_private_method__get_suggested_tracker_names>` **(** **)** |virtual|                                                                                          |
+   +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                | :ref:`_on_before_instance_created<class_OpenXRExtensionWrapperExtension_private_method__on_before_instance_created>` **(** **)** |virtual|                                                                                            |
    +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                             | :ref:`_on_event_polled<class_OpenXRExtensionWrapperExtension_private_method__on_event_polled>` **(** const void* event **)** |virtual|                                                                                                |
@@ -120,6 +122,18 @@ Returns a :ref:`Dictionary<class_Dictionary>` of OpenXR extensions related to th
 
 ----
 
+.. _class_OpenXRExtensionWrapperExtension_private_method__get_suggested_tracker_names:
+
+.. rst-class:: classref-method
+
+:ref:`PackedStringArray<class_PackedStringArray>` **_get_suggested_tracker_names** **(** **)** |virtual|
+
+Returns a :ref:`PackedStringArray<class_PackedStringArray>` of positional tracker names that are used within the extension wrapper.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_OpenXRExtensionWrapperExtension_private_method__on_before_instance_created:
 
 .. rst-class:: classref-method

+ 5 - 3
classes/class_os.rst

@@ -416,7 +416,7 @@ Crashes the engine (or the editor if called within a ``@tool`` script). See also
 
 Creates a new instance of Godot that runs independently. The ``arguments`` are used in the given order and separated by a space.
 
-If the process is successfully created, the method will return the new process ID, which you can use to monitor the process (and potentially terminate it with :ref:`kill<class_OS_method_kill>`). If the process cannot be created, the method will return ``-1``.
+If the process is successfully created, this method returns the new process' ID, which you can use to monitor the process (and potentially terminate it with :ref:`kill<class_OS_method_kill>`). If the process cannot be created, this method returns ``-1``.
 
 See :ref:`create_process<class_OS_method_create_process>` if you wish to run a different process.
 
@@ -936,7 +936,7 @@ Returns the name of the host platform.
 
 - On iOS, this is ``"iOS"``.
 
-- On the web, this is ``"Web"``.
+- On Web, this is ``"Web"``.
 
 \ **Note:** Custom builds of the engine may support additional platforms, such as consoles, possibly returning other names.
 
@@ -1259,7 +1259,7 @@ Returns ``true`` if the feature for the given feature tag is supported in the cu
 
 \ **Note:** Tag names are case-sensitive.
 
-\ **Note:** On the Web platform, one of the following additional tags is defined to indicate host platform: ``web_android``, ``web_ios``, ``web_linuxbsd``, ``web_macos``, or ``web_windows``.
+\ **Note:** On the Web platform, one of the following additional tags is defined to indicate the host platform: ``web_android``, ``web_ios``, ``web_linuxbsd``, ``web_macos``, or ``web_windows``.
 
 .. rst-class:: classref-item-separator
 
@@ -1451,6 +1451,8 @@ Reads a user input string from the standard input (usually the terminal). This o
 
 \ **Note:** This method is implemented on Linux, macOS and Windows.
 
+\ **Note:** On exported Windows builds, run the console wrapper executable to access the terminal. Otherwise, the standard input will not work correctly. If you need a single executable with console support, use a custom build compiled with the ``windows_subsystem=console`` flag.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 5 - 3
classes/class_parallaxlayer.rst

@@ -61,11 +61,13 @@ Property Descriptions
 - void **set_mirroring** **(** :ref:`Vector2<class_Vector2>` value **)**
 - :ref:`Vector2<class_Vector2>` **get_mirroring** **(** **)**
 
-The ParallaxLayer's :ref:`Texture2D<class_Texture2D>` repeating. Useful for creating an infinite scrolling background. If an axis is set to ``0``, the :ref:`Texture2D<class_Texture2D>` will not be repeated.
+The interval, in pixels, at which the **ParallaxLayer** is drawn repeatedly. Useful for creating an infinitely scrolling background. If an axis is set to ``0``, the **ParallaxLayer** will be drawn only once along that direction.
 
-If the length of the viewport axis is bigger than twice the repeated axis size, it will not repeat infinitely, as the parallax layer only draws 2 instances of the texture at any given time.
+\ **Note:** If you want the repetition to pixel-perfect match a :ref:`Texture2D<class_Texture2D>` displayed by a child node, you should account for any scale applied to the texture when defining this interval. For example, if you use a child :ref:`Sprite2D<class_Sprite2D>` scaled to ``0.5`` to display a 600x600 texture, and want this sprite to be repeated continuously horizontally, you should set the mirroring to ``Vector2(300, 0)``.
 
-\ **Note:** Despite its name, the texture will not be mirrored, it will simply be repeated.
+\ **Note:** If the length of the viewport axis is bigger than twice the repeated axis size, it will not repeat infinitely, as the parallax layer only draws 2 instances of the layer at any given time. The visibility window is calculated from the parent :ref:`ParallaxBackground<class_ParallaxBackground>`'s position, not the layer's own position. So, if you use mirroring, **do not** change the **ParallaxLayer** position relative to its parent. Instead, if you need to adjust the background's position, set the :ref:`CanvasLayer.offset<class_CanvasLayer_property_offset>` property in the parent :ref:`ParallaxBackground<class_ParallaxBackground>`.
+
+\ **Note:** Despite the name, the layer will not be mirrored, it will only be repeated.
 
 .. rst-class:: classref-item-separator
 

+ 3 - 0
classes/class_physicalbone2d.rst

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

+ 3 - 0
classes/class_physicalbone3d.rst

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

+ 128 - 0
classes/class_projectsettings.rst

@@ -46,6 +46,10 @@ Properties
 .. table::
    :widths: auto
 
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`animation/warnings/check_angle_interpolation_type_conflicting<class_ProjectSettings_property_animation/warnings/check_angle_interpolation_type_conflicting>`                                         | ``true``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`animation/warnings/check_invalid_track_paths<class_ProjectSettings_property_animation/warnings/check_invalid_track_paths>`                                                                           | ``true``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`Color<class_Color>`                         | :ref:`application/boot_splash/bg_color<class_ProjectSettings_property_application/boot_splash/bg_color>`                                                                                                   | ``Color(0.14, 0.14, 0.14, 1)``                                                                   |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
@@ -107,6 +111,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`application/run/max_fps<class_ProjectSettings_property_application/run/max_fps>`                                                                                                                     | ``0``                                                                                            |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`application/run/print_header<class_ProjectSettings_property_application/run/print_header>`                                                                                                           | ``true``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                         | :ref:`audio/buses/channel_disable_threshold_db<class_ProjectSettings_property_audio/buses/channel_disable_threshold_db>`                                                                                   | ``-60.0``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                         | :ref:`audio/buses/channel_disable_time<class_ProjectSettings_property_audio/buses/channel_disable_time>`                                                                                                   | ``2.0``                                                                                          |
@@ -441,6 +447,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`editor/export/convert_text_resources_to_binary<class_ProjectSettings_property_editor/export/convert_text_resources_to_binary>`                                                                       | ``true``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`editor/import/atlas_max_width<class_ProjectSettings_property_editor/import/atlas_max_width>`                                                                                                         | ``2048``                                                                                         |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`editor/import/reimport_missing_imported_files<class_ProjectSettings_property_editor/import/reimport_missing_imported_files>`                                                                         | ``true``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`editor/import/use_multiple_threads<class_ProjectSettings_property_editor/import/use_multiple_threads>`                                                                                               | ``true``                                                                                         |
@@ -689,6 +697,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`input_devices/pointing/android/enable_pan_and_scale_gestures<class_ProjectSettings_property_input_devices/pointing/android/enable_pan_and_scale_gestures>`                                           | ``false``                                                                                        |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`input_devices/pointing/android/rotary_input_scroll_axis<class_ProjectSettings_property_input_devices/pointing/android/rotary_input_scroll_axis>`                                                     | ``1``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`input_devices/pointing/emulate_mouse_from_touch<class_ProjectSettings_property_input_devices/pointing/emulate_mouse_from_touch>`                                                                     | ``true``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`input_devices/pointing/emulate_touch_from_mouse<class_ProjectSettings_property_input_devices/pointing/emulate_touch_from_mouse>`                                                                     | ``false``                                                                                        |
@@ -1143,6 +1153,8 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`Vector3<class_Vector3>`                     | :ref:`navigation/3d/default_up<class_ProjectSettings_property_navigation/3d/default_up>`                                                                                                                   | ``Vector3(0, 1, 0)``                                                                             |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`float<class_float>`                         | :ref:`navigation/3d/merge_rasterizer_cell_scale<class_ProjectSettings_property_navigation/3d/merge_rasterizer_cell_scale>`                                                                                 | ``1.0``                                                                                          |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`navigation/3d/use_edge_connections<class_ProjectSettings_property_navigation/3d/use_edge_connections>`                                                                                               | ``true``                                                                                         |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`navigation/avoidance/thread_model/avoidance_use_high_priority_threads<class_ProjectSettings_property_navigation/avoidance/thread_model/avoidance_use_high_priority_threads>`                         | ``true``                                                                                         |
@@ -1491,6 +1503,10 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/rendering_device/staging_buffer/texture_upload_region_size_px<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/texture_upload_region_size_px>`                     | ``64``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`rendering/rendering_device/vsync/frame_queue_size<class_ProjectSettings_property_rendering/rendering_device/vsync/frame_queue_size>`                                                                 | ``2``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
+   | :ref:`int<class_int>`                             | :ref:`rendering/rendering_device/vsync/swapchain_image_count<class_ProjectSettings_property_rendering/rendering_device/vsync/swapchain_image_count>`                                                       | ``3``                                                                                            |
+   +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                             | :ref:`rendering/rendering_device/vulkan/max_descriptors_per_pool<class_ProjectSettings_property_rendering/rendering_device/vulkan/max_descriptors_per_pool>`                                               | ``64``                                                                                           |
    +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
    | :ref:`float<class_float>`                         | :ref:`rendering/scaling_3d/fsr_sharpness<class_ProjectSettings_property_rendering/scaling_3d/fsr_sharpness>`                                                                                               | ``0.2``                                                                                          |
@@ -1652,6 +1668,30 @@ Emitted when any setting is changed, up to once per process frame.
 Property Descriptions
 ---------------------
 
+.. _class_ProjectSettings_property_animation/warnings/check_angle_interpolation_type_conflicting:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **animation/warnings/check_angle_interpolation_type_conflicting** = ``true``
+
+If ``true``, :ref:`AnimationMixer<class_AnimationMixer>` prints the warning of interpolation being forced to choose the shortest rotation path due to multiple angle interpolation types being mixed in the :ref:`AnimationMixer<class_AnimationMixer>` cache.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_animation/warnings/check_invalid_track_paths:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **animation/warnings/check_invalid_track_paths** = ``true``
+
+If ``true``, :ref:`AnimationMixer<class_AnimationMixer>` prints the warning of no matching object of the track path in the scene.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_application/boot_splash/bg_color:
 
 .. rst-class:: classref-property
@@ -2062,6 +2102,18 @@ This setting can be overridden using the ``--max-fps <fps>`` command line argume
 
 ----
 
+.. _class_ProjectSettings_property_application/run/print_header:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **application/run/print_header** = ``true``
+
+If ``true``, the engine header is printed in the console on startup. This header describes the current version of the engine, as well as the renderer being used. This behavior can also be disabled on the command line with the ``--no-header`` option.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_audio/buses/channel_disable_threshold_db:
 
 .. rst-class:: classref-property
@@ -4158,6 +4210,18 @@ If ``true``, text resources are converted to a binary format on export. This dec
 
 ----
 
+.. _class_ProjectSettings_property_editor/import/atlas_max_width:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **editor/import/atlas_max_width** = ``2048``
+
+The maximum width to use when importing textures as an atlas. The value will be rounded to the nearest power of two when used. Use this to prevent imported textures from growing too large in the other direction.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_editor/import/reimport_missing_imported_files:
 
 .. rst-class:: classref-property
@@ -5836,6 +5900,18 @@ If ``true``, multi-touch pan and scale gestures are enabled on Android devices.
 
 ----
 
+.. _class_ProjectSettings_property_input_devices/pointing/android/rotary_input_scroll_axis:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **input_devices/pointing/android/rotary_input_scroll_axis** = ``1``
+
+On Wear OS devices, defines which axis of the mouse wheel rotary input is mapped to. This rotary input is usually performed by rotating the physical or virtual (touch-based) bezel on a smartwatch.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_input_devices/pointing/emulate_mouse_from_touch:
 
 .. rst-class:: classref-property
@@ -8572,6 +8648,18 @@ Default up orientation for 3D navigation maps. See :ref:`NavigationServer3D.map_
 
 ----
 
+.. _class_ProjectSettings_property_navigation/3d/merge_rasterizer_cell_scale:
+
+.. rst-class:: classref-property
+
+:ref:`float<class_float>` **navigation/3d/merge_rasterizer_cell_scale** = ``1.0``
+
+Default merge rasterizer cell scale for 3D navigation maps. See :ref:`NavigationServer3D.map_set_merge_rasterizer_cell_scale<class_NavigationServer3D_method_map_set_merge_rasterizer_cell_scale>`.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_navigation/3d/use_edge_connections:
 
 .. rst-class:: classref-property
@@ -10920,6 +11008,46 @@ Determines at which interval pipeline cache is saved to disk. The lower the valu
 
 ----
 
+.. _class_ProjectSettings_property_rendering/rendering_device/vsync/frame_queue_size:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **rendering/rendering_device/vsync/frame_queue_size** = ``2``
+
+The number of frames to track on the CPU side before stalling to wait for the GPU.
+
+Try the `V-Sync Simulator <https://darksylinc.github.io/vsync_simulator/>`__, an interactive interface that simulates presentation to better understand how it is affected by different variables under various conditions.
+
+\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_ProjectSettings_property_rendering/rendering_device/vsync/swapchain_image_count:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **rendering/rendering_device/vsync/swapchain_image_count** = ``3``
+
+The number of images the swapchain will consist of (back buffers + front buffer).
+
+\ ``2`` corresponds to double-buffering and ``3`` to triple-buffering.
+
+Double-buffering may give you the lowest lag/latency but if V-Sync is on and the system can't render at 60 fps, the framerate will go down in multiples of it (e.g. 30 fps, 15, 7.5, etc.). Triple buffering gives you higher framerate (specially if the system can't reach a constant 60 fps) at the cost of up to 1 frame of latency, with :ref:`DisplayServer.VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>` (FIFO).
+
+Use double-buffering with :ref:`DisplayServer.VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>`. Triple-buffering is a must if you plan on using :ref:`DisplayServer.VSYNC_MAILBOX<class_DisplayServer_constant_VSYNC_MAILBOX>` mode.
+
+Try the `V-Sync Simulator <https://darksylinc.github.io/vsync_simulator/>`__, an interactive interface that simulates presentation to better understand how it is affected by different variables under various conditions.
+
+\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time.
+
+\ **Note:** Some platforms may restrict the actual value.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ProjectSettings_property_rendering/rendering_device/vulkan/max_descriptors_per_pool:
 
 .. rst-class:: classref-property

+ 41 - 13
classes/class_propertytweener.rst

@@ -31,19 +31,21 @@ Methods
 .. table::
    :widths: auto
 
-   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`as_relative<class_PropertyTweener_method_as_relative>` **(** **)**                                                    |
-   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from<class_PropertyTweener_method_from>` **(** :ref:`Variant<class_Variant>` value **)**                              |
-   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from_current<class_PropertyTweener_method_from_current>` **(** **)**                                                  |
-   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_delay<class_PropertyTweener_method_set_delay>` **(** :ref:`float<class_float>` delay **)**                        |
-   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_ease<class_PropertyTweener_method_set_ease>` **(** :ref:`EaseType<enum_Tween_EaseType>` ease **)**                |
-   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_trans<class_PropertyTweener_method_set_trans>` **(** :ref:`TransitionType<enum_Tween_TransitionType>` trans **)** |
-   +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+   +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`as_relative<class_PropertyTweener_method_as_relative>` **(** **)**                                                                             |
+   +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from<class_PropertyTweener_method_from>` **(** :ref:`Variant<class_Variant>` value **)**                                                       |
+   +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from_current<class_PropertyTweener_method_from_current>` **(** **)**                                                                           |
+   +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_custom_interpolator<class_PropertyTweener_method_set_custom_interpolator>` **(** :ref:`Callable<class_Callable>` interpolator_method **)** |
+   +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_delay<class_PropertyTweener_method_set_delay>` **(** :ref:`float<class_float>` delay **)**                                                 |
+   +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_ease<class_PropertyTweener_method_set_ease>` **(** :ref:`EaseType<enum_Tween_EaseType>` ease **)**                                         |
+   +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_trans<class_PropertyTweener_method_set_trans>` **(** :ref:`TransitionType<enum_Tween_TransitionType>` trans **)**                          |
+   +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 .. rst-class:: classref-section-separator
 
@@ -109,6 +111,32 @@ Makes the **PropertyTweener** use the current property value (i.e. at the time o
 
 ----
 
+.. _class_PropertyTweener_method_set_custom_interpolator:
+
+.. rst-class:: classref-method
+
+:ref:`PropertyTweener<class_PropertyTweener>` **set_custom_interpolator** **(** :ref:`Callable<class_Callable>` interpolator_method **)**
+
+Allows interpolating the value with a custom easing function. The provided ``interpolator_method`` will be called with a value ranging from ``0.0`` to ``1.0`` and is expected to return a value within the same range (values outside the range can be used for overshoot). The return value of the method is then used for interpolation between initial and final value. Note that the parameter passed to the method is still subject to the tweener's own easing.
+
+\ **Example:**\ 
+
+::
+
+    @export var curve: Curve
+    
+    func _ready():
+        var tween = create_tween()
+        # Interpolate the value using a custom curve.
+        tween.tween_property(self, "position:x", 300, 1).as_relative().set_custom_interpolator(tween_curve)
+    
+    func tween_curve(v):
+        return curve.sample_baked(v)
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_PropertyTweener_method_set_delay:
 
 .. rst-class:: classref-method

+ 170 - 30
classes/class_renderingdevice.rst

@@ -171,7 +171,7 @@ Methods
    +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                                    | :ref:`sampler_is_format_supported_for_filter<class_RenderingDevice_method_sampler_is_format_supported_for_filter>` **(** :ref:`DataFormat<enum_RenderingDevice_DataFormat>` format, :ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>` sampler_filter **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
    +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-   | :ref:`int<class_int>`                                      | :ref:`screen_get_framebuffer_format<class_RenderingDevice_method_screen_get_framebuffer_format>` **(** **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
+   | :ref:`int<class_int>`                                      | :ref:`screen_get_framebuffer_format<class_RenderingDevice_method_screen_get_framebuffer_format>` **(** :ref:`int<class_int>` screen=0 **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
    +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                      | :ref:`screen_get_height<class_RenderingDevice_method_screen_get_height>` **(** :ref:`int<class_int>` screen=0 **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
    +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -439,7 +439,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_DEVICE** = ``0``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_LOGICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_LOGICAL_DEVICE>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_LOGICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_LOGICAL_DEVICE>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_PHYSICAL_DEVICE:
 
@@ -447,7 +453,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_PHYSICAL_DEVICE** = ``1``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_PHYSICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_PHYSICAL_DEVICE>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_PHYSICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_PHYSICAL_DEVICE>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_INSTANCE:
 
@@ -455,7 +467,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_INSTANCE** = ``2``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_TOPMOST_OBJECT<class_RenderingDevice_constant_DRIVER_RESOURCE_TOPMOST_OBJECT>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_TOPMOST_OBJECT<class_RenderingDevice_constant_DRIVER_RESOURCE_TOPMOST_OBJECT>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_QUEUE:
 
@@ -463,7 +481,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_QUEUE** = ``3``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_COMMAND_QUEUE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMMAND_QUEUE>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_COMMAND_QUEUE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMMAND_QUEUE>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_QUEUE_FAMILY_INDEX:
 
@@ -471,7 +495,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_QUEUE_FAMILY_INDEX** = ``4``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_QUEUE_FAMILY<class_RenderingDevice_constant_DRIVER_RESOURCE_QUEUE_FAMILY>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_QUEUE_FAMILY<class_RenderingDevice_constant_DRIVER_RESOURCE_QUEUE_FAMILY>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE:
 
@@ -479,7 +509,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE** = ``5``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE_VIEW:
 
@@ -487,7 +523,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE_VIEW** = ``6``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_TEXTURE_VIEW<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_VIEW>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_TEXTURE_VIEW<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_VIEW>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE_NATIVE_TEXTURE_FORMAT:
 
@@ -495,7 +537,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE_NATIVE_TEXTURE_FORMAT** = ``7``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_TEXTURE_DATA_FORMAT<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_DATA_FORMAT>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_TEXTURE_DATA_FORMAT<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_DATA_FORMAT>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_SAMPLER:
 
@@ -503,7 +551,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_SAMPLER** = ``8``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_SAMPLER<class_RenderingDevice_constant_DRIVER_RESOURCE_SAMPLER>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_SAMPLER<class_RenderingDevice_constant_DRIVER_RESOURCE_SAMPLER>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_DESCRIPTOR_SET:
 
@@ -511,7 +565,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_DESCRIPTOR_SET** = ``9``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_UNIFORM_SET<class_RenderingDevice_constant_DRIVER_RESOURCE_UNIFORM_SET>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_UNIFORM_SET<class_RenderingDevice_constant_DRIVER_RESOURCE_UNIFORM_SET>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_BUFFER:
 
@@ -519,7 +579,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_BUFFER** = ``10``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_BUFFER<class_RenderingDevice_constant_DRIVER_RESOURCE_BUFFER>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_BUFFER<class_RenderingDevice_constant_DRIVER_RESOURCE_BUFFER>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_COMPUTE_PIPELINE:
 
@@ -527,7 +593,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_COMPUTE_PIPELINE** = ``11``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_COMPUTE_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMPUTE_PIPELINE>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_COMPUTE_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMPUTE_PIPELINE>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_RENDER_PIPELINE:
 
@@ -535,7 +607,13 @@ Buffer of any kind of (storage, vertex, etc.).
 
 :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_RENDER_PIPELINE** = ``12``
 
-*Deprecated.* Use :ref:`DRIVER_RESOURCE_RENDER_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_RENDER_PIPELINE>`.
+**Deprecated:** Use :ref:`DRIVER_RESOURCE_RENDER_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_RENDER_PIPELINE>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -3891,7 +3969,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio
 
 :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CLEAR_REGION** = ``1``
 
-*Deprecated.* Use :ref:`INITIAL_ACTION_CLEAR<class_RenderingDevice_constant_INITIAL_ACTION_CLEAR>` instead.
+**Deprecated:** Use :ref:`INITIAL_ACTION_CLEAR<class_RenderingDevice_constant_INITIAL_ACTION_CLEAR>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_INITIAL_ACTION_CLEAR_REGION_CONTINUE:
 
@@ -3899,7 +3983,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio
 
 :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CLEAR_REGION_CONTINUE** = ``1``
 
-*Deprecated.* Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
+**Deprecated:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_INITIAL_ACTION_KEEP:
 
@@ -3907,7 +3997,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio
 
 :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_KEEP** = ``0``
 
-*Deprecated.* Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
+**Deprecated:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_INITIAL_ACTION_DROP:
 
@@ -3915,7 +4011,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio
 
 :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_DROP** = ``2``
 
-*Deprecated.* Use :ref:`INITIAL_ACTION_DISCARD<class_RenderingDevice_constant_INITIAL_ACTION_DISCARD>` instead.
+**Deprecated:** Use :ref:`INITIAL_ACTION_DISCARD<class_RenderingDevice_constant_INITIAL_ACTION_DISCARD>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_INITIAL_ACTION_CONTINUE:
 
@@ -3923,7 +4025,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio
 
 :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CONTINUE** = ``0``
 
-*Deprecated.* Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
+**Deprecated:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -3965,7 +4073,13 @@ Represents the size of the :ref:`FinalAction<enum_RenderingDevice_FinalAction>`
 
 :ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_READ** = ``0``
 
-*Deprecated.* Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead.
+**Deprecated:** Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingDevice_constant_FINAL_ACTION_CONTINUE:
 
@@ -3973,7 +4087,13 @@ Represents the size of the :ref:`FinalAction<enum_RenderingDevice_FinalAction>`
 
 :ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_CONTINUE** = ``0``
 
-*Deprecated.* Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead.
+**Deprecated:** Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. rst-class:: classref-item-separator
 
@@ -4513,7 +4633,11 @@ Method Descriptions
 
 void **barrier** **(** |bitfield|\<:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>`\> from=32767, |bitfield|\<:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>`\> to=32767 **)**
 
-*Deprecated.* Barriers are automatically inserted by RenderingDevice.
+**Deprecated:** Barriers are automatically inserted by RenderingDevice.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -4779,7 +4903,11 @@ Ends the command buffer debug label region started by a :ref:`draw_command_begin
 
 void **draw_command_insert_label** **(** :ref:`String<class_String>` name, :ref:`Color<class_Color>` color **)**
 
-*Deprecated.* Inserting labels no longer applies due to command reordering.
+**Deprecated:** Inserting labels no longer applies due to command reordering.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -4840,7 +4968,11 @@ High-level variant of :ref:`draw_list_begin<class_RenderingDevice_method_draw_li
 
 :ref:`PackedInt64Array<class_PackedInt64Array>` **draw_list_begin_split** **(** :ref:`RID<class_RID>` framebuffer, :ref:`int<class_int>` splits, :ref:`InitialAction<enum_RenderingDevice_InitialAction>` initial_color_action, :ref:`FinalAction<enum_RenderingDevice_FinalAction>` final_color_action, :ref:`InitialAction<enum_RenderingDevice_InitialAction>` initial_depth_action, :ref:`FinalAction<enum_RenderingDevice_FinalAction>` final_depth_action, :ref:`PackedColorArray<class_PackedColorArray>` clear_color_values=PackedColorArray(), :ref:`float<class_float>` clear_depth=1.0, :ref:`int<class_int>` clear_stencil=0, :ref:`Rect2<class_Rect2>` region=Rect2(0, 0, 0, 0), :ref:`RID[]<class_RID>` storage_textures=[] **)**
 
-*Deprecated.* Split draw lists are used automatically by RenderingDevice.
+**Deprecated:** Split draw lists are used automatically by RenderingDevice.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -4986,7 +5118,11 @@ Switches to the next draw pass.
 
 :ref:`PackedInt64Array<class_PackedInt64Array>` **draw_list_switch_to_next_pass_split** **(** :ref:`int<class_int>` splits **)**
 
-*Deprecated.* Split draw lists are used automatically by RenderingDevice.
+**Deprecated:** Split draw lists are used automatically by RenderingDevice.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -5126,7 +5262,11 @@ Tries to free an object in the RenderingDevice. To avoid memory leaks, this shou
 
 void **full_barrier** **(** **)**
 
-*Deprecated.* Barriers are automatically inserted by RenderingDevice.
+**Deprecated:** Barriers are automatically inserted by RenderingDevice.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -5362,9 +5502,9 @@ Returns ``true`` if implementation supports using a texture of ``format`` with t
 
 .. rst-class:: classref-method
 
-:ref:`int<class_int>` **screen_get_framebuffer_format** **(** **)** |const|
+:ref:`int<class_int>` **screen_get_framebuffer_format** **(** :ref:`int<class_int>` screen=0 **)** |const|
 
-Returns the screen's framebuffer format.
+Returns the framebuffer format of the given screen.
 
 \ **Note:** Only the main **RenderingDevice** returned by :ref:`RenderingServer.get_rendering_device<class_RenderingServer_method_get_rendering_device>` has a format. If called on a local **RenderingDevice**, this method prints an error and returns :ref:`INVALID_ID<class_RenderingDevice_constant_INVALID_ID>`.
 
@@ -5680,12 +5820,12 @@ Returns the data format used to create this texture.
 
 :ref:`int<class_int>` **texture_get_native_handle** **(** :ref:`RID<class_RID>` texture **)**
 
+**Deprecated:** Use :ref:`get_driver_resource<class_RenderingDevice_method_get_driver_resource>` with :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>` instead.
+
 Returns the internal graphics handle for this texture object. For use when communicating with third-party APIs mostly with GDExtension.
 
 \ **Note:** This function returns a ``uint64_t`` which internally maps to a ``GLuint`` (OpenGL) or ``VkImage`` (Vulkan).
 
-\ *Deprecated.* Use :ref:`get_driver_resource<class_RenderingDevice_method_get_driver_resource>` with :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>` instead.
-
 .. rst-class:: classref-item-separator
 
 ----

+ 54 - 6
classes/class_renderingserver.rst

@@ -597,6 +597,8 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`PackedFloat32Array<class_PackedFloat32Array>`                              | :ref:`multimesh_get_buffer<class_RenderingServer_method_multimesh_get_buffer>` **(** :ref:`RID<class_RID>` multimesh **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`AABB<class_AABB>`                                                          | :ref:`multimesh_get_custom_aabb<class_RenderingServer_method_multimesh_get_custom_aabb>` **(** :ref:`RID<class_RID>` multimesh **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
+   +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`int<class_int>`                                                            | :ref:`multimesh_get_instance_count<class_RenderingServer_method_multimesh_get_instance_count>` **(** :ref:`RID<class_RID>` multimesh **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`RID<class_RID>`                                                            | :ref:`multimesh_get_mesh<class_RenderingServer_method_multimesh_get_mesh>` **(** :ref:`RID<class_RID>` multimesh **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
@@ -621,6 +623,8 @@ Methods
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`multimesh_set_buffer<class_RenderingServer_method_multimesh_set_buffer>` **(** :ref:`RID<class_RID>` multimesh, :ref:`PackedFloat32Array<class_PackedFloat32Array>` buffer **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                                                             | :ref:`multimesh_set_custom_aabb<class_RenderingServer_method_multimesh_set_custom_aabb>` **(** :ref:`RID<class_RID>` multimesh, :ref:`AABB<class_AABB>` aabb **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
+   +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`multimesh_set_mesh<class_RenderingServer_method_multimesh_set_mesh>` **(** :ref:`RID<class_RID>` multimesh, :ref:`RID<class_RID>` mesh **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                                                             | :ref:`multimesh_set_visible_instances<class_RenderingServer_method_multimesh_set_visible_instances>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` visible **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
@@ -5360,7 +5364,13 @@ enum **Features**:
 
 :ref:`Features<enum_RenderingServer_Features>` **FEATURE_SHADERS** = ``0``
 
-*Deprecated.* This constant has not been used since Godot 3.0.
+**Deprecated:** This constant has not been used since Godot 3.0.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. _class_RenderingServer_constant_FEATURE_MULTITHREADED:
 
@@ -5368,7 +5378,13 @@ enum **Features**:
 
 :ref:`Features<enum_RenderingServer_Features>` **FEATURE_MULTITHREADED** = ``1``
 
-*Deprecated.* This constant has not been used since Godot 3.0.
+**Deprecated:** This constant has not been used since Godot 3.0.
+
+.. container:: contribute
+
+	There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+
 
 .. rst-class:: classref-section-separator
 
@@ -5425,7 +5441,9 @@ The maximum number of glow levels that can be used with the glow post-processing
 
 **MAX_CURSORS** = ``8``
 
-*Deprecated.* This constant is unused internally.
+**Deprecated:** This constant may be changed or removed in future versions.
+
+This constant is unused internally.
 
 .. _class_RenderingServer_constant_MAX_2D_DIRECTIONAL_LIGHTS:
 
@@ -7744,7 +7762,9 @@ Returns ``true`` if changes have been made to the RenderingServer's data. :ref:`
 
 :ref:`bool<class_bool>` **has_feature** **(** :ref:`Features<enum_RenderingServer_Features>` feature **)** |const|
 
-*Deprecated.* This method has not been used since Godot 3.0. Always returns false.
+**Deprecated:** This method has not been used since Godot 3.0.
+
+Always returns false.
 
 .. rst-class:: classref-item-separator
 
@@ -8956,6 +8976,18 @@ Returns the MultiMesh data (such as instance transforms, colors, etc). See :ref:
 
 ----
 
+.. _class_RenderingServer_method_multimesh_get_custom_aabb:
+
+.. rst-class:: classref-method
+
+:ref:`AABB<class_AABB>` **multimesh_get_custom_aabb** **(** :ref:`RID<class_RID>` multimesh **)** |const|
+
+Returns the custom AABB defined for this MultiMesh resource.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_multimesh_get_instance_count:
 
 .. rst-class:: classref-method
@@ -9115,6 +9147,18 @@ The per-instance data size and expected data order is:
 
 ----
 
+.. _class_RenderingServer_method_multimesh_set_custom_aabb:
+
+.. rst-class:: classref-method
+
+void **multimesh_set_custom_aabb** **(** :ref:`RID<class_RID>` multimesh, :ref:`AABB<class_AABB>` aabb **)**
+
+Sets the custom AABB for this MultiMesh resource.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_RenderingServer_method_multimesh_set_mesh:
 
 .. rst-class:: classref-method
@@ -10591,7 +10635,9 @@ Returns a texture :ref:`RID<class_RID>` that can be used with :ref:`RenderingDev
 
 :ref:`RID<class_RID>` **texture_proxy_create** **(** :ref:`RID<class_RID>` base **)**
 
-*Deprecated.* ProxyTexture was removed in Godot 4, so this method does nothing when called and always returns a null :ref:`RID<class_RID>`.
+**Deprecated:** ProxyTexture was removed in Godot 4.
+
+This method does nothing when called and always returns a null :ref:`RID<class_RID>`.
 
 .. rst-class:: classref-item-separator
 
@@ -10603,7 +10649,9 @@ Returns a texture :ref:`RID<class_RID>` that can be used with :ref:`RenderingDev
 
 void **texture_proxy_update** **(** :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` proxy_to **)**
 
-*Deprecated.* ProxyTexture was removed in Godot 4, so this method cannot be used anymore.
+**Deprecated:** ProxyTexture was removed in Godot 4.
+
+This method should not be used.
 
 .. rst-class:: classref-item-separator
 

+ 4 - 4
classes/class_resource.rst

@@ -109,9 +109,9 @@ Emitted when the resource changes, usually when one of its properties is modifie
 
 **setup_local_to_scene_requested** **(** **)**
 
-Emitted by a newly duplicated resource with :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` set to ``true``. 
+**Deprecated:** This signal is only emitted when the resource is created. Override :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>` instead.
 
-\ *Deprecated.* This signal is only emitted when the resource is created. Override :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>` instead.
+Emitted by a newly duplicated resource with :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` set to ``true``.
 
 .. rst-class:: classref-section-separator
 
@@ -289,9 +289,9 @@ Returns the :ref:`RID<class_RID>` of this resource (or an empty RID). Many resou
 
 void **setup_local_to_scene** **(** **)**
 
-Calls :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>`. If :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` is set to ``true``, this method is automatically called from :ref:`PackedScene.instantiate<class_PackedScene_method_instantiate>` by the newly duplicated resource within the scene instance.
+**Deprecated:** This method should only be called internally. Override :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>` instead.
 
-\ *Deprecated.* This method should only be called internally. Override :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>` instead.
+Calls :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>`. If :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` is set to ``true``, this method is automatically called from :ref:`PackedScene.instantiate<class_PackedScene_method_instantiate>` by the newly duplicated resource within the scene instance.
 
 .. rst-class:: classref-item-separator
 

+ 48 - 2
classes/class_resourceimporterimagefont.rst

@@ -38,6 +38,8 @@ Properties
 .. table::
    :widths: auto
 
+   +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`int<class_int>`                             | :ref:`ascent<class_ResourceImporterImageFont_property_ascent>`                     | ``0``                   |
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Rect2i<class_Rect2i>`                       | :ref:`character_margin<class_ResourceImporterImageFont_property_character_margin>` | ``Rect2i(0, 0, 0, 0)``  |
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
@@ -47,10 +49,14 @@ Properties
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`compress<class_ResourceImporterImageFont_property_compress>`                 | ``true``                |
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`int<class_int>`                             | :ref:`descent<class_ResourceImporterImageFont_property_descent>`                   | ``0``                   |
+   +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Array<class_Array>`                         | :ref:`fallbacks<class_ResourceImporterImageFont_property_fallbacks>`               | ``[]``                  |
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
    | :ref:`Rect2i<class_Rect2i>`                       | :ref:`image_margin<class_ResourceImporterImageFont_property_image_margin>`         | ``Rect2i(0, 0, 0, 0)``  |
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
+   | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`kerning_pairs<class_ResourceImporterImageFont_property_kerning_pairs>`       | ``PackedStringArray()`` |
+   +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
    | :ref:`int<class_int>`                             | :ref:`rows<class_ResourceImporterImageFont_property_rows>`                         | ``1``                   |
    +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+
    | :ref:`int<class_int>`                             | :ref:`scaling_mode<class_ResourceImporterImageFont_property_scaling_mode>`         | ``2``                   |
@@ -65,6 +71,18 @@ Properties
 Property Descriptions
 ---------------------
 
+.. _class_ResourceImporterImageFont_property_ascent:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **ascent** = ``0``
+
+Font ascent (number of pixels above the baseline). If set to ``0``, half of the character height is used.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ResourceImporterImageFont_property_character_margin:
 
 .. rst-class:: classref-property
@@ -83,9 +101,11 @@ Margin applied around every imported glyph. If your font image contains guides (
 
 :ref:`PackedStringArray<class_PackedStringArray>` **character_ranges** = ``PackedStringArray()``
 
-The character ranges to import from the font image. This is an array that maps each position on the image (in tile coordinates, not pixels). The font atlas is traversed from left to right and top to bottom. Characters can be specified with decimal numbers (127), hexadecimal numbers (``0x007f``) or between single quotes (``'~'``). Ranges can be specified with a hyphen between characters.
+The character ranges to import from the font image. This is an array that maps each position on the image (in tile coordinates, not pixels). The font atlas is traversed from left to right and top to bottom. Characters can be specified with decimal numbers (127), hexadecimal numbers (``0x007f``, or ``U+007f``) or between single quotes (``'~'``). Ranges can be specified with a hyphen between characters.
 
-For instance, ``0-127`` (or ``0x0000-0x007f``) denotes the full ASCII range. As another example, ``' '-'~'`` is equivalent to ``32-127`` and denotes the range of printable (visible) ASCII characters.
+For example, ``0-127`` represents the full ASCII range. It can also be written as ``0x0000-0x007f`` (or ``U+0000-U+007f``). As another example, ``' '-'~'`` is equivalent to ``32-127`` and represents the range of printable (visible) ASCII characters.
+
+For any range, the character advance and offset can be customized by appending three space-separated integer values (additional advance, x offset, y offset) to the end. For example ``'a'-'b' 4 5 2`` sets the advance to ``char_width + 4`` and offset to ``Vector2(5, 2)`` for both `a` and `b` characters.
 
 Make sure :ref:`character_ranges<class_ResourceImporterImageFont_property_character_ranges>` doesn't exceed the number of :ref:`columns<class_ResourceImporterImageFont_property_columns>` \* :ref:`rows<class_ResourceImporterImageFont_property_rows>` defined. Otherwise, the font will fail to import.
 
@@ -117,6 +137,18 @@ If ``true``, uses lossless compression for the resulting font.
 
 ----
 
+.. _class_ResourceImporterImageFont_property_descent:
+
+.. rst-class:: classref-property
+
+:ref:`int<class_int>` **descent** = ``0``
+
+Font descent (number of pixels below the baseline). If set to ``0``, half of the character height is used.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ResourceImporterImageFont_property_fallbacks:
 
 .. rst-class:: classref-property
@@ -141,6 +173,20 @@ Margin to cut on the sides of the entire image. This can be used to cut parts of
 
 ----
 
+.. _class_ResourceImporterImageFont_property_kerning_pairs:
+
+.. rst-class:: classref-property
+
+:ref:`PackedStringArray<class_PackedStringArray>` **kerning_pairs** = ``PackedStringArray()``
+
+Kerning pairs for the font. Kerning pair adjust the spacing between two characters.
+
+Each string consist of three space separated values: "from" string, "to" string and integer offset. Each combination form the two string for a kerning pair, e.g, ``ab cd -3`` will create kerning pairs ``ac``, ``ad``, ``bc``, and ``bd`` with offset ``-3``.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ResourceImporterImageFont_property_rows:
 
 .. rst-class:: classref-property

+ 8 - 8
classes/class_scenereplicationconfig.rst

@@ -178,9 +178,9 @@ Returns whether the property identified by the given ``path`` is configured to b
 
 :ref:`bool<class_bool>` **property_get_sync** **(** :ref:`NodePath<class_NodePath>` path **)**
 
-Returns whether the property identified by the given ``path`` is configured to be synchronized on process.
+**Deprecated:** Use :ref:`property_get_replication_mode<class_SceneReplicationConfig_method_property_get_replication_mode>` instead.
 
-\ *Deprecated.* Use :ref:`property_get_replication_mode<class_SceneReplicationConfig_method_property_get_replication_mode>` instead.
+Returns whether the property identified by the given ``path`` is configured to be synchronized on process.
 
 .. rst-class:: classref-item-separator
 
@@ -192,9 +192,9 @@ Returns whether the property identified by the given ``path`` is configured to b
 
 :ref:`bool<class_bool>` **property_get_watch** **(** :ref:`NodePath<class_NodePath>` path **)**
 
-Returns whether the property identified by the given ``path`` is configured to be reliably synchronized when changes are detected on process.
+**Deprecated:** Use :ref:`property_get_replication_mode<class_SceneReplicationConfig_method_property_get_replication_mode>` instead.
 
-\ *Deprecated.* Use :ref:`property_get_replication_mode<class_SceneReplicationConfig_method_property_get_replication_mode>` instead.
+Returns whether the property identified by the given ``path`` is configured to be reliably synchronized when changes are detected on process.
 
 .. rst-class:: classref-item-separator
 
@@ -230,9 +230,9 @@ Sets whether the property identified by the given ``path`` is configured to be s
 
 void **property_set_sync** **(** :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enabled **)**
 
-Sets whether the property identified by the given ``path`` is configured to be synchronized on process.
+**Deprecated:** Use :ref:`property_set_replication_mode<class_SceneReplicationConfig_method_property_set_replication_mode>` with :ref:`REPLICATION_MODE_ALWAYS<class_SceneReplicationConfig_constant_REPLICATION_MODE_ALWAYS>` instead.
 
-\ *Deprecated.* Use :ref:`property_set_replication_mode<class_SceneReplicationConfig_method_property_set_replication_mode>` with :ref:`REPLICATION_MODE_ALWAYS<class_SceneReplicationConfig_constant_REPLICATION_MODE_ALWAYS>` instead.
+Sets whether the property identified by the given ``path`` is configured to be synchronized on process.
 
 .. rst-class:: classref-item-separator
 
@@ -244,9 +244,9 @@ Sets whether the property identified by the given ``path`` is configured to be s
 
 void **property_set_watch** **(** :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enabled **)**
 
-Sets whether the property identified by the given ``path`` is configured to be reliably synchronized when changes are detected on process.
+**Deprecated:** Use :ref:`property_set_replication_mode<class_SceneReplicationConfig_method_property_set_replication_mode>` with :ref:`REPLICATION_MODE_ON_CHANGE<class_SceneReplicationConfig_constant_REPLICATION_MODE_ON_CHANGE>` instead.
 
-\ *Deprecated.* Use :ref:`property_set_replication_mode<class_SceneReplicationConfig_method_property_set_replication_mode>` with :ref:`REPLICATION_MODE_ON_CHANGE<class_SceneReplicationConfig_constant_REPLICATION_MODE_ON_CHANGE>` instead.
+Sets whether the property identified by the given ``path`` is configured to be reliably synchronized when changes are detected on process.
 
 .. rst-class:: classref-item-separator
 

+ 21 - 1
classes/class_scriptlanguageextension.rst

@@ -33,6 +33,8 @@ Methods
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`bool<class_bool>`                           | :ref:`_can_inherit_from_file<class_ScriptLanguageExtension_private_method__can_inherit_from_file>` **(** **)** |virtual| |const|                                                                                                                                                                                                                         |
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | :ref:`bool<class_bool>`                           | :ref:`_can_make_function<class_ScriptLanguageExtension_private_method__can_make_function>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                 |
+   +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Dictionary<class_Dictionary>`               | :ref:`_complete_code<class_ScriptLanguageExtension_private_method__complete_code>` **(** :ref:`String<class_String>` code, :ref:`String<class_String>` path, :ref:`Object<class_Object>` owner **)** |virtual| |const|                                                                                                                                   |
    +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | :ref:`Object<class_Object>`                       | :ref:`_create_script<class_ScriptLanguageExtension_private_method__create_script>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                         |
@@ -522,6 +524,20 @@ void **_add_named_global_constant** **(** :ref:`StringName<class_StringName>` na
 
 ----
 
+.. _class_ScriptLanguageExtension_private_method__can_make_function:
+
+.. rst-class:: classref-method
+
+:ref:`bool<class_bool>` **_can_make_function** **(** **)** |virtual| |const|
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_ScriptLanguageExtension_private_method__complete_code:
 
 .. rst-class:: classref-method
@@ -932,7 +948,11 @@ void **_frame** **(** **)** |virtual|
 
 :ref:`bool<class_bool>` **_has_named_classes** **(** **)** |virtual| |const|
 
-*Deprecated.* This method is not called by the engine.
+**Deprecated:** This method is not called by the engine.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 

+ 3 - 1
classes/class_shapecast3d.rst

@@ -503,7 +503,9 @@ Removes a collision exception so the shape does report collisions with the speci
 
 void **resource_changed** **(** :ref:`Resource<class_Resource>` resource **)**
 
-*Obsoleted.* Use :ref:`Resource.changed<class_Resource_signal_changed>` instead.
+**Deprecated:** Use :ref:`Resource.changed<class_Resource_signal_changed>` instead.
+
+This method does nothing.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_skeleton3d.rst

@@ -349,9 +349,9 @@ Returns the bone index that matches ``name`` as its name.
 
 void **force_update_all_bone_transforms** **(** **)**
 
-Force updates the bone transforms/poses for all bones in the skeleton.
+**Deprecated:** Do not use this method.
 
-\ *Deprecated.* Do not use.
+Force updates the bone transforms/poses for all bones in the skeleton.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_skeletonik3d.rst

@@ -10,6 +10,8 @@
 SkeletonIK3D
 ============
 
+**Deprecated:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 A node used to rotate all bones of a :ref:`Skeleton3D<class_Skeleton3D>` bone chain a way that places the end bone at a desired 3D position.
@@ -41,8 +43,6 @@ SkeletonIK3D is used to rotate all bones of a :ref:`Skeleton3D<class_Skeleton3D>
     # Apply zero IK effect (a value at or below 0.01 also removes bones_global_pose_override on Skeleton)
     skeleton_ik_node.set_interpolation(0.0)
 
-\ *Deprecated.* This class is deprecated, and might be removed in a future release.
-
 .. rst-class:: classref-introduction-group
 
 Tutorials

+ 2 - 0
classes/class_skeletonmodification2d.rst

@@ -10,6 +10,8 @@
 SkeletonModification2D
 ======================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 **Inherited By:** :ref:`SkeletonModification2DCCDIK<class_SkeletonModification2DCCDIK>`, :ref:`SkeletonModification2DFABRIK<class_SkeletonModification2DFABRIK>`, :ref:`SkeletonModification2DJiggle<class_SkeletonModification2DJiggle>`, :ref:`SkeletonModification2DLookAt<class_SkeletonModification2DLookAt>`, :ref:`SkeletonModification2DPhysicalBones<class_SkeletonModification2DPhysicalBones>`, :ref:`SkeletonModification2DStackHolder<class_SkeletonModification2DStackHolder>`, :ref:`SkeletonModification2DTwoBoneIK<class_SkeletonModification2DTwoBoneIK>`

+ 2 - 0
classes/class_skeletonmodification2dccdik.rst

@@ -10,6 +10,8 @@
 SkeletonModification2DCCDIK
 ===========================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A modification that uses CCDIK to manipulate a series of bones to reach a target in 2D.

+ 2 - 0
classes/class_skeletonmodification2dfabrik.rst

@@ -10,6 +10,8 @@
 SkeletonModification2DFABRIK
 ============================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A modification that uses FABRIK to manipulate a series of :ref:`Bone2D<class_Bone2D>` nodes to reach a target.

+ 2 - 0
classes/class_skeletonmodification2djiggle.rst

@@ -10,6 +10,8 @@
 SkeletonModification2DJiggle
 ============================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A modification that jiggles :ref:`Bone2D<class_Bone2D>` nodes as they move towards a target.

+ 2 - 0
classes/class_skeletonmodification2dlookat.rst

@@ -10,6 +10,8 @@
 SkeletonModification2DLookAt
 ============================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A modification that rotates a :ref:`Bone2D<class_Bone2D>` node to look at a target.

+ 2 - 0
classes/class_skeletonmodification2dphysicalbones.rst

@@ -10,6 +10,8 @@
 SkeletonModification2DPhysicalBones
 ===================================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A modification that applies the transforms of :ref:`PhysicalBone2D<class_PhysicalBone2D>` nodes to :ref:`Bone2D<class_Bone2D>` nodes.

+ 2 - 0
classes/class_skeletonmodification2dstackholder.rst

@@ -10,6 +10,8 @@
 SkeletonModification2DStackHolder
 =================================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A modification that holds and executes a :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`.

+ 2 - 0
classes/class_skeletonmodification2dtwoboneik.rst

@@ -10,6 +10,8 @@
 SkeletonModification2DTwoBoneIK
 ===============================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A modification that rotates two bones using the law of cosines to reach the target.

+ 2 - 0
classes/class_skeletonmodificationstack2d.rst

@@ -10,6 +10,8 @@
 SkeletonModificationStack2D
 ===========================
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A resource that holds a stack of :ref:`SkeletonModification2D<class_SkeletonModification2D>`\ s.

+ 7 - 1
classes/class_spritebase3d.rst

@@ -320,6 +320,8 @@ The direction in which the front of the texture faces.
 
 The billboard mode to use for the sprite. See :ref:`BillboardMode<enum_BaseMaterial3D_BillboardMode>` for possible values.
 
+\ **Note:** When billboarding is enabled and the material also casts shadows, billboards will face **the** camera in the scene when rendering shadows. In scenes with multiple cameras, the intended shadow cannot be determined and this will result in undefined behavior. See `GitHub Pull Request #72638 <https://github.com/godotengine/godot/pull/72638>`__ for details.
+
 .. rst-class:: classref-item-separator
 
 ----
@@ -420,7 +422,9 @@ If ``true``, texture is flipped vertically.
 - void **set_modulate** **(** :ref:`Color<class_Color>` value **)**
 - :ref:`Color<class_Color>` **get_modulate** **(** **)**
 
-A color value used to *multiply* the texture's colors. Can be used for mood-coloring or to simulate the color of light.
+A color value used to *multiply* the texture's colors. Can be used for mood-coloring or to simulate the color of ambient light.
+
+\ **Note:** Unlike :ref:`CanvasItem.modulate<class_CanvasItem_property_modulate>` for 2D, colors with values above ``1.0`` (overbright) are not supported.
 
 \ **Note:** If a :ref:`GeometryInstance3D.material_override<class_GeometryInstance3D_property_material_override>` is defined on the **SpriteBase3D**, the material override must be configured to take vertex colors into account for albedo. Otherwise, the color defined in :ref:`modulate<class_SpriteBase3D_property_modulate>` will be ignored. For a :ref:`BaseMaterial3D<class_BaseMaterial3D>`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` must be ``true``. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ``ALBEDO *= COLOR.rgb;`` must be inserted in the shader's ``fragment()`` function.
 
@@ -530,6 +534,8 @@ If ``true``, the :ref:`Light3D<class_Light3D>` in the :ref:`Environment<class_En
 
 Filter flags for the texture. See :ref:`TextureFilter<enum_BaseMaterial3D_TextureFilter>` for options.
 
+\ **Note:** Linear filtering may cause artifacts around the edges, which are especially noticeable on opaque textures. To prevent this, use textures with transparent or identical colors around the edges.
+
 .. rst-class:: classref-item-separator
 
 ----

+ 114 - 0
classes/class_statusindicator.rst

@@ -0,0 +1,114 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/StatusIndicator.xml.
+
+.. _class_StatusIndicator:
+
+StatusIndicator
+===============
+
+**Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+
+Application status indicator (aka notification area icon).
+
+\ **Note:** Status indicator is implemented on macOS and Windows.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-----------------------------+--------------------------------------------------------+----------+
+   | :ref:`Image<class_Image>`   | :ref:`icon<class_StatusIndicator_property_icon>`       |          |
+   +-----------------------------+--------------------------------------------------------+----------+
+   | :ref:`String<class_String>` | :ref:`tooltip<class_StatusIndicator_property_tooltip>` | ``""``   |
+   +-----------------------------+--------------------------------------------------------+----------+
+   | :ref:`bool<class_bool>`     | :ref:`visible<class_StatusIndicator_property_visible>` | ``true`` |
+   +-----------------------------+--------------------------------------------------------+----------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Signals
+-------
+
+.. _class_StatusIndicator_signal_pressed:
+
+.. rst-class:: classref-signal
+
+**pressed** **(** :ref:`int<class_int>` mouse_button, :ref:`Vector2i<class_Vector2i>` position **)**
+
+Emitted when the status indicator is pressed.
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_StatusIndicator_property_icon:
+
+.. rst-class:: classref-property
+
+:ref:`Image<class_Image>` **icon**
+
+.. rst-class:: classref-property-setget
+
+- void **set_icon** **(** :ref:`Image<class_Image>` value **)**
+- :ref:`Image<class_Image>` **get_icon** **(** **)**
+
+Status indicator icon.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_StatusIndicator_property_tooltip:
+
+.. rst-class:: classref-property
+
+:ref:`String<class_String>` **tooltip** = ``""``
+
+.. rst-class:: classref-property-setget
+
+- void **set_tooltip** **(** :ref:`String<class_String>` value **)**
+- :ref:`String<class_String>` **get_tooltip** **(** **)**
+
+Status indicator tooltip.
+
+.. rst-class:: classref-item-separator
+
+----
+
+.. _class_StatusIndicator_property_visible:
+
+.. rst-class:: classref-property
+
+:ref:`bool<class_bool>` **visible** = ``true``
+
+.. rst-class:: classref-property-setget
+
+- void **set_visible** **(** :ref:`bool<class_bool>` value **)**
+- :ref:`bool<class_bool>` **is_visible** **(** **)**
+
+If ``true``, the status indicator is visible.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 2 - 0
classes/class_streampeergzip.rst

@@ -10,6 +10,8 @@
 StreamPeerGZIP
 ==============
 
+**Experimental:** This class may be changed or removed in future versions.
+
 **Inherits:** :ref:`StreamPeer<class_StreamPeer>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 A stream peer that handles GZIP and deflate compression/decompression.

+ 2 - 0
classes/class_subviewportcontainer.rst

@@ -113,6 +113,8 @@ Method Descriptions
 
 :ref:`bool<class_bool>` **_propagate_input_event** **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| |const|
 
+**Experimental:** This method may be changed or removed in future versions.
+
 Virtual method to be implemented by the user. If it returns ``true``, the ``event`` is propagated to :ref:`SubViewport<class_SubViewport>` children. Propagation doesn't happen if it returns ``false``. If the function is not implemented, all events are propagated to SubViewports.
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`

+ 2 - 2
classes/class_surfacetool.rst

@@ -399,9 +399,9 @@ Removes the index array by expanding the vertex array.
 
 :ref:`PackedInt32Array<class_PackedInt32Array>` **generate_lod** **(** :ref:`float<class_float>` nd_threshold, :ref:`int<class_int>` target_index_count=3 **)**
 
-Generates a LOD for a given ``nd_threshold`` in linear units (square root of quadric error metric), using at most ``target_index_count`` indices.
+**Deprecated:** Unused internally and fails to preserve normals or UVs. Consider using :ref:`ImporterMesh.generate_lods<class_ImporterMesh_method_generate_lods>` instead.
 
-\ *Deprecated.* Unused internally and fails to preserve normals or UVs. Consider using :ref:`ImporterMesh.generate_lods<class_ImporterMesh_method_generate_lods>` instead.
+Generates a LOD for a given ``nd_threshold`` in linear units (square root of quadric error metric), using at most ``target_index_count`` indices.
 
 .. rst-class:: classref-item-separator
 

+ 29 - 1
classes/class_textedit.rst

@@ -148,10 +148,14 @@ Methods
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`adjust_viewport_to_caret<class_TextEdit_method_adjust_viewport_to_caret>` **(** :ref:`int<class_int>` caret_index=0 **)**                                                                                                                                       |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`apply_ime<class_TextEdit_method_apply_ime>` **(** **)**                                                                                                                                                                                                         |
+   +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`backspace<class_TextEdit_method_backspace>` **(** :ref:`int<class_int>` caret_index=-1 **)**                                                                                                                                                                    |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`begin_complex_operation<class_TextEdit_method_begin_complex_operation>` **(** **)**                                                                                                                                                                             |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+   | void                                              | :ref:`cancel_ime<class_TextEdit_method_cancel_ime>` **(** **)**                                                                                                                                                                                                       |
+   +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`center_viewport_to_caret<class_TextEdit_method_center_viewport_to_caret>` **(** :ref:`int<class_int>` caret_index=0 **)**                                                                                                                                       |
    +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | void                                              | :ref:`clear<class_TextEdit_method_clear>` **(** **)**                                                                                                                                                                                                                 |
@@ -1822,6 +1826,18 @@ Adjust the viewport so the caret is visible.
 
 ----
 
+.. _class_TextEdit_method_apply_ime:
+
+.. rst-class:: classref-method
+
+void **apply_ime** **(** **)**
+
+Applies text from the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME) to each caret and closes the IME if it is open.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TextEdit_method_backspace:
 
 .. rst-class:: classref-method
@@ -1846,6 +1862,18 @@ Starts a multipart edit. All edits will be treated as one action until :ref:`end
 
 ----
 
+.. _class_TextEdit_method_cancel_ime:
+
+.. rst-class:: classref-method
+
+void **cancel_ime** **(** **)**
+
+Closes the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME) if it is open. Any text in the IME will be lost.
+
+.. rst-class:: classref-item-separator
+
+----
+
 .. _class_TextEdit_method_center_viewport_to_caret:
 
 .. rst-class:: classref-method
@@ -2697,7 +2725,7 @@ Returns a :ref:`String<class_String>` text with the word under the caret's locat
 
 :ref:`bool<class_bool>` **has_ime_text** **(** **)** |const|
 
-Returns if the user has IME text.
+Returns ``true`` if the user has text in the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME).
 
 .. rst-class:: classref-item-separator
 

+ 2 - 0
classes/class_texturerect.rst

@@ -199,6 +199,8 @@ Property Descriptions
 - void **set_expand_mode** **(** :ref:`ExpandMode<enum_TextureRect_ExpandMode>` value **)**
 - :ref:`ExpandMode<enum_TextureRect_ExpandMode>` **get_expand_mode** **(** **)**
 
+**Experimental:** This property may be changed or removed in future versions.
+
 Defines how minimum size is determined based on the texture's size. See :ref:`ExpandMode<enum_TextureRect_ExpandMode>` for options.
 
 \ **Note:** Using :ref:`EXPAND_FIT_WIDTH<class_TextureRect_constant_EXPAND_FIT_WIDTH>`, :ref:`EXPAND_FIT_WIDTH_PROPORTIONAL<class_TextureRect_constant_EXPAND_FIT_WIDTH_PROPORTIONAL>`, :ref:`EXPAND_FIT_HEIGHT<class_TextureRect_constant_EXPAND_FIT_HEIGHT>` or :ref:`EXPAND_FIT_HEIGHT_PROPORTIONAL<class_TextureRect_constant_EXPAND_FIT_HEIGHT_PROPORTIONAL>` may result in unstable behavior in some containers. This functionality is being re-evaluated and will change in the future.

+ 10 - 21
classes/class_tilemap.rst

@@ -10,7 +10,7 @@
 TileMap
 =======
 
-**Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`TileMapLayerGroup<class_TileMapLayerGroup>` **<** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 Node for 2D tile-based maps.
 
@@ -61,8 +61,6 @@ Properties
    +----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
    | :ref:`int<class_int>`                              | :ref:`rendering_quadrant_size<class_TileMap_property_rendering_quadrant_size>`       | ``16``    |
    +----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
-   | :ref:`TileSet<class_TileSet>`                      | :ref:`tile_set<class_TileMap_property_tile_set>`                                     |           |
-   +----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+
 
 .. rst-class:: classref-reftable-group
 
@@ -309,23 +307,6 @@ The quadrant size does not apply on Y-sorted layers, as tiles are be grouped by
 
 \ **Note:** As quadrants are created according to the map's coordinate system, the quadrant's "square shape" might not look like square in the TileMap's local coordinate system.
 
-.. rst-class:: classref-item-separator
-
-----
-
-.. _class_TileMap_property_tile_set:
-
-.. rst-class:: classref-property
-
-:ref:`TileSet<class_TileSet>` **tile_set**
-
-.. rst-class:: classref-property-setget
-
-- void **set_tileset** **(** :ref:`TileSet<class_TileSet>` value **)**
-- :ref:`TileSet<class_TileSet>` **get_tileset** **(** **)**
-
-The assigned :ref:`TileSet<class_TileSet>`.
-
 .. rst-class:: classref-section-separator
 
 ----
@@ -439,7 +420,11 @@ Clears cells that do not exist in the tileset.
 
 void **force_update** **(** :ref:`int<class_int>` layer=-1 **)**
 
-*Deprecated.* See :ref:`notify_runtime_tile_data_update<class_TileMap_method_notify_runtime_tile_data_update>` and :ref:`update_internals<class_TileMap_method_update_internals>`.
+**Deprecated:** Use :ref:`notify_runtime_tile_data_update<class_TileMap_method_notify_runtime_tile_data_update>` and/or :ref:`update_internals<class_TileMap_method_update_internals>` instead.
+
+.. container:: contribute
+
+	There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
 
 .. rst-class:: classref-item-separator
 
@@ -631,6 +616,8 @@ Returns the number of layers in the TileMap.
 
 :ref:`RID<class_RID>` **get_navigation_map** **(** :ref:`int<class_int>` layer **)** |const|
 
+**Deprecated:** This method may be changed or removed in future versions.
+
 See :ref:`get_layer_navigation_map<class_TileMap_method_get_layer_navigation_map>`.
 
 .. rst-class:: classref-item-separator
@@ -1021,6 +1008,8 @@ If ``layer`` is negative, the layers are accessed from the last one.
 
 void **set_navigation_map** **(** :ref:`int<class_int>` layer, :ref:`RID<class_RID>` map **)**
 
+**Deprecated:** This method may be changed or removed in future versions.
+
 See :ref:`set_layer_navigation_map<class_TileMap_method_set_layer_navigation_map>`.
 
 .. rst-class:: classref-item-separator

+ 68 - 0
classes/class_tilemaplayergroup.rst

@@ -0,0 +1,68 @@
+:github_url: hide
+
+.. DO NOT EDIT THIS FILE!!!
+.. Generated automatically from Godot engine sources.
+.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
+.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TileMapLayerGroup.xml.
+
+.. _class_TileMapLayerGroup:
+
+TileMapLayerGroup
+=================
+
+**Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`TileMap<class_TileMap>`
+
+Groups a set of tile map layers together, allowing them to share a provided :ref:`TileSet<class_TileSet>`.
+
+.. rst-class:: classref-introduction-group
+
+Description
+-----------
+
+Groups together tile map layers as part or the same map, replacing the :ref:`TileMap<class_TileMap>` node. Child layers will use this node's :ref:`tile_set<class_TileMapLayerGroup_property_tile_set>`.
+
+The editor also uses **TileMapLayerGroup** as a way to store which layers are selected in a given group. This allows highlighting the currently selected layers.
+
+.. rst-class:: classref-reftable-group
+
+Properties
+----------
+
+.. table::
+   :widths: auto
+
+   +-------------------------------+------------------------------------------------------------+
+   | :ref:`TileSet<class_TileSet>` | :ref:`tile_set<class_TileMapLayerGroup_property_tile_set>` |
+   +-------------------------------+------------------------------------------------------------+
+
+.. rst-class:: classref-section-separator
+
+----
+
+.. rst-class:: classref-descriptions-group
+
+Property Descriptions
+---------------------
+
+.. _class_TileMapLayerGroup_property_tile_set:
+
+.. rst-class:: classref-property
+
+:ref:`TileSet<class_TileSet>` **tile_set**
+
+.. rst-class:: classref-property-setget
+
+- void **set_tileset** **(** :ref:`TileSet<class_TileSet>` value **)**
+- :ref:`TileSet<class_TileSet>` **get_tileset** **(** **)**
+
+The assigned :ref:`TileSet<class_TileSet>`. This TileSet will be applied to all child layers.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
+.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`

+ 1 - 1
classes/class_tree.rst

@@ -708,7 +708,7 @@ This controls the drop sections, i.e. the decision and drawing of possible drop
 - void **set_enable_recursive_folding** **(** :ref:`bool<class_bool>` value **)**
 - :ref:`bool<class_bool>` **is_recursive_folding_enabled** **(** **)**
 
-If ``true``, recursive folding is enabled for this **Tree**. Holding down Shift while clicking the fold arrow collapses or uncollapses the :ref:`TreeItem<class_TreeItem>` and all its descendants.
+If ``true``, recursive folding is enabled for this **Tree**. Holding down :kbd:`Shift` while clicking the fold arrow or using ``ui_right``/``ui_left`` shortcuts collapses or uncollapses the :ref:`TreeItem<class_TreeItem>` and all its descendants.
 
 .. rst-class:: classref-item-separator
 

+ 2 - 2
classes/class_treeitem.rst

@@ -1346,12 +1346,12 @@ Sets the given column's custom color.
 
 void **set_custom_draw** **(** :ref:`int<class_int>` column, :ref:`Object<class_Object>` object, :ref:`StringName<class_StringName>` callback **)**
 
+**Deprecated:** Use :ref:`set_custom_draw_callback<class_TreeItem_method_set_custom_draw_callback>` instead.
+
 Sets the given column's custom draw callback to ``callback`` method on ``object``.
 
 The ``callback`` should accept two arguments: the **TreeItem** that is drawn and its position and size as a :ref:`Rect2<class_Rect2>`.
 
-\ *Deprecated.* Use :ref:`set_custom_draw_callback<class_TreeItem_method_set_custom_draw_callback>` instead.
-
 .. rst-class:: classref-item-separator
 
 ----

Vissa filer visades inte eftersom för många filer har ändrats