Browse Source

classref: Sync with latest 4.0-dev

Rémi Verschelde 3 years ago
parent
commit
30193215cf
100 changed files with 1139 additions and 720 deletions
  1. 16 3
      classes/[email protected]
  2. 94 18
      classes/[email protected]
  3. 81 48
      classes/class_aabb.rst
  4. 5 1
      classes/class_acceptdialog.rst
  5. 1 1
      classes/class_aescontext.rst
  6. 1 1
      classes/class_animatablebody2d.rst
  7. 1 1
      classes/class_animatablebody3d.rst
  8. 1 1
      classes/class_animatedsprite2d.rst
  9. 1 1
      classes/class_animatedsprite3d.rst
  10. 1 1
      classes/class_animatedtexture.rst
  11. 104 46
      classes/class_animation.rst
  12. 3 3
      classes/class_animationnode.rst
  13. 1 1
      classes/class_animationnodeadd2.rst
  14. 1 1
      classes/class_animationnodeadd3.rst
  15. 37 4
      classes/class_animationnodeanimation.rst
  16. 1 1
      classes/class_animationnodeblend2.rst
  17. 1 1
      classes/class_animationnodeblend3.rst
  18. 1 1
      classes/class_animationnodeblendspace1d.rst
  19. 1 1
      classes/class_animationnodeblendspace2d.rst
  20. 1 1
      classes/class_animationnodeblendtree.rst
  21. 1 1
      classes/class_animationnodeoneshot.rst
  22. 1 1
      classes/class_animationnodeoutput.rst
  23. 1 1
      classes/class_animationnodestatemachine.rst
  24. 1 1
      classes/class_animationnodestatemachineplayback.rst
  25. 1 1
      classes/class_animationnodestatemachinetransition.rst
  26. 1 1
      classes/class_animationnodetimescale.rst
  27. 1 1
      classes/class_animationnodetimeseek.rst
  28. 1 1
      classes/class_animationnodetransition.rst
  29. 1 1
      classes/class_animationplayer.rst
  30. 1 1
      classes/class_animationrootnode.rst
  31. 1 1
      classes/class_animationtrackeditplugin.rst
  32. 3 3
      classes/class_animationtree.rst
  33. 140 82
      classes/class_area2d.rst
  34. 155 97
      classes/class_area3d.rst
  35. 140 124
      classes/class_array.rst
  36. 1 1
      classes/class_arraymesh.rst
  37. 1 1
      classes/class_aspectratiocontainer.rst
  38. 1 1
      classes/class_astar.rst
  39. 1 1
      classes/class_astar2d.rst
  40. 1 1
      classes/class_atlastexture.rst
  41. 1 1
      classes/class_audiobuslayout.rst
  42. 1 1
      classes/class_audioeffect.rst
  43. 1 1
      classes/class_audioeffectamplify.rst
  44. 1 1
      classes/class_audioeffectbandlimitfilter.rst
  45. 1 1
      classes/class_audioeffectbandpassfilter.rst
  46. 1 1
      classes/class_audioeffectcapture.rst
  47. 1 1
      classes/class_audioeffectchorus.rst
  48. 1 1
      classes/class_audioeffectcompressor.rst
  49. 1 1
      classes/class_audioeffectdelay.rst
  50. 1 1
      classes/class_audioeffectdistortion.rst
  51. 1 1
      classes/class_audioeffecteq.rst
  52. 1 1
      classes/class_audioeffecteq10.rst
  53. 1 1
      classes/class_audioeffecteq21.rst
  54. 1 1
      classes/class_audioeffecteq6.rst
  55. 1 1
      classes/class_audioeffectfilter.rst
  56. 1 1
      classes/class_audioeffecthighpassfilter.rst
  57. 1 1
      classes/class_audioeffecthighshelffilter.rst
  58. 1 1
      classes/class_audioeffectinstance.rst
  59. 1 1
      classes/class_audioeffectlimiter.rst
  60. 1 1
      classes/class_audioeffectlowpassfilter.rst
  61. 1 1
      classes/class_audioeffectlowshelffilter.rst
  62. 1 1
      classes/class_audioeffectnotchfilter.rst
  63. 1 1
      classes/class_audioeffectpanner.rst
  64. 1 1
      classes/class_audioeffectphaser.rst
  65. 1 1
      classes/class_audioeffectpitchshift.rst
  66. 1 1
      classes/class_audioeffectrecord.rst
  67. 1 1
      classes/class_audioeffectreverb.rst
  68. 1 1
      classes/class_audioeffectspectrumanalyzer.rst
  69. 1 1
      classes/class_audioeffectspectrumanalyzerinstance.rst
  70. 1 1
      classes/class_audioeffectstereoenhance.rst
  71. 1 1
      classes/class_audiolistener2d.rst
  72. 1 1
      classes/class_audiolistener3d.rst
  73. 1 1
      classes/class_audioserver.rst
  74. 1 1
      classes/class_audiostream.rst
  75. 1 1
      classes/class_audiostreamgenerator.rst
  76. 1 1
      classes/class_audiostreamgeneratorplayback.rst
  77. 1 1
      classes/class_audiostreammicrophone.rst
  78. 1 1
      classes/class_audiostreammp3.rst
  79. 1 1
      classes/class_audiostreamoggvorbis.rst
  80. 1 1
      classes/class_audiostreamplayback.rst
  81. 1 1
      classes/class_audiostreamplaybackoggvorbis.rst
  82. 1 1
      classes/class_audiostreamplaybackresampled.rst
  83. 1 1
      classes/class_audiostreamplayer.rst
  84. 1 1
      classes/class_audiostreamplayer2d.rst
  85. 2 2
      classes/class_audiostreamplayer3d.rst
  86. 1 1
      classes/class_audiostreamrandompitch.rst
  87. 3 3
      classes/class_audiostreamsample.rst
  88. 1 1
      classes/class_backbuffercopy.rst
  89. 25 25
      classes/class_basebutton.rst
  90. 1 1
      classes/class_basematerial3d.rst
  91. 166 132
      classes/class_basis.rst
  92. 2 2
      classes/class_bitmap.rst
  93. 1 1
      classes/class_bone2d.rst
  94. 1 1
      classes/class_boneattachment3d.rst
  95. 52 44
      classes/class_bool.rst
  96. 1 1
      classes/class_boxcontainer.rst
  97. 1 1
      classes/class_boxmesh.rst
  98. 1 1
      classes/class_boxshape3d.rst
  99. 29 1
      classes/class_button.rst
  100. 1 1
      classes/class_buttongroup.rst

+ 16 - 3
classes/[email protected]

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the @GDScript.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -185,6 +185,8 @@ would print
 
     [{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]
 
+**Note:** Not supported for calling from threads. Instead, this will return an empty array.
+
 ----
 
 .. _class_@GDScript_method_inst2dict:
@@ -263,7 +265,16 @@ Returns a :ref:`Resource<class_Resource>` from the filesystem located at ``path`
 
 - void **print_debug** **(** ... **)** |vararg|
 
-Like :ref:`@GlobalScope.print<class_@GlobalScope_method_print>`, but prints only when used in debug mode.
+Like :ref:`@GlobalScope.print<class_@GlobalScope_method_print>`, but includes the current stack frame when running with the debugger turned on.
+
+Output in the console would look something like this:
+
+::
+
+    Test print
+       At: res://test.gd:15:_process()
+
+**Note:** Not supported for calling from threads. Instead of the stack frame, this will print the thread ID.
 
 ----
 
@@ -271,7 +282,7 @@ Like :ref:`@GlobalScope.print<class_@GlobalScope_method_print>`, but prints only
 
 - void **print_stack** **(** **)**
 
-Prints a stack track at code location, only works when running with debugger turned on.
+Prints a stack trace at the current code location. Only works when running with debugger turned on.
 
 Output in the console would look something like this:
 
@@ -279,6 +290,8 @@ Output in the console would look something like this:
 
     Frame 0 - res://test.gd:16 in function '_process'
 
+**Note:** Not supported for calling from threads. Instead of the stack trace, this will print the thread ID.
+
 ----
 
 .. _class_@GDScript_method_range:

+ 94 - 18
classes/[email protected]

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the @GlobalScope.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -181,6 +181,8 @@ Methods
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                           | :ref:`nearest_po2<class_@GlobalScope_method_nearest_po2>` **(** :ref:`int<class_int>` value **)**                                                                                                                                         |
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                       | :ref:`pingpong<class_@GlobalScope_method_pingpong>` **(** :ref:`float<class_float>` value, :ref:`float<class_float>` length **)**                                                                                                         |
++-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                           | :ref:`posmod<class_@GlobalScope_method_posmod>` **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y **)**                                                                                                                              |
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                       | :ref:`pow<class_@GlobalScope_method_pow>` **(** :ref:`float<class_float>` base, :ref:`float<class_float>` exp **)**                                                                                                                       |
@@ -431,6 +433,8 @@ enum **InlineAlign**:
 
 .. _enum_@GlobalScope_Key:
 
+.. _class_@GlobalScope_constant_KEY_SPECIAL:
+
 .. _class_@GlobalScope_constant_KEY_ESCAPE:
 
 .. _class_@GlobalScope_constant_KEY_TAB:
@@ -917,6 +921,8 @@ enum **InlineAlign**:
 
 enum **Key**:
 
+- **KEY_SPECIAL** = **16777216** --- Keycodes with this bit applied are non-printable.
+
 - **KEY_ESCAPE** = **16777217** --- Escape key.
 
 - **KEY_TAB** = **16777218** --- Tab key.
@@ -1453,10 +1459,6 @@ enum **KeyModifierMask**:
 
 .. _class_@GlobalScope_constant_MOUSE_BUTTON_MIDDLE:
 
-.. _class_@GlobalScope_constant_MOUSE_BUTTON_XBUTTON1:
-
-.. _class_@GlobalScope_constant_MOUSE_BUTTON_XBUTTON2:
-
 .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_UP:
 
 .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_DOWN:
@@ -1465,6 +1467,10 @@ enum **KeyModifierMask**:
 
 .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_RIGHT:
 
+.. _class_@GlobalScope_constant_MOUSE_BUTTON_XBUTTON1:
+
+.. _class_@GlobalScope_constant_MOUSE_BUTTON_XBUTTON2:
+
 .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_LEFT:
 
 .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_RIGHT:
@@ -1483,10 +1489,6 @@ enum **MouseButton**:
 
 - **MOUSE_BUTTON_MIDDLE** = **3** --- Middle mouse button.
 
-- **MOUSE_BUTTON_XBUTTON1** = **8** --- Extra mouse button 1 (only present on some mice).
-
-- **MOUSE_BUTTON_XBUTTON2** = **9** --- Extra mouse button 2 (only present on some mice).
-
 - **MOUSE_BUTTON_WHEEL_UP** = **4** --- Mouse wheel up.
 
 - **MOUSE_BUTTON_WHEEL_DOWN** = **5** --- Mouse wheel down.
@@ -1495,6 +1497,10 @@ enum **MouseButton**:
 
 - **MOUSE_BUTTON_WHEEL_RIGHT** = **7** --- Mouse wheel right button (only present on some mice).
 
+- **MOUSE_BUTTON_XBUTTON1** = **8** --- Extra mouse button 1 (only present on some mice).
+
+- **MOUSE_BUTTON_XBUTTON2** = **9** --- Extra mouse button 2 (only present on some mice).
+
 - **MOUSE_BUTTON_MASK_LEFT** = **1** --- Left mouse button mask.
 
 - **MOUSE_BUTTON_MASK_RIGHT** = **2** --- Right mouse button mask.
@@ -2151,7 +2157,7 @@ Unlike :ref:`PROPERTY_HINT_ENUM<class_@GlobalScope_constant_PROPERTY_HINT_ENUM>`
 
 .. _class_@GlobalScope_constant_PROPERTY_USAGE_DEFAULT_INTL:
 
-.. _class_@GlobalScope_constant_PROPERTY_USAGE_NOEDITOR:
+.. _class_@GlobalScope_constant_PROPERTY_USAGE_NO_EDITOR:
 
 enum **PropertyUsageFlags**:
 
@@ -2219,7 +2225,7 @@ enum **PropertyUsageFlags**:
 
 - **PROPERTY_USAGE_DEFAULT_INTL** = **71** --- Default usage for translatable strings (storage, editor, network and internationalized).
 
-- **PROPERTY_USAGE_NOEDITOR** = **5** --- Default usage but without showing the property in the editor (storage, network).
+- **PROPERTY_USAGE_NO_EDITOR** = **5** --- Default usage but without showing the property in the editor (storage, network).
 
 ----
 
@@ -2559,13 +2565,6 @@ enum **Variant.Operator**:
 
 - **OP_MAX** = **24** --- Represents the size of the :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` enum.
 
-Constants
----------
-
-.. _class_@GlobalScope_constant_SPKEY:
-
-- **SPKEY** = **16777216** --- Keycodes with this bit applied are non-printable.
-
 Property Descriptions
 ---------------------
 
@@ -2838,6 +2837,28 @@ Method Descriptions
 
 - :ref:`Variant<class_Variant>` **abs** **(** :ref:`Variant<class_Variant>` x **)**
 
+Returns the absolute value of a :ref:`Variant<class_Variant>` parameter ``x`` (i.e. non-negative value). Variant types :ref:`int<class_int>`, :ref:`float<class_float>` (real), :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>` and :ref:`Vector3i<class_Vector3i>` are supported.
+
+::
+
+    var a = abs(-1)
+    # a is 1
+    
+    var b = abs(-1.2)
+    # b is 1.2
+    
+    var c = abs(Vector2(-3.5, -4))
+    # c is (3.5, 4)
+    
+    var d = abs(Vector2i(-5, -6))
+    # d is (5, 6)
+    
+    var e = abs(Vector3(-7, 8.5, -3.8))
+    # e is (7, 8.5, 3.8)
+    
+    var f = abs(Vector3i(-7, -8, -9))
+    # f is (7, 8, 9)
+
 ----
 
 .. _class_@GlobalScope_method_absf:
@@ -2961,6 +2982,28 @@ See also :ref:`floor<class_@GlobalScope_method_floor>`, :ref:`round<class_@Globa
 
 - :ref:`Variant<class_Variant>` **clamp** **(** :ref:`Variant<class_Variant>` value, :ref:`Variant<class_Variant>` min, :ref:`Variant<class_Variant>` max **)**
 
+Clamps the :ref:`Variant<class_Variant>` ``value`` and returns a value not less than ``min`` and not more than ``max``. Variant types :ref:`int<class_int>`, :ref:`float<class_float>` (real), :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>` and :ref:`Vector3i<class_Vector3i>` are supported.
+
+::
+
+    var a = clamp(-10, -1, 5)
+    # a is -1
+    
+    var b = clamp(8.1, 0.9, 5.5)
+    # b is 5.5
+    
+    var c = clamp(Vector2(-3.5, -4), Vector2(-3.2, -2), Vector2(2, 6.5))
+    # c is (-3.2, -2)
+    
+    var d = clamp(Vector2i(7, 8), Vector2i(-3, -2), Vector2i(2, 6))
+    # d is (2, 6)
+    
+    var e = clamp(Vector3(-7, 8.5, -3.8), Vector3(-3, -2, 5.4), Vector3(-2, 6, -4.1))
+    # e is (-3, -2, 5.4)
+    
+    var f = clamp(Vector3i(-7, -8, -9), Vector3i(-1, 2, 3), Vector3i(-4, -5, -6))
+    # f is (-4, -5, -6)
+
 ----
 
 .. _class_@GlobalScope_method_clampf:
@@ -3221,6 +3264,8 @@ Returns whether ``x`` is an infinity value (either positive infinity or negative
 
 - :ref:`bool<class_bool>` **is_instance_id_valid** **(** :ref:`int<class_int>` id **)**
 
+Returns ``true`` if the Object that corresponds to ``instance_id`` is a valid object (e.g. has not been deleted from memory). All Objects have a unique instance ID.
+
 ----
 
 .. _class_@GlobalScope_method_is_instance_valid:
@@ -3425,6 +3470,27 @@ In other words, returns the smallest value ``a`` where ``a = pow(2, n)`` such th
 
 ----
 
+.. _class_@GlobalScope_method_pingpong:
+
+- :ref:`float<class_float>` **pingpong** **(** :ref:`float<class_float>` value, :ref:`float<class_float>` length **)**
+
+Returns the ``value`` wrapped between ``0`` and the ``length``. If the limit is reached, the next value the function returned is decreased to the ``0`` side or increased to the ``length`` side (like a triangle wave). If ``length`` is less than zero, it becomes positive.
+
+::
+
+    pingpong(-3.0, 3.0) # Returns 3
+    pingpong(-2.0, 3.0) # Returns 2
+    pingpong(-1.0, 3.0) # Returns 1
+    pingpong(0.0, 3.0) # Returns 0
+    pingpong(1.0, 3.0) # Returns 1
+    pingpong(2.0, 3.0) # Returns 2
+    pingpong(3.0, 3.0) # Returns 3
+    pingpong(4.0, 3.0) # Returns 2
+    pingpong(5.0, 3.0) # Returns 1
+    pingpong(6.0, 3.0) # Returns 0
+
+----
+
 .. _class_@GlobalScope_method_posmod:
 
 - :ref:`int<class_int>` **posmod** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y **)**
@@ -3710,6 +3776,16 @@ Sets seed for the random number generator.
 
 - :ref:`Variant<class_Variant>` **sign** **(** :ref:`Variant<class_Variant>` x **)**
 
+Returns the sign of ``x`` as same type of :ref:`Variant<class_Variant>` as ``x`` with each component being -1, 0 and 1 for each negative, zero and positive values respectivelu. Variant types :ref:`int<class_int>`, :ref:`float<class_float>` (real), :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>` and :ref:`Vector3i<class_Vector3i>` are supported.
+
+::
+
+    sign(-6.0) # Returns -1
+    sign(0.0)  # Returns 0
+    sign(6.0)  # Returns 1
+    
+    sign(Vector3(-6.0, 0.0, 6.0) # Returns (-1, 0, 1)
+
 ----
 
 .. _class_@GlobalScope_method_signf:

+ 81 - 48
classes/class_aabb.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AABB.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -40,15 +40,20 @@ Properties
 | :ref:`Vector3<class_Vector3>` | :ref:`size<class_AABB_property_size>`         | ``Vector3(0, 0, 0)`` |
 +-------------------------------+-----------------------------------------------+----------------------+
 
+Constructors
+------------
+
++-------------------------+---------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AABB<class_AABB>` | :ref:`AABB<class_AABB_constructor_AABB>` **(** **)**                                                                            |
++-------------------------+---------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AABB<class_AABB>` | :ref:`AABB<class_AABB_constructor_AABB>` **(** :ref:`AABB<class_AABB>` from **)**                                               |
++-------------------------+---------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AABB<class_AABB>` | :ref:`AABB<class_AABB_constructor_AABB>` **(** :ref:`Vector3<class_Vector3>` position, :ref:`Vector3<class_Vector3>` size **)** |
++-------------------------+---------------------------------------------------------------------------------------------------------------------------------+
+
 Methods
 -------
 
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`AABB<class_AABB>`       | :ref:`AABB<class_AABB_method_AABB>` **(** **)** |constructor|                                                                                            |
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`AABB<class_AABB>`       | :ref:`AABB<class_AABB_method_AABB>` **(** :ref:`AABB<class_AABB>` from **)** |constructor|                                                               |
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`AABB<class_AABB>`       | :ref:`AABB<class_AABB_method_AABB>` **(** :ref:`Vector3<class_Vector3>` position, :ref:`Vector3<class_Vector3>` size **)** |constructor|                 |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AABB<class_AABB>`       | :ref:`abs<class_AABB_method_abs>` **(** **)** |const|                                                                                                    |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -56,8 +61,6 @@ Methods
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AABB<class_AABB>`       | :ref:`expand<class_AABB_method_expand>` **(** :ref:`Vector3<class_Vector3>` to_point **)** |const|                                                       |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`     | :ref:`get_area<class_AABB_method_get_area>` **(** **)** |const|                                                                                          |
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_Vector3>` | :ref:`get_center<class_AABB_method_get_center>` **(** **)** |const|                                                                                      |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_Vector3>` | :ref:`get_endpoint<class_AABB_method_get_endpoint>` **(** :ref:`int<class_int>` idx **)** |const|                                                        |
@@ -76,12 +79,14 @@ Methods
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_Vector3>` | :ref:`get_support<class_AABB_method_get_support>` **(** :ref:`Vector3<class_Vector3>` dir **)** |const|                                                  |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`AABB<class_AABB>`       | :ref:`grow<class_AABB_method_grow>` **(** :ref:`float<class_float>` by **)** |const|                                                                     |
+| :ref:`float<class_float>`     | :ref:`get_volume<class_AABB_method_get_volume>` **(** **)** |const|                                                                                      |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`has_no_area<class_AABB_method_has_no_area>` **(** **)** |const|                                                                                    |
+| :ref:`AABB<class_AABB>`       | :ref:`grow<class_AABB_method_grow>` **(** :ref:`float<class_float>` by **)** |const|                                                                     |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`       | :ref:`has_no_surface<class_AABB_method_has_no_surface>` **(** **)** |const|                                                                              |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`has_no_volume<class_AABB_method_has_no_volume>` **(** **)** |const|                                                                                |
++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`       | :ref:`has_point<class_AABB_method_has_point>` **(** :ref:`Vector3<class_Vector3>` point **)** |const|                                                    |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AABB<class_AABB>`       | :ref:`intersection<class_AABB_method_intersection>` **(** :ref:`AABB<class_AABB>` with **)** |const|                                                     |
@@ -98,16 +103,21 @@ Methods
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AABB<class_AABB>`       | :ref:`merge<class_AABB_method_merge>` **(** :ref:`AABB<class_AABB>` with **)** |const|                                                                   |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator !=** **(** **)** |operator|                                                                                                                   |
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator !=** **(** :ref:`AABB<class_AABB>` right **)** |operator|                                                                                     |
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`AABB<class_AABB>`       | **operator *** **(** :ref:`Transform3D<class_Transform3D>` right **)** |operator|                                                                        |
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator ==** **(** **)** |operator|                                                                                                                   |
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator ==** **(** :ref:`AABB<class_AABB>` right **)** |operator|                                                                                     |
-+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Operators
+---------
+
++-------------------------+---------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator !=<class_AABB_operator_neq_bool>` **(** **)**                                            |
++-------------------------+---------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator !=<class_AABB_operator_neq_bool>` **(** :ref:`AABB<class_AABB>` right **)**              |
++-------------------------+---------------------------------------------------------------------------------------------------------+
+| :ref:`AABB<class_AABB>` | :ref:`operator *<class_AABB_operator_mul_AABB>` **(** :ref:`Transform3D<class_Transform3D>` right **)** |
++-------------------------+---------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator ==<class_AABB_operator_eq_bool>` **(** **)**                                             |
++-------------------------+---------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator ==<class_AABB_operator_eq_bool>` **(** :ref:`AABB<class_AABB>` right **)**               |
++-------------------------+---------------------------------------------------------------------------------------------------------+
 
 Property Descriptions
 ---------------------
@@ -148,28 +158,29 @@ Size from :ref:`position<class_AABB_property_position>` to :ref:`end<class_AABB_
 
 If the size is negative, you can use :ref:`abs<class_AABB_method_abs>` to fix it.
 
-Method Descriptions
--------------------
+Constructor Descriptions
+------------------------
 
-.. _class_AABB_method_AABB:
+.. _class_AABB_constructor_AABB:
 
-- :ref:`AABB<class_AABB>` **AABB** **(** **)** |constructor|
+- :ref:`AABB<class_AABB>` **AABB** **(** **)**
 
 Constructs a default-initialized ``AABB`` with default (zero) values of :ref:`position<class_AABB_property_position>` and :ref:`size<class_AABB_property_size>`.
 
 ----
 
-- :ref:`AABB<class_AABB>` **AABB** **(** :ref:`AABB<class_AABB>` from **)** |constructor|
+- :ref:`AABB<class_AABB>` **AABB** **(** :ref:`AABB<class_AABB>` from **)**
 
 Constructs an ``AABB`` as a copy of the given ``AABB``.
 
 ----
 
-- :ref:`AABB<class_AABB>` **AABB** **(** :ref:`Vector3<class_Vector3>` position, :ref:`Vector3<class_Vector3>` size **)** |constructor|
+- :ref:`AABB<class_AABB>` **AABB** **(** :ref:`Vector3<class_Vector3>` position, :ref:`Vector3<class_Vector3>` size **)**
 
 Constructs an ``AABB`` from a position and size.
 
-----
+Method Descriptions
+-------------------
 
 .. _class_AABB_method_abs:
 
@@ -191,15 +202,28 @@ Returns ``true`` if this ``AABB`` completely encloses another one.
 
 - :ref:`AABB<class_AABB>` **expand** **(** :ref:`Vector3<class_Vector3>` to_point **)** |const|
 
-Returns this ``AABB`` expanded to include a given point.
+Returns a copy of this ``AABB`` expanded to include a given point.
 
-----
+**Example:**
 
-.. _class_AABB_method_get_area:
 
-- :ref:`float<class_float>` **get_area** **(** **)** |const|
+.. tabs::
+
+ .. code-tab:: gdscript
+
+    # position (-3, 2, 0), size (1, 1, 1)
+    var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))
+    # position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
+    var box2 = box.expand(Vector3(0, -1, 2))
+
+ .. code-tab:: csharp
+
+    // position (-3, 2, 0), size (1, 1, 1)
+    var box = new AABB(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));
+    // position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
+    var box2 = box.Expand(new Vector3(0, -1, 2));
+
 
-Returns the volume of the ``AABB``.
 
 ----
 
@@ -275,19 +299,19 @@ Returns the support point in a given direction. This is useful for collision det
 
 ----
 
-.. _class_AABB_method_grow:
+.. _class_AABB_method_get_volume:
 
-- :ref:`AABB<class_AABB>` **grow** **(** :ref:`float<class_float>` by **)** |const|
+- :ref:`float<class_float>` **get_volume** **(** **)** |const|
 
-Returns a copy of the ``AABB`` grown a given amount of units towards all the sides.
+Returns the volume of the ``AABB``.
 
 ----
 
-.. _class_AABB_method_has_no_area:
+.. _class_AABB_method_grow:
 
-- :ref:`bool<class_bool>` **has_no_area** **(** **)** |const|
+- :ref:`AABB<class_AABB>` **grow** **(** :ref:`float<class_float>` by **)** |const|
 
-Returns ``true`` if the ``AABB`` is flat or empty.
+Returns a copy of the ``AABB`` grown a given amount of units towards all the sides.
 
 ----
 
@@ -299,6 +323,14 @@ Returns ``true`` if the ``AABB`` is empty.
 
 ----
 
+.. _class_AABB_method_has_no_volume:
+
+- :ref:`bool<class_bool>` **has_no_volume** **(** **)** |const|
+
+Returns ``true`` if the ``AABB`` is flat or empty.
+
+----
+
 .. _class_AABB_method_has_point:
 
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector3<class_Vector3>` point **)** |const|
@@ -359,31 +391,32 @@ Returns ``true`` if this ``AABB`` and ``aabb`` are approximately equal, by calli
 
 Returns a larger ``AABB`` that contains both this ``AABB`` and ``with``.
 
-----
+Operator Descriptions
+---------------------
 
-.. _class_AABB_method_operator !=:
+.. _class_AABB_operator_neq_bool:
 
-- :ref:`bool<class_bool>` **operator !=** **(** **)** |operator|
+- :ref:`bool<class_bool>` **operator !=** **(** **)**
 
 ----
 
-- :ref:`bool<class_bool>` **operator !=** **(** :ref:`AABB<class_AABB>` right **)** |operator|
+- :ref:`bool<class_bool>` **operator !=** **(** :ref:`AABB<class_AABB>` right **)**
 
 ----
 
-.. _class_AABB_method_operator *:
+.. _class_AABB_operator_mul_AABB:
 
-- :ref:`AABB<class_AABB>` **operator *** **(** :ref:`Transform3D<class_Transform3D>` right **)** |operator|
+- :ref:`AABB<class_AABB>` **operator *** **(** :ref:`Transform3D<class_Transform3D>` right **)**
 
 ----
 
-.. _class_AABB_method_operator ==:
+.. _class_AABB_operator_eq_bool:
 
-- :ref:`bool<class_bool>` **operator ==** **(** **)** |operator|
+- :ref:`bool<class_bool>` **operator ==** **(** **)**
 
 ----
 
-- :ref:`bool<class_bool>` **operator ==** **(** :ref:`AABB<class_AABB>` right **)** |operator|
+- :ref:`bool<class_bool>` **operator ==** **(** :ref:`AABB<class_AABB>` right **)**
 
 .. |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 - 1
classes/class_acceptdialog.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AcceptDialog.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -172,6 +172,8 @@ You can use :ref:`remove_button<class_AcceptDialog_method_remove_button>` method
 
 Returns the label used for built-in text.
 
+**Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
+
 ----
 
 .. _class_AcceptDialog_method_get_ok_button:
@@ -180,6 +182,8 @@ Returns the label used for built-in text.
 
 Returns the OK :ref:`Button<class_Button>` instance.
 
+**Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
+
 ----
 
 .. _class_AcceptDialog_method_register_text_enter:

+ 1 - 1
classes/class_aescontext.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AESContext.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animatablebody2d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimatableBody2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animatablebody3d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimatableBody3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animatedsprite2d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimatedSprite2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animatedsprite3d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimatedSprite3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animatedtexture.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimatedTexture.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 104 - 46
classes/class_animation.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the Animation.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -53,13 +53,13 @@ Tutorials
 Properties
 ----------
 
-+---------------------------+------------------------------------------------+-----------+
-| :ref:`float<class_float>` | :ref:`length<class_Animation_property_length>` | ``1.0``   |
-+---------------------------+------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`   | :ref:`loop<class_Animation_property_loop>`     | ``false`` |
-+---------------------------+------------------------------------------------+-----------+
-| :ref:`float<class_float>` | :ref:`step<class_Animation_property_step>`     | ``0.1``   |
-+---------------------------+------------------------------------------------+-----------+
++------------------------------------------+------------------------------------------------------+---------+
+| :ref:`float<class_float>`                | :ref:`length<class_Animation_property_length>`       | ``1.0`` |
++------------------------------------------+------------------------------------------------------+---------+
+| :ref:`LoopMode<enum_Animation_LoopMode>` | :ref:`loop_mode<class_Animation_property_loop_mode>` | ``0``   |
++------------------------------------------+------------------------------------------------------+---------+
+| :ref:`float<class_float>`                | :ref:`step<class_Animation_property_step>`           | ``0.1`` |
++------------------------------------------+------------------------------------------------------+---------+
 
 Methods
 -------
@@ -103,11 +103,15 @@ Methods
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`bezier_track_set_key_value<class_Animation_method_bezier_track_set_key_value>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` value **)**                                                                                                           |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                      | :ref:`blend_shape_track_insert_key<class_Animation_method_blend_shape_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`float<class_float>` amount **)**                                                                                                     |
++------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`clear<class_Animation_method_clear>` **(** **)**                                                                                                                                                                                                                                                     |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                       | :ref:`compress<class_Animation_method_compress>` **(** :ref:`int<class_int>` page_size=8192, :ref:`int<class_int>` fps=120, :ref:`float<class_float>` split_tolerance=4.0 **)**                                                                                                                            |
++------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`copy_track<class_Animation_method_copy_track>` **(** :ref:`int<class_int>` track_idx, :ref:`Animation<class_Animation>` to_animation **)**                                                                                                                                                           |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                      | :ref:`find_track<class_Animation_method_find_track>` **(** :ref:`NodePath<class_NodePath>` path **)** |const|                                                                                                                                                                                              |
+| :ref:`int<class_int>`                                      | :ref:`find_track<class_Animation_method_find_track>` **(** :ref:`NodePath<class_NodePath>` path, :ref:`TrackType<enum_Animation_TrackType>` type **)** |const|                                                                                                                                             |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                      | :ref:`get_track_count<class_Animation_method_get_track_count>` **(** **)** |const|                                                                                                                                                                                                                         |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -117,8 +121,14 @@ Methods
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_Array>`                                  | :ref:`method_track_get_params<class_Animation_method_method_track_get_params>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|                                                                                                                                          |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                      | :ref:`position_track_insert_key<class_Animation_method_position_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` position **)**                                                                                                     |
++------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`remove_track<class_Animation_method_remove_track>` **(** :ref:`int<class_int>` track_idx **)**                                                                                                                                                                                                       |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                      | :ref:`rotation_track_insert_key<class_Animation_method_rotation_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Quaternion<class_Quaternion>` rotation **)**                                                                                               |
++------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                      | :ref:`scale_track_insert_key<class_Animation_method_scale_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` scale **)**                                                                                                              |
++------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                      | :ref:`track_find_key<class_Animation_method_track_find_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`bool<class_bool>` exact=false **)** |const|                                                                                                                      |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                    | :ref:`track_get_interpolation_loop_wrap<class_Animation_method_track_get_interpolation_loop_wrap>` **(** :ref:`int<class_int>` track_idx **)** |const|                                                                                                                                                     |
@@ -139,6 +149,8 @@ Methods
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`track_insert_key<class_Animation_method_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Variant<class_Variant>` key, :ref:`float<class_float>` transition=1 **)**                                                                                    |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                    | :ref:`track_is_compressed<class_Animation_method_track_is_compressed>` **(** :ref:`int<class_int>` track_idx **)** |const|                                                                                                                                                                                 |
++------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                    | :ref:`track_is_enabled<class_Animation_method_track_is_enabled>` **(** :ref:`int<class_int>` track_idx **)** |const|                                                                                                                                                                                       |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                    | :ref:`track_is_imported<class_Animation_method_track_is_imported>` **(** :ref:`int<class_int>` track_idx **)** |const|                                                                                                                                                                                     |
@@ -171,10 +183,6 @@ Methods
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`track_swap<class_Animation_method_track_swap>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` with_idx **)**                                                                                                                                                                           |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                      | :ref:`transform_track_insert_key<class_Animation_method_transform_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` location, :ref:`Quaternion<class_Quaternion>` rotation, :ref:`Vector3<class_Vector3>` scale **)**                |
-+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                                  | :ref:`transform_track_interpolate<class_Animation_method_transform_track_interpolate>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec **)** |const|                                                                                                                             |
-+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PackedInt32Array<class_PackedInt32Array>`            | :ref:`value_track_get_key_indices<class_Animation_method_value_track_get_key_indices>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** |const|                                                                                            |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`UpdateMode<enum_Animation_UpdateMode>`               | :ref:`value_track_get_update_mode<class_Animation_method_value_track_get_update_mode>` **(** :ref:`int<class_int>` track_idx **)** |const|                                                                                                                                                                 |
@@ -200,7 +208,13 @@ Enumerations
 
 .. _class_Animation_constant_TYPE_VALUE:
 
-.. _class_Animation_constant_TYPE_TRANSFORM3D:
+.. _class_Animation_constant_TYPE_POSITION_3D:
+
+.. _class_Animation_constant_TYPE_ROTATION_3D:
+
+.. _class_Animation_constant_TYPE_SCALE_3D:
+
+.. _class_Animation_constant_TYPE_BLEND_SHAPE:
 
 .. _class_Animation_constant_TYPE_METHOD:
 
@@ -214,15 +228,21 @@ enum **TrackType**:
 
 - **TYPE_VALUE** = **0** --- Value tracks set values in node properties, but only those which can be Interpolated.
 
-- **TYPE_TRANSFORM3D** = **1** --- Transform3D tracks are used to change node local transforms or skeleton pose bones of 3D nodes. Transitions are interpolated.
+- **TYPE_POSITION_3D** = **1**
+
+- **TYPE_ROTATION_3D** = **2**
 
-- **TYPE_METHOD** = **2** --- Method tracks call functions with given arguments per key.
+- **TYPE_SCALE_3D** = **3**
 
-- **TYPE_BEZIER** = **3** --- Bezier tracks are used to interpolate a value using custom curves. They can also be used to animate sub-properties of vectors and colors (e.g. alpha value of a :ref:`Color<class_Color>`).
+- **TYPE_BLEND_SHAPE** = **4**
 
-- **TYPE_AUDIO** = **4** --- Audio tracks are used to play an audio stream with either type of :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`. The stream can be trimmed and previewed in the animation.
+- **TYPE_METHOD** = **5** --- Method tracks call functions with given arguments per key.
 
-- **TYPE_ANIMATION** = **5** --- Animation tracks play animations in other :ref:`AnimationPlayer<class_AnimationPlayer>` nodes.
+- **TYPE_BEZIER** = **6** --- Bezier tracks are used to interpolate a value using custom curves. They can also be used to animate sub-properties of vectors and colors (e.g. alpha value of a :ref:`Color<class_Color>`).
+
+- **TYPE_AUDIO** = **7** --- Audio tracks are used to play an audio stream with either type of :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`. The stream can be trimmed and previewed in the animation.
+
+- **TYPE_ANIMATION** = **8** --- Animation tracks play animations in other :ref:`AnimationPlayer<class_AnimationPlayer>` nodes.
 
 ----
 
@@ -264,6 +284,24 @@ enum **UpdateMode**:
 
 - **UPDATE_CAPTURE** = **3** --- 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.
 
+----
+
+.. _enum_Animation_LoopMode:
+
+.. _class_Animation_constant_LOOP_NONE:
+
+.. _class_Animation_constant_LOOP_LINEAR:
+
+.. _class_Animation_constant_LOOP_PINGPONG:
+
+enum **LoopMode**:
+
+- **LOOP_NONE** = **0** --- At both ends of the animation, the animation will stop playing.
+
+- **LOOP_LINEAR** = **1** --- At both ends of the animation, the animation will be repeated without changing the playback direction.
+
+- **LOOP_PINGPONG** = **2** --- Repeats playback and reverse playback at both ends of the animation.
+
 Property Descriptions
 ---------------------
 
@@ -285,19 +323,19 @@ The total length of the animation (in seconds).
 
 ----
 
-.. _class_Animation_property_loop:
+.. _class_Animation_property_loop_mode:
 
-- :ref:`bool<class_bool>` **loop**
+- :ref:`LoopMode<enum_Animation_LoopMode>` **loop_mode**
 
-+-----------+-----------------+
-| *Default* | ``false``       |
-+-----------+-----------------+
-| *Setter*  | set_loop(value) |
-+-----------+-----------------+
-| *Getter*  | has_loop()      |
-+-----------+-----------------+
++-----------+----------------------+
+| *Default* | ``0``                |
++-----------+----------------------+
+| *Setter*  | set_loop_mode(value) |
++-----------+----------------------+
+| *Getter*  | get_loop_mode()      |
++-----------+----------------------+
 
-A flag indicating that the animation must loop. This is used for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.
+Determines the behavior of both ends of the animation timeline during animation playback. This is used for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.
 
 ----
 
@@ -478,6 +516,12 @@ Sets the value of the key identified by ``key_idx`` to the given value. The ``tr
 
 ----
 
+.. _class_Animation_method_blend_shape_track_insert_key:
+
+- :ref:`int<class_int>` **blend_shape_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`float<class_float>` amount **)**
+
+----
+
 .. _class_Animation_method_clear:
 
 - void **clear** **(** **)**
@@ -486,6 +530,12 @@ Clear the animation (clear all tracks and reset all).
 
 ----
 
+.. _class_Animation_method_compress:
+
+- void **compress** **(** :ref:`int<class_int>` page_size=8192, :ref:`int<class_int>` fps=120, :ref:`float<class_float>` split_tolerance=4.0 **)**
+
+----
+
 .. _class_Animation_method_copy_track:
 
 - void **copy_track** **(** :ref:`int<class_int>` track_idx, :ref:`Animation<class_Animation>` to_animation **)**
@@ -496,7 +546,7 @@ Adds a new track that is a copy of the given track from ``to_animation``.
 
 .. _class_Animation_method_find_track:
 
-- :ref:`int<class_int>` **find_track** **(** :ref:`NodePath<class_NodePath>` path **)** |const|
+- :ref:`int<class_int>` **find_track** **(** :ref:`NodePath<class_NodePath>` path, :ref:`TrackType<enum_Animation_TrackType>` type **)** |const|
 
 Returns the index of the specified track. If the track is not found, return -1.
 
@@ -534,6 +584,12 @@ Returns the arguments values to be called on a method track for a given key in a
 
 ----
 
+.. _class_Animation_method_position_track_insert_key:
+
+- :ref:`int<class_int>` **position_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` position **)**
+
+----
+
 .. _class_Animation_method_remove_track:
 
 - void **remove_track** **(** :ref:`int<class_int>` track_idx **)**
@@ -542,6 +598,18 @@ Removes a track by specifying the track index.
 
 ----
 
+.. _class_Animation_method_rotation_track_insert_key:
+
+- :ref:`int<class_int>` **rotation_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Quaternion<class_Quaternion>` rotation **)**
+
+----
+
+.. _class_Animation_method_scale_track_insert_key:
+
+- :ref:`int<class_int>` **scale_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` scale **)**
+
+----
+
 .. _class_Animation_method_track_find_key:
 
 - :ref:`int<class_int>` **track_find_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`bool<class_bool>` exact=false **)** |const|
@@ -622,6 +690,12 @@ Insert a generic key in a given track.
 
 ----
 
+.. _class_Animation_method_track_is_compressed:
+
+- :ref:`bool<class_bool>` **track_is_compressed** **(** :ref:`int<class_int>` track_idx **)** |const|
+
+----
+
 .. _class_Animation_method_track_is_enabled:
 
 - :ref:`bool<class_bool>` **track_is_enabled** **(** :ref:`int<class_int>` track_idx **)** |const|
@@ -752,22 +826,6 @@ Swaps the track ``idx``'s index position with the track ``with_idx``.
 
 ----
 
-.. _class_Animation_method_transform_track_insert_key:
-
-- :ref:`int<class_int>` **transform_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` location, :ref:`Quaternion<class_Quaternion>` rotation, :ref:`Vector3<class_Vector3>` scale **)**
-
-Insert a transform key for a transform track.
-
-----
-
-.. _class_Animation_method_transform_track_interpolate:
-
-- :ref:`Array<class_Array>` **transform_track_interpolate** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec **)** |const|
-
-Returns the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position (:ref:`Vector3<class_Vector3>`), rotation (:ref:`Quaternion<class_Quaternion>`) and scale (:ref:`Vector3<class_Vector3>`).
-
-----
-
 .. _class_Animation_method_value_track_get_key_indices:
 
 - :ref:`PackedInt32Array<class_PackedInt32Array>` **value_track_get_key_indices** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** |const|

+ 3 - 3
classes/class_animationnode.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNode.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -54,7 +54,7 @@ Methods
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                      | :ref:`add_input<class_AnimationNode_method_add_input>` **(** :ref:`String<class_String>` name **)**                                                                                                                                                                                                                                                                |
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                      | :ref:`blend_animation<class_AnimationNode_method_blend_animation>` **(** :ref:`StringName<class_StringName>` animation, :ref:`float<class_float>` time, :ref:`float<class_float>` delta, :ref:`bool<class_bool>` seeked, :ref:`float<class_float>` blend **)**                                                                                                     |
+| void                                      | :ref:`blend_animation<class_AnimationNode_method_blend_animation>` **(** :ref:`StringName<class_StringName>` animation, :ref:`float<class_float>` time, :ref:`float<class_float>` delta, :ref:`bool<class_bool>` seeked, :ref:`float<class_float>` blend, :ref:`int<class_int>` pingponged=0 **)**                                                                 |
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                 | :ref:`blend_input<class_AnimationNode_method_blend_input>` **(** :ref:`int<class_int>` input_index, :ref:`float<class_float>` time, :ref:`bool<class_bool>` seek, :ref:`float<class_float>` blend, :ref:`FilterAction<enum_AnimationNode_FilterAction>` filter=0, :ref:`bool<class_bool>` optimize=true **)**                                                      |
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -203,7 +203,7 @@ Adds an input to the node. This is only useful for nodes created for use in an :
 
 .. _class_AnimationNode_method_blend_animation:
 
-- void **blend_animation** **(** :ref:`StringName<class_StringName>` animation, :ref:`float<class_float>` time, :ref:`float<class_float>` delta, :ref:`bool<class_bool>` seeked, :ref:`float<class_float>` blend **)**
+- void **blend_animation** **(** :ref:`StringName<class_StringName>` animation, :ref:`float<class_float>` time, :ref:`float<class_float>` delta, :ref:`bool<class_bool>` seeked, :ref:`float<class_float>` blend, :ref:`int<class_int>` pingponged=0 **)**
 
 Blend an animation by ``blend`` amount (name must be valid in the linked :ref:`AnimationPlayer<class_AnimationPlayer>`). A ``time`` and ``delta`` may be passed, as well as whether ``seek`` happened.
 

+ 1 - 1
classes/class_animationnodeadd2.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeAdd2.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodeadd3.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeAdd3.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 37 - 4
classes/class_animationnodeanimation.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeAnimation.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -30,9 +30,26 @@ Tutorials
 Properties
 ----------
 
-+-------------------------------------+-------------------------------------------------------------------+---------+
-| :ref:`StringName<class_StringName>` | :ref:`animation<class_AnimationNodeAnimation_property_animation>` | ``&""`` |
-+-------------------------------------+-------------------------------------------------------------------+---------+
++-------------------------------------------------------+-------------------------------------------------------------------+---------+
+| :ref:`StringName<class_StringName>`                   | :ref:`animation<class_AnimationNodeAnimation_property_animation>` | ``&""`` |
++-------------------------------------------------------+-------------------------------------------------------------------+---------+
+| :ref:`PlayMode<enum_AnimationNodeAnimation_PlayMode>` | :ref:`play_mode<class_AnimationNodeAnimation_property_play_mode>` | ``0``   |
++-------------------------------------------------------+-------------------------------------------------------------------+---------+
+
+Enumerations
+------------
+
+.. _enum_AnimationNodeAnimation_PlayMode:
+
+.. _class_AnimationNodeAnimation_constant_PLAY_MODE_FORWARD:
+
+.. _class_AnimationNodeAnimation_constant_PLAY_MODE_BACKWARD:
+
+enum **PlayMode**:
+
+- **PLAY_MODE_FORWARD** = **0**
+
+- **PLAY_MODE_BACKWARD** = **1**
 
 Property Descriptions
 ---------------------
@@ -51,6 +68,22 @@ Property Descriptions
 
 Animation to use as an output. It is one of the animations provided by :ref:`AnimationTree.anim_player<class_AnimationTree_property_anim_player>`.
 
+----
+
+.. _class_AnimationNodeAnimation_property_play_mode:
+
+- :ref:`PlayMode<enum_AnimationNodeAnimation_PlayMode>` **play_mode**
+
++-----------+----------------------+
+| *Default* | ``0``                |
++-----------+----------------------+
+| *Setter*  | set_play_mode(value) |
++-----------+----------------------+
+| *Getter*  | get_play_mode()      |
++-----------+----------------------+
+
+Determines the playback direction of the animation.
+
 .. |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.)`

+ 1 - 1
classes/class_animationnodeblend2.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeBlend2.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodeblend3.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeBlend3.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodeblendspace1d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeBlendSpace1D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodeblendspace2d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeBlendSpace2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodeblendtree.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeBlendTree.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodeoneshot.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeOneShot.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodeoutput.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeOutput.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodestatemachine.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeStateMachine.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodestatemachineplayback.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeStateMachinePlayback.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodestatemachinetransition.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeStateMachineTransition.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodetimescale.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeTimeScale.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodetimeseek.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeTimeSeek.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationnodetransition.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationNodeTransition.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationplayer.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationPlayer.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationrootnode.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationRootNode.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_animationtrackeditplugin.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationTrackEditPlugin.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 3 - 3
classes/class_animationtree.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AnimationTree.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -137,7 +137,7 @@ The process mode of this ``AnimationTree``. See :ref:`AnimationProcessCallback<e
 
 The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by ``":"``. For example, ``"character/skeleton:ankle"`` or ``"character/mesh:transform/local"``.
 
-If the track has type :ref:`Animation.TYPE_TRANSFORM3D<class_Animation_constant_TYPE_TRANSFORM3D>`, the transformation will be cancelled visually, and the animation will appear to stay in place. See also :ref:`get_root_motion_transform<class_AnimationTree_method_get_root_motion_transform>` and :ref:`RootMotionView<class_RootMotionView>`.
+If the track has type :ref:`Animation.TYPE_POSITION_3D<class_Animation_constant_TYPE_POSITION_3D>`, :ref:`Animation.TYPE_ROTATION_3D<class_Animation_constant_TYPE_ROTATION_3D>` or :ref:`Animation.TYPE_SCALE_3D<class_Animation_constant_TYPE_SCALE_3D>` the transformation will be cancelled visually, and the animation will appear to stay in place. See also :ref:`get_root_motion_transform<class_AnimationTree_method_get_root_motion_transform>` and :ref:`RootMotionView<class_RootMotionView>`.
 
 ----
 
@@ -168,7 +168,7 @@ Manually advance the animations by the specified time (in seconds).
 
 - :ref:`Transform3D<class_Transform3D>` **get_root_motion_transform** **(** **)** |const|
 
-Retrieve the motion of the :ref:`root_motion_track<class_AnimationTree_property_root_motion_track>` as a :ref:`Transform3D<class_Transform3D>` that can be used elsewhere. If :ref:`root_motion_track<class_AnimationTree_property_root_motion_track>` is not a path to a track of type :ref:`Animation.TYPE_TRANSFORM3D<class_Animation_constant_TYPE_TRANSFORM3D>`, returns an identity transformation. See also :ref:`root_motion_track<class_AnimationTree_property_root_motion_track>` and :ref:`RootMotionView<class_RootMotionView>`.
+Retrieve the motion of the :ref:`root_motion_track<class_AnimationTree_property_root_motion_track>` as a :ref:`Transform3D<class_Transform3D>` that can be used elsewhere. If :ref:`root_motion_track<class_AnimationTree_property_root_motion_track>` is not a path to a track of type :ref:`Animation.TYPE_POSITION_3D<class_Animation_constant_TYPE_POSITION_3D>`, :ref:`Animation.TYPE_SCALE_3D<class_Animation_constant_TYPE_SCALE_3D>` or :ref:`Animation.TYPE_ROTATION_3D<class_Animation_constant_TYPE_ROTATION_3D>`, returns an identity transformation. See also :ref:`root_motion_track<class_AnimationTree_property_root_motion_track>` and :ref:`RootMotionView<class_RootMotionView>`.
 
 ----
 

+ 140 - 82
classes/class_area2d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the Area2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -32,31 +32,37 @@ Tutorials
 Properties
 ----------
 
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`float<class_float>`                       | :ref:`angular_damp<class_Area2D_property_angular_damp>`                     | ``1.0``           |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`StringName<class_StringName>`             | :ref:`audio_bus_name<class_Area2D_property_audio_bus_name>`                 | ``&"Master"``     |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`bool<class_bool>`                         | :ref:`audio_bus_override<class_Area2D_property_audio_bus_override>`         | ``false``         |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`float<class_float>`                       | :ref:`gravity<class_Area2D_property_gravity>`                               | ``980.0``         |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`float<class_float>`                       | :ref:`gravity_distance_scale<class_Area2D_property_gravity_distance_scale>` | ``0.0``           |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`bool<class_bool>`                         | :ref:`gravity_point<class_Area2D_property_gravity_point>`                   | ``false``         |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`Vector2<class_Vector2>`                   | :ref:`gravity_vec<class_Area2D_property_gravity_vec>`                       | ``Vector2(0, 1)`` |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`float<class_float>`                       | :ref:`linear_damp<class_Area2D_property_linear_damp>`                       | ``0.1``           |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`bool<class_bool>`                         | :ref:`monitorable<class_Area2D_property_monitorable>`                       | ``true``          |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`bool<class_bool>`                         | :ref:`monitoring<class_Area2D_property_monitoring>`                         | ``true``          |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`float<class_float>`                       | :ref:`priority<class_Area2D_property_priority>`                             | ``0.0``           |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
-| :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` | :ref:`space_override<class_Area2D_property_space_override>`                 | ``0``             |
-+-------------------------------------------------+-----------------------------------------------------------------------------+-------------------+
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`float<class_float>`                       | :ref:`angular_damp<class_Area2D_property_angular_damp>`                                 | ``1.0``           |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` | :ref:`angular_damp_space_override<class_Area2D_property_angular_damp_space_override>`   | ``0``             |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`StringName<class_StringName>`             | :ref:`audio_bus_name<class_Area2D_property_audio_bus_name>`                             | ``&"Master"``     |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`bool<class_bool>`                         | :ref:`audio_bus_override<class_Area2D_property_audio_bus_override>`                     | ``false``         |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`float<class_float>`                       | :ref:`gravity<class_Area2D_property_gravity>`                                           | ``980.0``         |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`Vector2<class_Vector2>`                   | :ref:`gravity_direction<class_Area2D_property_gravity_direction>`                       | ``Vector2(0, 1)`` |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`bool<class_bool>`                         | :ref:`gravity_point<class_Area2D_property_gravity_point>`                               | ``false``         |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`Vector2<class_Vector2>`                   | :ref:`gravity_point_center<class_Area2D_property_gravity_point_center>`                 | ``Vector2(0, 1)`` |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`float<class_float>`                       | :ref:`gravity_point_distance_scale<class_Area2D_property_gravity_point_distance_scale>` | ``0.0``           |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` | :ref:`gravity_space_override<class_Area2D_property_gravity_space_override>`             | ``0``             |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`float<class_float>`                       | :ref:`linear_damp<class_Area2D_property_linear_damp>`                                   | ``0.1``           |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` | :ref:`linear_damp_space_override<class_Area2D_property_linear_damp_space_override>`     | ``0``             |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`bool<class_bool>`                         | :ref:`monitorable<class_Area2D_property_monitorable>`                                   | ``true``          |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`bool<class_bool>`                         | :ref:`monitoring<class_Area2D_property_monitoring>`                                     | ``true``          |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
+| :ref:`float<class_float>`                       | :ref:`priority<class_Area2D_property_priority>`                                         | ``0.0``           |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+
 
 Methods
 -------
@@ -96,33 +102,33 @@ Emitted when another Area2D exits this Area2D. Requires :ref:`monitoring<class_A
 
 .. _class_Area2D_signal_area_shape_entered:
 
-- **area_shape_entered** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area2D<class_Area2D>` area, :ref:`int<class_int>` area_shape, :ref:`int<class_int>` local_shape **)**
+- **area_shape_entered** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area2D<class_Area2D>` area, :ref:`int<class_int>` area_shape_index, :ref:`int<class_int>` local_shape_index **)**
 
 Emitted when one of another Area2D's :ref:`Shape2D<class_Shape2D>`\ s enters one of this Area2D's :ref:`Shape2D<class_Shape2D>`\ s. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``.
 
-``area_id`` the :ref:`RID<class_RID>` of the other Area2D's :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``area_rid`` the :ref:`RID<class_RID>` of the other Area2D's :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
 
 ``area`` the other Area2D.
 
-``area_shape`` the index of the :ref:`Shape2D<class_Shape2D>` of the other Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``area_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
 
-``local_shape`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
 .. _class_Area2D_signal_area_shape_exited:
 
-- **area_shape_exited** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area2D<class_Area2D>` area, :ref:`int<class_int>` area_shape, :ref:`int<class_int>` local_shape **)**
+- **area_shape_exited** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area2D<class_Area2D>` area, :ref:`int<class_int>` area_shape_index, :ref:`int<class_int>` local_shape_index **)**
 
 Emitted when one of another Area2D's :ref:`Shape2D<class_Shape2D>`\ s exits one of this Area2D's :ref:`Shape2D<class_Shape2D>`\ s. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``.
 
-``area_id`` the :ref:`RID<class_RID>` of the other Area2D's :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``area_rid`` the :ref:`RID<class_RID>` of the other Area2D's :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
 
 ``area`` the other Area2D.
 
-``area_shape`` the index of the :ref:`Shape2D<class_Shape2D>` of the other Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``area_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
 
-``local_shape`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
@@ -148,33 +154,33 @@ Emitted when a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_
 
 .. _class_Area2D_signal_body_shape_entered:
 
-- **body_shape_entered** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node2D<class_Node2D>` body, :ref:`int<class_int>` body_shape, :ref:`int<class_int>` local_shape **)**
+- **body_shape_entered** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node2D<class_Node2D>` body, :ref:`int<class_int>` body_shape_index, :ref:`int<class_int>` local_shape_index **)**
 
 Emitted when one of a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`'s :ref:`Shape2D<class_Shape2D>`\ s enters one of this Area2D's :ref:`Shape2D<class_Shape2D>`\ s. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``. :ref:`TileMap<class_TileMap>`\ s are detected if the :ref:`TileSet<class_TileSet>` has Collision :ref:`Shape2D<class_Shape2D>`\ s.
 
-``body_id`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileSet<class_TileSet>`'s :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileSet<class_TileSet>`'s :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
 
 ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
 
-``body_shape`` the index of the :ref:`Shape2D<class_Shape2D>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
 
-``local_shape`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
 .. _class_Area2D_signal_body_shape_exited:
 
-- **body_shape_exited** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node2D<class_Node2D>` body, :ref:`int<class_int>` body_shape, :ref:`int<class_int>` local_shape **)**
+- **body_shape_exited** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node2D<class_Node2D>` body, :ref:`int<class_int>` body_shape_index, :ref:`int<class_int>` local_shape_index **)**
 
 Emitted when one of a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`'s :ref:`Shape2D<class_Shape2D>`\ s exits one of this Area2D's :ref:`Shape2D<class_Shape2D>`\ s. Requires :ref:`monitoring<class_Area2D_property_monitoring>` to be set to ``true``. :ref:`TileMap<class_TileMap>`\ s are detected if the :ref:`TileSet<class_TileSet>` has Collision :ref:`Shape2D<class_Shape2D>`\ s.
 
-``body_id`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileSet<class_TileSet>`'s :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileSet<class_TileSet>`'s :ref:`CollisionObject2D<class_CollisionObject2D>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
 
 ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
 
-``body_shape`` the index of the :ref:`Shape2D<class_Shape2D>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>` used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
 
-``local_shape`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`.
+``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this Area2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 Enumerations
 ------------
@@ -224,6 +230,22 @@ See :ref:`ProjectSettings.physics/2d/default_angular_damp<class_ProjectSettings_
 
 ----
 
+.. _class_Area2D_property_angular_damp_space_override:
+
+- :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` **angular_damp_space_override**
+
++-----------+---------------------------------------------+
+| *Default* | ``0``                                       |
++-----------+---------------------------------------------+
+| *Setter*  | set_angular_damp_space_override_mode(value) |
++-----------+---------------------------------------------+
+| *Getter*  | get_angular_damp_space_override_mode()      |
++-----------+---------------------------------------------+
+
+Override mode for angular damping calculations within this area. See :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` for possible values.
+
+----
+
 .. _class_Area2D_property_audio_bus_name:
 
 - :ref:`StringName<class_StringName>` **audio_bus_name**
@@ -268,23 +290,23 @@ If ``true``, the area's audio bus overrides the default audio bus.
 | *Getter*  | get_gravity()      |
 +-----------+--------------------+
 
-The area's gravity intensity (in pixels per second squared). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
+The area's gravity intensity (in pixels per second squared). This value multiplies the gravity direction. This is useful to alter the force of gravity without altering its direction.
 
 ----
 
-.. _class_Area2D_property_gravity_distance_scale:
+.. _class_Area2D_property_gravity_direction:
 
-- :ref:`float<class_float>` **gravity_distance_scale**
+- :ref:`Vector2<class_Vector2>` **gravity_direction**
 
-+-----------+-----------------------------------+
-| *Default* | ``0.0``                           |
-+-----------+-----------------------------------+
-| *Setter*  | set_gravity_distance_scale(value) |
-+-----------+-----------------------------------+
-| *Getter*  | get_gravity_distance_scale()      |
-+-----------+-----------------------------------+
++-----------+------------------------------+
+| *Default* | ``Vector2(0, 1)``            |
++-----------+------------------------------+
+| *Setter*  | set_gravity_direction(value) |
++-----------+------------------------------+
+| *Getter*  | get_gravity_direction()      |
++-----------+------------------------------+
 
-The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
+The area's gravity vector (not normalized).
 
 ----
 
@@ -300,23 +322,55 @@ The falloff factor for point gravity. The greater the value, the faster gravity
 | *Getter*  | is_gravity_a_point()        |
 +-----------+-----------------------------+
 
-If ``true``, gravity is calculated from a point (set via :ref:`gravity_vec<class_Area2D_property_gravity_vec>`). See also :ref:`space_override<class_Area2D_property_space_override>`.
+If ``true``, gravity is calculated from a point (set via :ref:`gravity_point_center<class_Area2D_property_gravity_point_center>`). See also :ref:`gravity_space_override<class_Area2D_property_gravity_space_override>`.
 
 ----
 
-.. _class_Area2D_property_gravity_vec:
+.. _class_Area2D_property_gravity_point_center:
 
-- :ref:`Vector2<class_Vector2>` **gravity_vec**
+- :ref:`Vector2<class_Vector2>` **gravity_point_center**
 
-+-----------+---------------------------+
-| *Default* | ``Vector2(0, 1)``         |
-+-----------+---------------------------+
-| *Setter*  | set_gravity_vector(value) |
-+-----------+---------------------------+
-| *Getter*  | get_gravity_vector()      |
-+-----------+---------------------------+
++-----------+---------------------------------+
+| *Default* | ``Vector2(0, 1)``               |
++-----------+---------------------------------+
+| *Setter*  | set_gravity_point_center(value) |
++-----------+---------------------------------+
+| *Getter*  | get_gravity_point_center()      |
++-----------+---------------------------------+
+
+If gravity is a point (see :ref:`gravity_point<class_Area2D_property_gravity_point>`), this will be the point of attraction.
+
+----
+
+.. _class_Area2D_property_gravity_point_distance_scale:
+
+- :ref:`float<class_float>` **gravity_point_distance_scale**
+
++-----------+-----------------------------------------+
+| *Default* | ``0.0``                                 |
++-----------+-----------------------------------------+
+| *Setter*  | set_gravity_point_distance_scale(value) |
++-----------+-----------------------------------------+
+| *Getter*  | get_gravity_point_distance_scale()      |
++-----------+-----------------------------------------+
+
+The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
 
-The area's gravity vector (not normalized). If gravity is a point (see :ref:`gravity_point<class_Area2D_property_gravity_point>`), this will be the point of attraction.
+----
+
+.. _class_Area2D_property_gravity_space_override:
+
+- :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` **gravity_space_override**
+
++-----------+----------------------------------------+
+| *Default* | ``0``                                  |
++-----------+----------------------------------------+
+| *Setter*  | set_gravity_space_override_mode(value) |
++-----------+----------------------------------------+
+| *Getter*  | get_gravity_space_override_mode()      |
++-----------+----------------------------------------+
+
+Override mode for gravity calculations within this area. See :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` for possible values.
 
 ----
 
@@ -338,6 +392,22 @@ See :ref:`ProjectSettings.physics/2d/default_linear_damp<class_ProjectSettings_p
 
 ----
 
+.. _class_Area2D_property_linear_damp_space_override:
+
+- :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` **linear_damp_space_override**
+
++-----------+--------------------------------------------+
+| *Default* | ``0``                                      |
++-----------+--------------------------------------------+
+| *Setter*  | set_linear_damp_space_override_mode(value) |
++-----------+--------------------------------------------+
+| *Getter*  | get_linear_damp_space_override_mode()      |
++-----------+--------------------------------------------+
+
+Override mode for linear damping calculations within this area. See :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` for possible values.
+
+----
+
 .. _class_Area2D_property_monitorable:
 
 - :ref:`bool<class_bool>` **monitorable**
@@ -384,22 +454,6 @@ If ``true``, the area detects bodies or areas entering and exiting it.
 
 The area's priority. Higher priority areas are processed first.
 
-----
-
-.. _class_Area2D_property_space_override:
-
-- :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` **space_override**
-
-+-----------+--------------------------------+
-| *Default* | ``0``                          |
-+-----------+--------------------------------+
-| *Setter*  | set_space_override_mode(value) |
-+-----------+--------------------------------+
-| *Getter*  | get_space_override_mode()      |
-+-----------+--------------------------------+
-
-Override mode for gravity and damping calculations within this area. See :ref:`SpaceOverride<enum_Area2D_SpaceOverride>` for possible values.
-
 Method Descriptions
 -------------------
 
@@ -407,7 +461,9 @@ Method Descriptions
 
 - :ref:`Area2D[]<class_Area2D>` **get_overlapping_areas** **(** **)** |const|
 
-Returns a list of intersecting ``Area2D``\ s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+Returns a list of intersecting ``Area2D``\ s. The overlapping area's :ref:`CollisionObject2D.collision_layer<class_CollisionObject2D_property_collision_layer>` must be part of this area's :ref:`CollisionObject2D.collision_mask<class_CollisionObject2D_property_collision_mask>` in order to be detected.
+
+For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
 
 ----
 
@@ -415,7 +471,9 @@ Returns a list of intersecting ``Area2D``\ s. For performance reasons (collision
 
 - :ref:`Node2D[]<class_Node2D>` **get_overlapping_bodies** **(** **)** |const|
 
-Returns a list of intersecting :ref:`PhysicsBody2D<class_PhysicsBody2D>`\ s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+Returns a list of intersecting :ref:`PhysicsBody2D<class_PhysicsBody2D>`\ s. The overlapping body's :ref:`CollisionObject2D.collision_layer<class_CollisionObject2D_property_collision_layer>` must be part of this area's :ref:`CollisionObject2D.collision_mask<class_CollisionObject2D_property_collision_mask>` in order to be detected.
+
+For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
 
 ----
 

+ 155 - 97
classes/class_area3d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the Area3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -28,45 +28,51 @@ Tutorials
 Properties
 ----------
 
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`angular_damp<class_Area3D_property_angular_damp>`                       | ``0.1``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`StringName<class_StringName>`             | :ref:`audio_bus_name<class_Area3D_property_audio_bus_name>`                   | ``&"Master"``         |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`bool<class_bool>`                         | :ref:`audio_bus_override<class_Area3D_property_audio_bus_override>`           | ``false``             |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`gravity<class_Area3D_property_gravity>`                                 | ``9.8``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`gravity_distance_scale<class_Area3D_property_gravity_distance_scale>`   | ``0.0``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`bool<class_bool>`                         | :ref:`gravity_point<class_Area3D_property_gravity_point>`                     | ``false``             |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`Vector3<class_Vector3>`                   | :ref:`gravity_vec<class_Area3D_property_gravity_vec>`                         | ``Vector3(0, -1, 0)`` |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`linear_damp<class_Area3D_property_linear_damp>`                         | ``0.1``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`bool<class_bool>`                         | :ref:`monitorable<class_Area3D_property_monitorable>`                         | ``true``              |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`bool<class_bool>`                         | :ref:`monitoring<class_Area3D_property_monitoring>`                           | ``true``              |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`priority<class_Area3D_property_priority>`                               | ``0.0``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`reverb_bus_amount<class_Area3D_property_reverb_bus_amount>`             | ``0.0``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`bool<class_bool>`                         | :ref:`reverb_bus_enable<class_Area3D_property_reverb_bus_enable>`             | ``false``             |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`StringName<class_StringName>`             | :ref:`reverb_bus_name<class_Area3D_property_reverb_bus_name>`                 | ``&"Master"``         |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`reverb_bus_uniformity<class_Area3D_property_reverb_bus_uniformity>`     | ``0.0``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` | :ref:`space_override<class_Area3D_property_space_override>`                   | ``0``                 |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`wind_attenuation_factor<class_Area3D_property_wind_attenuation_factor>` | ``0.0``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                       | :ref:`wind_force_magnitude<class_Area3D_property_wind_force_magnitude>`       | ``0.0``               |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
-| :ref:`NodePath<class_NodePath>`                 | :ref:`wind_source_path<class_Area3D_property_wind_source_path>`               | ``NodePath("")``      |
-+-------------------------------------------------+-------------------------------------------------------------------------------+-----------------------+
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`angular_damp<class_Area3D_property_angular_damp>`                                 | ``0.1``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` | :ref:`angular_damp_space_override<class_Area3D_property_angular_damp_space_override>`   | ``0``                 |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`StringName<class_StringName>`             | :ref:`audio_bus_name<class_Area3D_property_audio_bus_name>`                             | ``&"Master"``         |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`bool<class_bool>`                         | :ref:`audio_bus_override<class_Area3D_property_audio_bus_override>`                     | ``false``             |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`gravity<class_Area3D_property_gravity>`                                           | ``9.8``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`Vector3<class_Vector3>`                   | :ref:`gravity_direction<class_Area3D_property_gravity_direction>`                       | ``Vector3(0, -1, 0)`` |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`bool<class_bool>`                         | :ref:`gravity_point<class_Area3D_property_gravity_point>`                               | ``false``             |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`Vector3<class_Vector3>`                   | :ref:`gravity_point_center<class_Area3D_property_gravity_point_center>`                 | ``Vector3(0, -1, 0)`` |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`gravity_point_distance_scale<class_Area3D_property_gravity_point_distance_scale>` | ``0.0``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` | :ref:`gravity_space_override<class_Area3D_property_gravity_space_override>`             | ``0``                 |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`linear_damp<class_Area3D_property_linear_damp>`                                   | ``0.1``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` | :ref:`linear_damp_space_override<class_Area3D_property_linear_damp_space_override>`     | ``0``                 |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`bool<class_bool>`                         | :ref:`monitorable<class_Area3D_property_monitorable>`                                   | ``true``              |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`bool<class_bool>`                         | :ref:`monitoring<class_Area3D_property_monitoring>`                                     | ``true``              |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`priority<class_Area3D_property_priority>`                                         | ``0.0``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`reverb_bus_amount<class_Area3D_property_reverb_bus_amount>`                       | ``0.0``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`bool<class_bool>`                         | :ref:`reverb_bus_enable<class_Area3D_property_reverb_bus_enable>`                       | ``false``             |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`StringName<class_StringName>`             | :ref:`reverb_bus_name<class_Area3D_property_reverb_bus_name>`                           | ``&"Master"``         |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`reverb_bus_uniformity<class_Area3D_property_reverb_bus_uniformity>`               | ``0.0``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`wind_attenuation_factor<class_Area3D_property_wind_attenuation_factor>`           | ``0.0``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`                       | :ref:`wind_force_magnitude<class_Area3D_property_wind_force_magnitude>`                 | ``0.0``               |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
+| :ref:`NodePath<class_NodePath>`                 | :ref:`wind_source_path<class_Area3D_property_wind_source_path>`                         | ``NodePath("")``      |
++-------------------------------------------------+-----------------------------------------------------------------------------------------+-----------------------+
 
 Methods
 -------
@@ -106,33 +112,33 @@ Emitted when another Area3D exits this Area3D. Requires :ref:`monitoring<class_A
 
 .. _class_Area3D_signal_area_shape_entered:
 
-- **area_shape_entered** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area3D<class_Area3D>` area, :ref:`int<class_int>` area_shape, :ref:`int<class_int>` local_shape **)**
+- **area_shape_entered** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area3D<class_Area3D>` area, :ref:`int<class_int>` area_shape_index, :ref:`int<class_int>` local_shape_index **)**
 
 Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
 
-``area_id`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``area_rid`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
 
 ``area`` the other Area3D.
 
-``area_shape`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``area_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
 
-``local_shape`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
 .. _class_Area3D_signal_area_shape_exited:
 
-- **area_shape_exited** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area3D<class_Area3D>` area, :ref:`int<class_int>` area_shape, :ref:`int<class_int>` local_shape **)**
+- **area_shape_exited** **(** :ref:`RID<class_RID>` area_rid, :ref:`Area3D<class_Area3D>` area, :ref:`int<class_int>` area_shape_index, :ref:`int<class_int>` local_shape_index **)**
 
-Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
+Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s exits one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``.
 
-``area_id`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``area_rid`` the :ref:`RID<class_RID>` of the other Area3D's :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
 
 ``area`` the other Area3D.
 
-``area_shape`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``area_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``area.shape_owner_get_owner(area_shape_index)``.
 
-``local_shape`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
@@ -158,33 +164,33 @@ Emitted when a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_
 
 .. _class_Area3D_signal_body_shape_entered:
 
-- **body_shape_entered** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node3D<class_Node3D>` body, :ref:`int<class_int>` body_shape, :ref:`int<class_int>` local_shape **)**
+- **body_shape_entered** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node3D<class_Node3D>` body, :ref:`int<class_int>` body_shape_index, :ref:`int<class_int>` local_shape_index **)**
 
 Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`'s :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
 
-``body_id`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
 
 ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
 
-``body_shape`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
 
-``local_shape`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 ----
 
 .. _class_Area3D_signal_body_shape_exited:
 
-- **body_shape_exited** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node3D<class_Node3D>` body, :ref:`int<class_int>` body_shape, :ref:`int<class_int>` local_shape **)**
+- **body_shape_exited** **(** :ref:`RID<class_RID>` body_rid, :ref:`Node3D<class_Node3D>` body, :ref:`int<class_int>` body_shape_index, :ref:`int<class_int>` local_shape_index **)**
 
 Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`'s :ref:`Shape3D<class_Shape3D>`\ s enters one of this Area3D's :ref:`Shape3D<class_Shape3D>`\ s. Requires :ref:`monitoring<class_Area3D_property_monitoring>` to be set to ``true``. :ref:`GridMap<class_GridMap>`\ s are detected if the :ref:`MeshLibrary<class_MeshLibrary>` has Collision :ref:`Shape3D<class_Shape3D>`\ s.
 
-``body_id`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``body_rid`` the :ref:`RID<class_RID>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`MeshLibrary<class_MeshLibrary>`'s :ref:`CollisionObject3D<class_CollisionObject3D>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
 
 ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
 
-``body_shape`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>` used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``body.shape_owner_get_owner(body_shape_index)``.
 
-``local_shape`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`.
+``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this Area3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
 
 Enumerations
 ------------
@@ -234,6 +240,22 @@ See :ref:`ProjectSettings.physics/3d/default_angular_damp<class_ProjectSettings_
 
 ----
 
+.. _class_Area3D_property_angular_damp_space_override:
+
+- :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` **angular_damp_space_override**
+
++-----------+---------------------------------------------+
+| *Default* | ``0``                                       |
++-----------+---------------------------------------------+
+| *Setter*  | set_angular_damp_space_override_mode(value) |
++-----------+---------------------------------------------+
+| *Getter*  | get_angular_damp_space_override_mode()      |
++-----------+---------------------------------------------+
+
+Override mode for angular damping calculations within this area. See :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` for possible values.
+
+----
+
 .. _class_Area3D_property_audio_bus_name:
 
 - :ref:`StringName<class_StringName>` **audio_bus_name**
@@ -278,23 +300,23 @@ If ``true``, the area's audio bus overrides the default audio bus.
 | *Getter*  | get_gravity()      |
 +-----------+--------------------+
 
-The area's gravity intensity (in meters per second squared). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
+The area's gravity intensity (in meters per second squared). This value multiplies the gravity direction. This is useful to alter the force of gravity without altering its direction.
 
 ----
 
-.. _class_Area3D_property_gravity_distance_scale:
+.. _class_Area3D_property_gravity_direction:
 
-- :ref:`float<class_float>` **gravity_distance_scale**
+- :ref:`Vector3<class_Vector3>` **gravity_direction**
 
-+-----------+-----------------------------------+
-| *Default* | ``0.0``                           |
-+-----------+-----------------------------------+
-| *Setter*  | set_gravity_distance_scale(value) |
-+-----------+-----------------------------------+
-| *Getter*  | get_gravity_distance_scale()      |
-+-----------+-----------------------------------+
++-----------+------------------------------+
+| *Default* | ``Vector3(0, -1, 0)``        |
++-----------+------------------------------+
+| *Setter*  | set_gravity_direction(value) |
++-----------+------------------------------+
+| *Getter*  | get_gravity_direction()      |
++-----------+------------------------------+
 
-The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
+The area's gravity vector (not normalized).
 
 ----
 
@@ -310,23 +332,55 @@ The falloff factor for point gravity. The greater the value, the faster gravity
 | *Getter*  | is_gravity_a_point()        |
 +-----------+-----------------------------+
 
-If ``true``, gravity is calculated from a point (set via :ref:`gravity_vec<class_Area3D_property_gravity_vec>`). See also :ref:`space_override<class_Area3D_property_space_override>`.
+If ``true``, gravity is calculated from a point (set via :ref:`gravity_point_center<class_Area3D_property_gravity_point_center>`). See also :ref:`gravity_space_override<class_Area3D_property_gravity_space_override>`.
 
 ----
 
-.. _class_Area3D_property_gravity_vec:
+.. _class_Area3D_property_gravity_point_center:
 
-- :ref:`Vector3<class_Vector3>` **gravity_vec**
+- :ref:`Vector3<class_Vector3>` **gravity_point_center**
 
-+-----------+---------------------------+
-| *Default* | ``Vector3(0, -1, 0)``     |
-+-----------+---------------------------+
-| *Setter*  | set_gravity_vector(value) |
-+-----------+---------------------------+
-| *Getter*  | get_gravity_vector()      |
-+-----------+---------------------------+
++-----------+---------------------------------+
+| *Default* | ``Vector3(0, -1, 0)``           |
++-----------+---------------------------------+
+| *Setter*  | set_gravity_point_center(value) |
++-----------+---------------------------------+
+| *Getter*  | get_gravity_point_center()      |
++-----------+---------------------------------+
 
-The area's gravity vector (not normalized). If gravity is a point (see :ref:`gravity_point<class_Area3D_property_gravity_point>`), this will be the point of attraction.
+If gravity is a point (see :ref:`gravity_point<class_Area3D_property_gravity_point>`), this will be the point of attraction.
+
+----
+
+.. _class_Area3D_property_gravity_point_distance_scale:
+
+- :ref:`float<class_float>` **gravity_point_distance_scale**
+
++-----------+-----------------------------------------+
+| *Default* | ``0.0``                                 |
++-----------+-----------------------------------------+
+| *Setter*  | set_gravity_point_distance_scale(value) |
++-----------+-----------------------------------------+
+| *Getter*  | get_gravity_point_distance_scale()      |
++-----------+-----------------------------------------+
+
+The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance.
+
+----
+
+.. _class_Area3D_property_gravity_space_override:
+
+- :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` **gravity_space_override**
+
++-----------+----------------------------------------+
+| *Default* | ``0``                                  |
++-----------+----------------------------------------+
+| *Setter*  | set_gravity_space_override_mode(value) |
++-----------+----------------------------------------+
+| *Getter*  | get_gravity_space_override_mode()      |
++-----------+----------------------------------------+
+
+Override mode for gravity calculations within this area. See :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` for possible values.
 
 ----
 
@@ -348,6 +402,22 @@ See :ref:`ProjectSettings.physics/3d/default_linear_damp<class_ProjectSettings_p
 
 ----
 
+.. _class_Area3D_property_linear_damp_space_override:
+
+- :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` **linear_damp_space_override**
+
++-----------+--------------------------------------------+
+| *Default* | ``0``                                      |
++-----------+--------------------------------------------+
+| *Setter*  | set_linear_damp_space_override_mode(value) |
++-----------+--------------------------------------------+
+| *Getter*  | get_linear_damp_space_override_mode()      |
++-----------+--------------------------------------------+
+
+Override mode for linear damping calculations within this area. See :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` for possible values.
+
+----
+
 .. _class_Area3D_property_monitorable:
 
 - :ref:`bool<class_bool>` **monitorable**
@@ -460,22 +530,6 @@ The degree to which this area's reverb is a uniform effect. Ranges from ``0`` to
 
 ----
 
-.. _class_Area3D_property_space_override:
-
-- :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` **space_override**
-
-+-----------+--------------------------------+
-| *Default* | ``0``                          |
-+-----------+--------------------------------+
-| *Setter*  | set_space_override_mode(value) |
-+-----------+--------------------------------+
-| *Getter*  | get_space_override_mode()      |
-+-----------+--------------------------------+
-
-Override mode for gravity and damping calculations within this area. See :ref:`SpaceOverride<enum_Area3D_SpaceOverride>` for possible values.
-
-----
-
 .. _class_Area3D_property_wind_attenuation_factor:
 
 - :ref:`float<class_float>` **wind_attenuation_factor**
@@ -529,7 +583,9 @@ Method Descriptions
 
 - :ref:`Area3D[]<class_Area3D>` **get_overlapping_areas** **(** **)** |const|
 
-Returns a list of intersecting ``Area3D``\ s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+Returns a list of intersecting ``Area3D``\ s. The overlapping area's :ref:`CollisionObject3D.collision_layer<class_CollisionObject3D_property_collision_layer>` must be part of this area's :ref:`CollisionObject3D.collision_mask<class_CollisionObject3D_property_collision_mask>` in order to be detected.
+
+For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
 
 ----
 
@@ -537,7 +593,9 @@ Returns a list of intersecting ``Area3D``\ s. For performance reasons (collision
 
 - :ref:`Node3D[]<class_Node3D>` **get_overlapping_bodies** **(** **)** |const|
 
-Returns a list of intersecting :ref:`PhysicsBody3D<class_PhysicsBody3D>`\ s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+Returns a list of intersecting :ref:`PhysicsBody3D<class_PhysicsBody3D>`\ s. The overlapping body's :ref:`CollisionObject3D.collision_layer<class_CollisionObject3D_property_collision_layer>` must be part of this area's :ref:`CollisionObject3D.collision_mask<class_CollisionObject3D_property_collision_mask>` in order to be detected.
+
+For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
 
 ----
 

+ 140 - 124
classes/class_array.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the Array.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -67,31 +67,36 @@ Arrays can be concatenated using the ``+`` operator:
 
 **Note:** When declaring an array with ``const``, the array itself can still be mutated by defining the values at individual indices or pushing/removing elements. Using ``const`` will only prevent assigning the constant with another value after it was initialized.
 
+Constructors
+------------
+
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** **)**                                                          |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`Array<class_Array>` from **)**                           |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedByteArray<class_PackedByteArray>` from **)**       |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedColorArray<class_PackedColorArray>` from **)**     |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedFloat32Array<class_PackedFloat32Array>` from **)** |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedFloat64Array<class_PackedFloat64Array>` from **)** |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedInt32Array<class_PackedInt32Array>` from **)**     |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedInt64Array<class_PackedInt64Array>` from **)**     |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedStringArray<class_PackedStringArray>` from **)**   |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` from **)** |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`Array<class_Array_constructor_Array>` **(** :ref:`PackedVector3Array<class_PackedVector3Array>` from **)** |
++---------------------------+------------------------------------------------------------------------------------------------------------------+
+
 Methods
 -------
 
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** **)** |constructor|                                                                                                                    |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`Array<class_Array>` from **)** |constructor|                                                                                     |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedByteArray<class_PackedByteArray>` from **)** |constructor|                                                                 |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedColorArray<class_PackedColorArray>` from **)** |constructor|                                                               |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedFloat32Array<class_PackedFloat32Array>` from **)** |constructor|                                                           |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedFloat64Array<class_PackedFloat64Array>` from **)** |constructor|                                                           |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedInt32Array<class_PackedInt32Array>` from **)** |constructor|                                                               |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedInt64Array<class_PackedInt64Array>` from **)** |constructor|                                                               |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedStringArray<class_PackedStringArray>` from **)** |constructor|                                                             |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` from **)** |constructor|                                                           |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | :ref:`Array<class_Array_method_Array>` **(** :ref:`PackedVector3Array<class_PackedVector3Array>` from **)** |constructor|                                                           |
 +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                          | :ref:`append<class_Array_method_append>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                            |
 +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -135,26 +140,6 @@ Methods
 +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_Variant>` | :ref:`min<class_Array_method_min>` **(** **)** |const|                                                                                                                              |
 +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator !=** **(** **)** |operator|                                                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator !=** **(** :ref:`Array<class_Array>` right **)** |operator|                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`     | **operator +** **(** :ref:`Array<class_Array>` right **)** |operator|                                                                                                               |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator <** **(** :ref:`Array<class_Array>` right **)** |operator|                                                                                                               |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator <=** **(** :ref:`Array<class_Array>` right **)** |operator|                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator ==** **(** **)** |operator|                                                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator ==** **(** :ref:`Array<class_Array>` right **)** |operator|                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator >** **(** :ref:`Array<class_Array>` right **)** |operator|                                                                                                               |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | **operator >=** **(** :ref:`Array<class_Array>` right **)** |operator|                                                                                                              |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | **operator []** **(** :ref:`int<class_int>` index **)** |operator|                                                                                                                  |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_Variant>` | :ref:`pop_at<class_Array_method_pop_at>` **(** :ref:`int<class_int>` position **)**                                                                                                 |
 +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_Variant>` | :ref:`pop_back<class_Array_method_pop_back>` **(** **)**                                                                                                                            |
@@ -186,76 +171,102 @@ Methods
 | void                          | :ref:`sort_custom<class_Array_method_sort_custom>` **(** :ref:`Callable<class_Callable>` func **)**                                                                                 |
 +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Method Descriptions
--------------------
-
-.. _class_Array_method_Array:
-
-- :ref:`Array<class_Array>` **Array** **(** **)** |constructor|
+Operators
+---------
+
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`operator !=<class_Array_operator_neq_bool>` **(** **)**                                 |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`operator !=<class_Array_operator_neq_bool>` **(** :ref:`Array<class_Array>` right **)** |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`operator +<class_Array_operator_sum_Array>` **(** :ref:`Array<class_Array>` right **)** |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`operator <<class_Array_operator_lt_bool>` **(** :ref:`Array<class_Array>` right **)**   |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`operator <=<class_Array_operator_lte_bool>` **(** :ref:`Array<class_Array>` right **)** |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`operator ==<class_Array_operator_eq_bool>` **(** **)**                                  |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`operator ==<class_Array_operator_eq_bool>` **(** :ref:`Array<class_Array>` right **)**  |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`operator ><class_Array_operator_gt_bool>` **(** :ref:`Array<class_Array>` right **)**   |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`operator >=<class_Array_operator_gte_bool>` **(** :ref:`Array<class_Array>` right **)** |
++---------------------------+-----------------------------------------------------------------------------------------------+
+| void                      | :ref:`operator []<class_Array_operator_idx_void>` **(** :ref:`int<class_int>` index **)**     |
++---------------------------+-----------------------------------------------------------------------------------------------+
+
+Constructor Descriptions
+------------------------
+
+.. _class_Array_constructor_Array:
+
+- :ref:`Array<class_Array>` **Array** **(** **)**
 
 Constructs an empty ``Array``.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`Array<class_Array>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`Array<class_Array>` from **)**
 
 Constructs an ``Array`` as a copy of the given ``Array``.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedByteArray<class_PackedByteArray>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedByteArray<class_PackedByteArray>` from **)**
 
 Constructs an array from a :ref:`PackedByteArray<class_PackedByteArray>`.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedColorArray<class_PackedColorArray>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedColorArray<class_PackedColorArray>` from **)**
 
 Constructs an array from a :ref:`PackedColorArray<class_PackedColorArray>`.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedFloat32Array<class_PackedFloat32Array>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedFloat32Array<class_PackedFloat32Array>` from **)**
 
 Constructs an array from a :ref:`PackedFloat32Array<class_PackedFloat32Array>`.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedFloat64Array<class_PackedFloat64Array>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedFloat64Array<class_PackedFloat64Array>` from **)**
 
 Constructs an array from a :ref:`PackedFloat64Array<class_PackedFloat64Array>`.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedInt32Array<class_PackedInt32Array>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedInt32Array<class_PackedInt32Array>` from **)**
 
 Constructs an array from a :ref:`PackedInt32Array<class_PackedInt32Array>`.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedInt64Array<class_PackedInt64Array>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedInt64Array<class_PackedInt64Array>` from **)**
 
 Constructs an array from a :ref:`PackedInt64Array<class_PackedInt64Array>`.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedStringArray<class_PackedStringArray>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedStringArray<class_PackedStringArray>` from **)**
 
 Constructs an array from a :ref:`PackedStringArray<class_PackedStringArray>`.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` from **)**
 
 Constructs an array from a :ref:`PackedVector2Array<class_PackedVector2Array>`.
 
 ----
 
-- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedVector3Array<class_PackedVector3Array>` from **)** |constructor|
+- :ref:`Array<class_Array>` **Array** **(** :ref:`PackedVector3Array<class_PackedVector3Array>` from **)**
 
 Constructs an array from a :ref:`PackedVector3Array<class_PackedVector3Array>`.
 
-----
+Method Descriptions
+-------------------
 
 .. _class_Array_method_append:
 
@@ -536,62 +547,6 @@ Returns the minimum value contained in the array if all elements are of comparab
 
 ----
 
-.. _class_Array_method_operator !=:
-
-- :ref:`bool<class_bool>` **operator !=** **(** **)** |operator|
-
-----
-
-- :ref:`bool<class_bool>` **operator !=** **(** :ref:`Array<class_Array>` right **)** |operator|
-
-----
-
-.. _class_Array_method_operator +:
-
-- :ref:`Array<class_Array>` **operator +** **(** :ref:`Array<class_Array>` right **)** |operator|
-
-----
-
-.. _class_Array_method_operator <:
-
-- :ref:`bool<class_bool>` **operator <** **(** :ref:`Array<class_Array>` right **)** |operator|
-
-----
-
-.. _class_Array_method_operator <=:
-
-- :ref:`bool<class_bool>` **operator <=** **(** :ref:`Array<class_Array>` right **)** |operator|
-
-----
-
-.. _class_Array_method_operator ==:
-
-- :ref:`bool<class_bool>` **operator ==** **(** **)** |operator|
-
-----
-
-- :ref:`bool<class_bool>` **operator ==** **(** :ref:`Array<class_Array>` right **)** |operator|
-
-----
-
-.. _class_Array_method_operator >:
-
-- :ref:`bool<class_bool>` **operator >** **(** :ref:`Array<class_Array>` right **)** |operator|
-
-----
-
-.. _class_Array_method_operator >=:
-
-- :ref:`bool<class_bool>` **operator >=** **(** :ref:`Array<class_Array>` right **)** |operator|
-
-----
-
-.. _class_Array_method_operator []:
-
-- void **operator []** **(** :ref:`int<class_int>` index **)** |operator|
-
-----
-
 .. _class_Array_method_pop_at:
 
 - :ref:`Variant<class_Variant>` **pop_at** **(** :ref:`int<class_int>` position **)**
@@ -755,15 +710,19 @@ Sorts the array using a custom method. The custom method receives two arguments
 
  .. code-tab:: gdscript
 
-    class MyCustomSorter:
-        static func sort_ascending(a, b):
-            if a[0] < b[0]:
-                return true
-            return false
+    func sort_ascending(a, b):
+        if a[0] < b[0]:
+            return true
+        return false
     
-    var my_items = [[5, "Potato"], [9, "Rice"], [4, "Tomato"]]
-    my_items.sort_custom(MyCustomSorter.sort_ascending)
-    print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].
+    func _ready():
+        var my_items = [[5, "Potato"], [9, "Rice"], [4, "Tomato"]]
+        my_items.sort_custom(sort_ascending)
+        print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].
+    
+        # Descending, lambda version.
+        my_items.sort_custom(func(a, b): return a[0] > b[0])
+        print(my_items) # Prints [[9, Rice], [5, Potato], [4, Tomato]].
 
  .. code-tab:: csharp
 
@@ -771,6 +730,63 @@ Sorts the array using a custom method. The custom method receives two arguments
 
 
 
+Operator Descriptions
+---------------------
+
+.. _class_Array_operator_neq_bool:
+
+- :ref:`bool<class_bool>` **operator !=** **(** **)**
+
+----
+
+- :ref:`bool<class_bool>` **operator !=** **(** :ref:`Array<class_Array>` right **)**
+
+----
+
+.. _class_Array_operator_sum_Array:
+
+- :ref:`Array<class_Array>` **operator +** **(** :ref:`Array<class_Array>` right **)**
+
+----
+
+.. _class_Array_operator_lt_bool:
+
+- :ref:`bool<class_bool>` **operator <** **(** :ref:`Array<class_Array>` right **)**
+
+----
+
+.. _class_Array_operator_lte_bool:
+
+- :ref:`bool<class_bool>` **operator <=** **(** :ref:`Array<class_Array>` right **)**
+
+----
+
+.. _class_Array_operator_eq_bool:
+
+- :ref:`bool<class_bool>` **operator ==** **(** **)**
+
+----
+
+- :ref:`bool<class_bool>` **operator ==** **(** :ref:`Array<class_Array>` right **)**
+
+----
+
+.. _class_Array_operator_gt_bool:
+
+- :ref:`bool<class_bool>` **operator >** **(** :ref:`Array<class_Array>` right **)**
+
+----
+
+.. _class_Array_operator_gte_bool:
+
+- :ref:`bool<class_bool>` **operator >=** **(** :ref:`Array<class_Array>` right **)**
+
+----
+
+.. _class_Array_operator_idx_void:
+
+- void **operator []** **(** :ref:`int<class_int>` index **)**
+
 .. |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.)`

+ 1 - 1
classes/class_arraymesh.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the ArrayMesh.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_aspectratiocontainer.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AspectRatioContainer.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_astar.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AStar.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_astar2d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AStar2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_atlastexture.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AtlasTexture.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiobuslayout.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioBusLayout.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffect.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffect.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectamplify.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectAmplify.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectbandlimitfilter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectBandLimitFilter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectbandpassfilter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectBandPassFilter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectcapture.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectCapture.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectchorus.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectChorus.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectcompressor.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectCompressor.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectdelay.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectDelay.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectdistortion.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectDistortion.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffecteq.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectEQ.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffecteq10.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectEQ10.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffecteq21.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectEQ21.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffecteq6.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectEQ6.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectfilter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectFilter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffecthighpassfilter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectHighPassFilter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffecthighshelffilter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectHighShelfFilter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectinstance.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectInstance.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectlimiter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectLimiter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectlowpassfilter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectLowPassFilter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectlowshelffilter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectLowShelfFilter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectnotchfilter.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectNotchFilter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectpanner.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectPanner.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectphaser.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectPhaser.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectpitchshift.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectPitchShift.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectrecord.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectRecord.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectreverb.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectReverb.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectspectrumanalyzer.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectSpectrumAnalyzer.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectspectrumanalyzerinstance.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectSpectrumAnalyzerInstance.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioeffectstereoenhance.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioEffectStereoEnhance.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiolistener2d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioListener2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiolistener3d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioListener3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audioserver.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioServer.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostream.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStream.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreamgenerator.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamGenerator.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreamgeneratorplayback.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamGeneratorPlayback.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreammicrophone.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamMicrophone.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreammp3.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamMP3.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreamoggvorbis.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamOGGVorbis.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreamplayback.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamPlayback.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreamplaybackoggvorbis.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamPlaybackOGGVorbis.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreamplaybackresampled.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamPlaybackResampled.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreamplayer.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamPlayer.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_audiostreamplayer2d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamPlayer2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 2 - 2
classes/class_audiostreamplayer3d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamPlayer3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -117,7 +117,7 @@ enum **AttenuationModel**:
 
 - **ATTENUATION_LOGARITHMIC** = **2** --- Logarithmic dampening of loudness according to distance.
 
-- **ATTENUATION_DISABLED** = **3** --- No dampening of loudness according to distance. The sound will still be heard positionally, unlike an :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`.
+- **ATTENUATION_DISABLED** = **3** --- No dampening of loudness according to distance. The sound will still be heard positionally, unlike an :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`. :ref:`ATTENUATION_DISABLED<class_AudioStreamPlayer3D_constant_ATTENUATION_DISABLED>` can be combined with a :ref:`max_distance<class_AudioStreamPlayer3D_property_max_distance>` value greater than ``0.0`` to achieve linear attenuation clamped to a sphere of a defined size.
 
 ----
 

+ 1 - 1
classes/class_audiostreamrandompitch.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamRandomPitch.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 3 - 3
classes/class_audiostreamsample.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the AudioStreamSample.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -73,7 +73,7 @@ enum **Format**:
 
 .. _class_AudioStreamSample_constant_LOOP_FORWARD:
 
-.. _class_AudioStreamSample_constant_LOOP_PING_PONG:
+.. _class_AudioStreamSample_constant_LOOP_PINGPONG:
 
 .. _class_AudioStreamSample_constant_LOOP_BACKWARD:
 
@@ -83,7 +83,7 @@ enum **LoopMode**:
 
 - **LOOP_FORWARD** = **1** --- Audio loops the data between :ref:`loop_begin<class_AudioStreamSample_property_loop_begin>` and :ref:`loop_end<class_AudioStreamSample_property_loop_end>`, playing forward only.
 
-- **LOOP_PING_PONG** = **2** --- Audio loops the data between :ref:`loop_begin<class_AudioStreamSample_property_loop_begin>` and :ref:`loop_end<class_AudioStreamSample_property_loop_end>`, playing back and forth.
+- **LOOP_PINGPONG** = **2** --- Audio loops the data between :ref:`loop_begin<class_AudioStreamSample_property_loop_begin>` and :ref:`loop_end<class_AudioStreamSample_property_loop_end>`, playing back and forth.
 
 - **LOOP_BACKWARD** = **3** --- Audio loops the data between :ref:`loop_begin<class_AudioStreamSample_property_loop_begin>` and :ref:`loop_end<class_AudioStreamSample_property_loop_end>`, playing backward only.
 

+ 1 - 1
classes/class_backbuffercopy.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the BackBufferCopy.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 25 - 25
classes/class_basebutton.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the BaseButton.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -23,29 +23,29 @@ BaseButton is the abstract base class for buttons, so it shouldn't be used direc
 Properties
 ----------
 
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`ActionMode<enum_BaseButton_ActionMode>` | :ref:`action_mode<class_BaseButton_property_action_mode>`                   | ``1``                     |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`ButtonGroup<class_ButtonGroup>`         | :ref:`button_group<class_BaseButton_property_button_group>`                 |                           |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`int<class_int>`                         | :ref:`button_mask<class_BaseButton_property_button_mask>`                   | ``1``                     |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`disabled<class_BaseButton_property_disabled>`                         | ``false``                 |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`FocusMode<enum_Control_FocusMode>`      | focus_mode                                                                  | ``2`` *(parent override)* |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`keep_pressed_outside<class_BaseButton_property_keep_pressed_outside>` | ``false``                 |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`pressed<class_BaseButton_property_pressed>`                           | ``false``                 |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`Shortcut<class_Shortcut>`               | :ref:`shortcut<class_BaseButton_property_shortcut>`                         |                           |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`Node<class_Node>`                       | :ref:`shortcut_context<class_BaseButton_property_shortcut_context>`         |                           |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`shortcut_in_tooltip<class_BaseButton_property_shortcut_in_tooltip>`   | ``true``                  |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`toggle_mode<class_BaseButton_property_toggle_mode>`                   | ``false``                 |
-+-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`ActionMode<enum_BaseButton_ActionMode>`     | :ref:`action_mode<class_BaseButton_property_action_mode>`                   | ``1``                     |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`ButtonGroup<class_ButtonGroup>`             | :ref:`button_group<class_BaseButton_property_button_group>`                 |                           |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`MouseButton<enum_@GlobalScope_MouseButton>` | :ref:`button_mask<class_BaseButton_property_button_mask>`                   | ``1``                     |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`disabled<class_BaseButton_property_disabled>`                         | ``false``                 |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`FocusMode<enum_Control_FocusMode>`          | focus_mode                                                                  | ``2`` *(parent override)* |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`keep_pressed_outside<class_BaseButton_property_keep_pressed_outside>` | ``false``                 |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`pressed<class_BaseButton_property_pressed>`                           | ``false``                 |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`Shortcut<class_Shortcut>`                   | :ref:`shortcut<class_BaseButton_property_shortcut>`                         |                           |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`Node<class_Node>`                           | :ref:`shortcut_context<class_BaseButton_property_shortcut_context>`         |                           |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`shortcut_in_tooltip<class_BaseButton_property_shortcut_in_tooltip>`   | ``true``                  |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`toggle_mode<class_BaseButton_property_toggle_mode>`                   | ``false``                 |
++---------------------------------------------------+-----------------------------------------------------------------------------+---------------------------+
 
 Methods
 -------
@@ -173,7 +173,7 @@ The :ref:`ButtonGroup<class_ButtonGroup>` associated with the button. Not to be
 
 .. _class_BaseButton_property_button_mask:
 
-- :ref:`int<class_int>` **button_mask**
+- :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **button_mask**
 
 +-----------+------------------------+
 | *Default* | ``1``                  |

+ 1 - 1
classes/class_basematerial3d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the BaseMaterial3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 166 - 132
classes/class_basis.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the Basis.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -50,78 +50,100 @@ Properties
 | :ref:`Vector3<class_Vector3>` | :ref:`z<class_Basis_property_z>` | ``Vector3(0, 0, 1)`` |
 +-------------------------------+----------------------------------+----------------------+
 
+Constructors
+------------
+
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>` | :ref:`Basis<class_Basis_constructor_Basis>` **(** **)**                                                                                                                  |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>` | :ref:`Basis<class_Basis_constructor_Basis>` **(** :ref:`Basis<class_Basis>` from **)**                                                                                   |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>` | :ref:`Basis<class_Basis_constructor_Basis>` **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` phi **)**                                                |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>` | :ref:`Basis<class_Basis_constructor_Basis>` **(** :ref:`Quaternion<class_Quaternion>` from **)**                                                                         |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>` | :ref:`Basis<class_Basis_constructor_Basis>` **(** :ref:`Vector3<class_Vector3>` x_axis, :ref:`Vector3<class_Vector3>` y_axis, :ref:`Vector3<class_Vector3>` z_axis **)** |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
 Methods
 -------
 
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`Basis<class_Basis_method_Basis>` **(** **)** |constructor|                                                                                                                  |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`Basis<class_Basis_method_Basis>` **(** :ref:`Basis<class_Basis>` from **)** |constructor|                                                                                   |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`Basis<class_Basis_method_Basis>` **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` phi **)** |constructor|                                                |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`Basis<class_Basis_method_Basis>` **(** :ref:`Vector3<class_Vector3>` euler **)** |constructor|                                                                              |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`Basis<class_Basis_method_Basis>` **(** :ref:`Quaternion<class_Quaternion>` from **)** |constructor|                                                                         |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`Basis<class_Basis_method_Basis>` **(** :ref:`Vector3<class_Vector3>` x_axis, :ref:`Vector3<class_Vector3>` y_axis, :ref:`Vector3<class_Vector3>` z_axis **)** |constructor| |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`           | :ref:`determinant<class_Basis_method_determinant>` **(** **)** |const|                                                                                                            |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`from_scale<class_Basis_method_from_scale>` **(** :ref:`Vector3<class_Vector3>` scale **)** |static|                                                                         |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`       | :ref:`get_euler<class_Basis_method_get_euler>` **(** **)** |const|                                                                                                                |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`               | :ref:`get_orthogonal_index<class_Basis_method_get_orthogonal_index>` **(** **)** |const|                                                                                          |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Quaternion<class_Quaternion>` | :ref:`get_rotation_quaternion<class_Basis_method_get_rotation_quaternion>` **(** **)** |const|                                                                                    |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`       | :ref:`get_scale<class_Basis_method_get_scale>` **(** **)** |const|                                                                                                                |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`inverse<class_Basis_method_inverse>` **(** **)** |const|                                                                                                                    |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`             | :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` **(** :ref:`Basis<class_Basis>` b **)** |const|                                                                        |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`looking_at<class_Basis_method_looking_at>` **(** :ref:`Vector3<class_Vector3>` target, :ref:`Vector3<class_Vector3>` up=Vector3(0, 1, 0) **)** |static|                     |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`             | **operator !=** **(** **)** |operator|                                                                                                                                            |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`             | **operator !=** **(** :ref:`Basis<class_Basis>` right **)** |operator|                                                                                                            |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`       | **operator *** **(** :ref:`Vector3<class_Vector3>` right **)** |operator|                                                                                                         |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | **operator *** **(** :ref:`Basis<class_Basis>` right **)** |operator|                                                                                                             |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | **operator *** **(** :ref:`float<class_float>` right **)** |operator|                                                                                                             |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | **operator *** **(** :ref:`int<class_int>` right **)** |operator|                                                                                                                 |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`             | **operator ==** **(** **)** |operator|                                                                                                                                            |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`             | **operator ==** **(** :ref:`Basis<class_Basis>` right **)** |operator|                                                                                                            |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`       | **operator []** **(** :ref:`int<class_int>` index **)** |operator|                                                                                                                |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`orthonormalized<class_Basis_method_orthonormalized>` **(** **)** |const|                                                                                                    |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`rotated<class_Basis_method_rotated>` **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` phi **)** |const|                                                  |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`scaled<class_Basis_method_scaled>` **(** :ref:`Vector3<class_Vector3>` scale **)** |const|                                                                                  |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`slerp<class_Basis_method_slerp>` **(** :ref:`Basis<class_Basis>` to, :ref:`float<class_float>` weight **)** |const|                                                         |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`           | :ref:`tdotx<class_Basis_method_tdotx>` **(** :ref:`Vector3<class_Vector3>` with **)** |const|                                                                                     |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`           | :ref:`tdoty<class_Basis_method_tdoty>` **(** :ref:`Vector3<class_Vector3>` with **)** |const|                                                                                     |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`           | :ref:`tdotz<class_Basis_method_tdotz>` **(** :ref:`Vector3<class_Vector3>` with **)** |const|                                                                                     |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Basis<class_Basis>`           | :ref:`transposed<class_Basis_method_transposed>` **(** **)** |const|                                                                                                              |
-+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`           | :ref:`determinant<class_Basis_method_determinant>` **(** **)** |const|                                                                                        |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`from_euler<class_Basis_method_from_euler>` **(** :ref:`Vector3<class_Vector3>` euler, :ref:`int<class_int>` order=2 **)** |static|                      |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`from_scale<class_Basis_method_from_scale>` **(** :ref:`Vector3<class_Vector3>` scale **)** |static|                                                     |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`       | :ref:`get_euler<class_Basis_method_get_euler>` **(** :ref:`int<class_int>` order=2 **)** |const|                                                              |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`get_orthogonal_index<class_Basis_method_get_orthogonal_index>` **(** **)** |const|                                                                      |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Quaternion<class_Quaternion>` | :ref:`get_rotation_quaternion<class_Basis_method_get_rotation_quaternion>` **(** **)** |const|                                                                |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`       | :ref:`get_scale<class_Basis_method_get_scale>` **(** **)** |const|                                                                                            |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`inverse<class_Basis_method_inverse>` **(** **)** |const|                                                                                                |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`             | :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` **(** :ref:`Basis<class_Basis>` b **)** |const|                                                    |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`looking_at<class_Basis_method_looking_at>` **(** :ref:`Vector3<class_Vector3>` target, :ref:`Vector3<class_Vector3>` up=Vector3(0, 1, 0) **)** |static| |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`orthonormalized<class_Basis_method_orthonormalized>` **(** **)** |const|                                                                                |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`rotated<class_Basis_method_rotated>` **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` phi **)** |const|                              |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`scaled<class_Basis_method_scaled>` **(** :ref:`Vector3<class_Vector3>` scale **)** |const|                                                              |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`slerp<class_Basis_method_slerp>` **(** :ref:`Basis<class_Basis>` to, :ref:`float<class_float>` weight **)** |const|                                     |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`           | :ref:`tdotx<class_Basis_method_tdotx>` **(** :ref:`Vector3<class_Vector3>` with **)** |const|                                                                 |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`           | :ref:`tdoty<class_Basis_method_tdoty>` **(** :ref:`Vector3<class_Vector3>` with **)** |const|                                                                 |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`           | :ref:`tdotz<class_Basis_method_tdotz>` **(** :ref:`Vector3<class_Vector3>` with **)** |const|                                                                 |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`           | :ref:`transposed<class_Basis_method_transposed>` **(** **)** |const|                                                                                          |
++-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Operators
+---------
+
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`operator !=<class_Basis_operator_neq_bool>` **(** **)**                                       |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`operator !=<class_Basis_operator_neq_bool>` **(** :ref:`Basis<class_Basis>` right **)**       |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`     | :ref:`operator *<class_Basis_operator_mul_Basis>` **(** :ref:`Basis<class_Basis>` right **)**       |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>` | :ref:`operator *<class_Basis_operator_mul_Vector3>` **(** :ref:`Vector3<class_Vector3>` right **)** |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`     | :ref:`operator *<class_Basis_operator_mul_Basis>` **(** :ref:`float<class_float>` right **)**       |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`     | :ref:`operator *<class_Basis_operator_mul_Basis>` **(** :ref:`int<class_int>` right **)**           |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`operator ==<class_Basis_operator_eq_bool>` **(** **)**                                        |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`operator ==<class_Basis_operator_eq_bool>` **(** :ref:`Basis<class_Basis>` right **)**        |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>` | :ref:`operator []<class_Basis_operator_idx_Vector3>` **(** :ref:`int<class_int>` index **)**        |
++-------------------------------+-----------------------------------------------------------------------------------------------------+
 
 Constants
 ---------
 
+.. _class_Basis_constant_EULER_ORDER_XYZ:
+
+.. _class_Basis_constant_EULER_ORDER_XZY:
+
+.. _class_Basis_constant_EULER_ORDER_YXZ:
+
+.. _class_Basis_constant_EULER_ORDER_YZX:
+
+.. _class_Basis_constant_EULER_ORDER_ZXY:
+
+.. _class_Basis_constant_EULER_ORDER_ZYX:
+
 .. _class_Basis_constant_IDENTITY:
 
 .. _class_Basis_constant_FLIP_X:
@@ -130,6 +152,18 @@ Constants
 
 .. _class_Basis_constant_FLIP_Z:
 
+- **EULER_ORDER_XYZ** = **0**
+
+- **EULER_ORDER_XZY** = **1**
+
+- **EULER_ORDER_YXZ** = **2**
+
+- **EULER_ORDER_YZX** = **3**
+
+- **EULER_ORDER_ZXY** = **4**
+
+- **EULER_ORDER_ZYX** = **5**
+
 - **IDENTITY** = **Basis(1, 0, 0, 0, 1, 0, 0, 0, 1)** --- The identity basis, with no rotation or scaling applied.
 
 This is identical to calling ``Basis()`` without any parameters. This constant can be used to make your code clearer, and for consistency with C#.
@@ -177,48 +211,41 @@ The basis matrix's Y vector (column 1). Equivalent to array index ``1``.
 
 The basis matrix's Z vector (column 2). Equivalent to array index ``2``.
 
-Method Descriptions
--------------------
+Constructor Descriptions
+------------------------
 
-.. _class_Basis_method_Basis:
+.. _class_Basis_constructor_Basis:
 
-- :ref:`Basis<class_Basis>` **Basis** **(** **)** |constructor|
+- :ref:`Basis<class_Basis>` **Basis** **(** **)**
 
 Constructs a default-initialized ``Basis`` set to :ref:`IDENTITY<class_Basis_constant_IDENTITY>`.
 
 ----
 
-- :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Basis<class_Basis>` from **)** |constructor|
+- :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Basis<class_Basis>` from **)**
 
 Constructs a ``Basis`` as a copy of the given ``Basis``.
 
 ----
 
-- :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` phi **)** |constructor|
+- :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` phi **)**
 
 Constructs a pure rotation basis matrix, rotated around the given ``axis`` by ``phi``, in radians. The axis must be a normalized vector.
 
 ----
 
-- :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Vector3<class_Vector3>` euler **)** |constructor|
-
-Constructs a pure rotation basis matrix from the given Euler angles (in the YXZ convention: when \*composing\*, first Y, then X, and Z last), given in the vector format as (X angle, Y angle, Z angle).
-
-Consider using the :ref:`Quaternion<class_Quaternion>` constructor instead, which uses a quaternion instead of Euler angles.
-
-----
-
-- :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Quaternion<class_Quaternion>` from **)** |constructor|
+- :ref:`Basis<class_Basis>` **Basis** **(** :ref:`Quaternion<class_Quaternion>` from **)**
 
 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 **)** |constructor|
+- :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).
 
-----
+Method Descriptions
+-------------------
 
 .. _class_Basis_method_determinant:
 
@@ -230,6 +257,12 @@ A negative determinant means the basis has a negative scale. A zero determinant
 
 ----
 
+.. _class_Basis_method_from_euler:
+
+- :ref:`Basis<class_Basis>` **from_euler** **(** :ref:`Vector3<class_Vector3>` euler, :ref:`int<class_int>` order=2 **)** |static|
+
+----
+
 .. _class_Basis_method_from_scale:
 
 - :ref:`Basis<class_Basis>` **from_scale** **(** :ref:`Vector3<class_Vector3>` scale **)** |static|
@@ -240,7 +273,7 @@ Constructs a pure scale basis matrix with no rotation or shearing. The scale val
 
 .. _class_Basis_method_get_euler:
 
-- :ref:`Vector3<class_Vector3>` **get_euler** **(** **)** |const|
+- :ref:`Vector3<class_Vector3>` **get_euler** **(** :ref:`int<class_int>` order=2 **)** |const|
 
 Returns the basis's rotation in the form of Euler angles (in 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).
 
@@ -298,54 +331,6 @@ The up axis (+Y) points as close to the ``up`` vector as possible while staying
 
 ----
 
-.. _class_Basis_method_operator !=:
-
-- :ref:`bool<class_bool>` **operator !=** **(** **)** |operator|
-
-----
-
-- :ref:`bool<class_bool>` **operator !=** **(** :ref:`Basis<class_Basis>` right **)** |operator|
-
-----
-
-.. _class_Basis_method_operator *:
-
-- :ref:`Vector3<class_Vector3>` **operator *** **(** :ref:`Vector3<class_Vector3>` right **)** |operator|
-
-----
-
-- :ref:`Basis<class_Basis>` **operator *** **(** :ref:`Basis<class_Basis>` right **)** |operator|
-
-----
-
-- :ref:`Basis<class_Basis>` **operator *** **(** :ref:`float<class_float>` right **)** |operator|
-
-This operator multiplies all components of the ``Basis``, which scales it uniformly.
-
-----
-
-- :ref:`Basis<class_Basis>` **operator *** **(** :ref:`int<class_int>` right **)** |operator|
-
-This operator multiplies all components of the ``Basis``, which scales it uniformly.
-
-----
-
-.. _class_Basis_method_operator ==:
-
-- :ref:`bool<class_bool>` **operator ==** **(** **)** |operator|
-
-----
-
-- :ref:`bool<class_bool>` **operator ==** **(** :ref:`Basis<class_Basis>` right **)** |operator|
-
-----
-
-.. _class_Basis_method_operator []:
-
-- :ref:`Vector3<class_Vector3>` **operator []** **(** :ref:`int<class_int>` index **)** |operator|
-
-----
-
 .. _class_Basis_method_orthonormalized:
 
 - :ref:`Basis<class_Basis>` **orthonormalized** **(** **)** |const|
@@ -408,6 +393,55 @@ Transposed dot product with the Z axis of the matrix.
 
 Returns the transposed version of the matrix.
 
+Operator Descriptions
+---------------------
+
+.. _class_Basis_operator_neq_bool:
+
+- :ref:`bool<class_bool>` **operator !=** **(** **)**
+
+----
+
+- :ref:`bool<class_bool>` **operator !=** **(** :ref:`Basis<class_Basis>` right **)**
+
+----
+
+.. _class_Basis_operator_mul_Basis:
+
+- :ref:`Basis<class_Basis>` **operator *** **(** :ref:`Basis<class_Basis>` right **)**
+
+----
+
+- :ref:`Vector3<class_Vector3>` **operator *** **(** :ref:`Vector3<class_Vector3>` right **)**
+
+----
+
+- :ref:`Basis<class_Basis>` **operator *** **(** :ref:`float<class_float>` right **)**
+
+This operator multiplies all components of the ``Basis``, which scales it uniformly.
+
+----
+
+- :ref:`Basis<class_Basis>` **operator *** **(** :ref:`int<class_int>` right **)**
+
+This operator multiplies all components of the ``Basis``, which scales it uniformly.
+
+----
+
+.. _class_Basis_operator_eq_bool:
+
+- :ref:`bool<class_bool>` **operator ==** **(** **)**
+
+----
+
+- :ref:`bool<class_bool>` **operator ==** **(** :ref:`Basis<class_Basis>` right **)**
+
+----
+
+.. _class_Basis_operator_idx_Vector3:
+
+- :ref:`Vector3<class_Vector3>` **operator []** **(** :ref:`int<class_int>` index **)**
+
 .. |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 - 2
classes/class_bitmap.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the BitMap.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -88,7 +88,7 @@ Returns the amount of bitmap elements that are set to ``true``.
 
 - void **grow_mask** **(** :ref:`int<class_int>` pixels, :ref:`Rect2<class_Rect2>` rect **)**
 
-Applies morphological dilation to the bitmap. The first argument is the dilation amount, Rect2 is the area where the dilation will be applied.
+Applies morphological dilation or erosion to the bitmap. If ``pixels`` is positive, dilation is applied to the bitmap. If ``pixels`` is negative, erosion is applied to the bitmap. ``rect`` defines the area where the morphological operation is applied. Pixels located outside the ``rect`` are unaffected by :ref:`grow_mask<class_BitMap_method_grow_mask>`.
 
 ----
 

+ 1 - 1
classes/class_bone2d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the Bone2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_boneattachment3d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the BoneAttachment3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 52 - 44
classes/class_bool.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the bool.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -118,97 +118,105 @@ The following code will set ``can_shoot`` to ``false`` and start a timer. This w
 
 
 
-Methods
--------
+Constructors
+------------
 
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | :ref:`bool<class_bool_method_bool>` **(** **)** |constructor|                                |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | :ref:`bool<class_bool_method_bool>` **(** :ref:`bool<class_bool>` from **)** |constructor|   |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | :ref:`bool<class_bool_method_bool>` **(** :ref:`float<class_float>` from **)** |constructor| |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | :ref:`bool<class_bool_method_bool>` **(** :ref:`int<class_int>` from **)** |constructor|     |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | **operator !=** **(** **)** |operator|                                                       |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | **operator !=** **(** :ref:`bool<class_bool>` right **)** |operator|                         |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | **operator <** **(** :ref:`bool<class_bool>` right **)** |operator|                          |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | **operator ==** **(** **)** |operator|                                                       |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | **operator ==** **(** :ref:`bool<class_bool>` right **)** |operator|                         |
-+-------------------------+----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | **operator >** **(** :ref:`bool<class_bool>` right **)** |operator|                          |
-+-------------------------+----------------------------------------------------------------------------------------------+
++-------------------------+-------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`bool<class_bool_constructor_bool>` **(** **)**                                |
++-------------------------+-------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`bool<class_bool_constructor_bool>` **(** :ref:`bool<class_bool>` from **)**   |
++-------------------------+-------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`bool<class_bool_constructor_bool>` **(** :ref:`float<class_float>` from **)** |
++-------------------------+-------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`bool<class_bool_constructor_bool>` **(** :ref:`int<class_int>` from **)**     |
++-------------------------+-------------------------------------------------------------------------------------+
 
-Method Descriptions
--------------------
+Operators
+---------
 
-.. _class_bool_method_bool:
++-------------------------+--------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator !=<class_bool_operator_neq_bool>` **(** **)**                               |
++-------------------------+--------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator !=<class_bool_operator_neq_bool>` **(** :ref:`bool<class_bool>` right **)** |
++-------------------------+--------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator <<class_bool_operator_lt_bool>` **(** :ref:`bool<class_bool>` right **)**   |
++-------------------------+--------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator ==<class_bool_operator_eq_bool>` **(** **)**                                |
++-------------------------+--------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator ==<class_bool_operator_eq_bool>` **(** :ref:`bool<class_bool>` right **)**  |
++-------------------------+--------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`operator ><class_bool_operator_gt_bool>` **(** :ref:`bool<class_bool>` right **)**   |
++-------------------------+--------------------------------------------------------------------------------------------+
 
-- :ref:`bool<class_bool>` **bool** **(** **)** |constructor|
+Constructor Descriptions
+------------------------
+
+.. _class_bool_constructor_bool:
+
+- :ref:`bool<class_bool>` **bool** **(** **)**
 
 Constructs a default-initialized ``bool`` set to ``false``.
 
 ----
 
-- :ref:`bool<class_bool>` **bool** **(** :ref:`bool<class_bool>` from **)** |constructor|
+- :ref:`bool<class_bool>` **bool** **(** :ref:`bool<class_bool>` from **)**
 
 Constructs a ``bool`` as a copy of the given ``bool``.
 
 ----
 
-- :ref:`bool<class_bool>` **bool** **(** :ref:`float<class_float>` from **)** |constructor|
+- :ref:`bool<class_bool>` **bool** **(** :ref:`float<class_float>` from **)**
 
 Cast a :ref:`float<class_float>` value to a boolean value, this method will return ``false`` if ``0.0`` is passed in, and ``true`` for all other floats.
 
 ----
 
-- :ref:`bool<class_bool>` **bool** **(** :ref:`int<class_int>` from **)** |constructor|
+- :ref:`bool<class_bool>` **bool** **(** :ref:`int<class_int>` from **)**
 
 Cast an :ref:`int<class_int>` value to a boolean value, this method will return ``false`` if ``0`` is passed in, and ``true`` for all other ints.
 
-----
+Operator Descriptions
+---------------------
 
-.. _class_bool_method_operator !=:
+.. _class_bool_operator_neq_bool:
 
-- :ref:`bool<class_bool>` **operator !=** **(** **)** |operator|
+- :ref:`bool<class_bool>` **operator !=** **(** **)**
 
 ----
 
-- :ref:`bool<class_bool>` **operator !=** **(** :ref:`bool<class_bool>` right **)** |operator|
+- :ref:`bool<class_bool>` **operator !=** **(** :ref:`bool<class_bool>` right **)**
 
 Returns ``true`` if two bools are different, i.e. one is ``true`` and the other is ``false``.
 
 ----
 
-.. _class_bool_method_operator <:
+.. _class_bool_operator_lt_bool:
 
-- :ref:`bool<class_bool>` **operator <** **(** :ref:`bool<class_bool>` right **)** |operator|
+- :ref:`bool<class_bool>` **operator <** **(** :ref:`bool<class_bool>` right **)**
 
-Returns ``true`` if left operand is ``false`` and right operand is ``true``.
+Returns ``true`` if the left operand is ``false`` and the right operand is ``true``.
 
 ----
 
-.. _class_bool_method_operator ==:
+.. _class_bool_operator_eq_bool:
 
-- :ref:`bool<class_bool>` **operator ==** **(** **)** |operator|
+- :ref:`bool<class_bool>` **operator ==** **(** **)**
+
+Returns ``true`` if two bools are equal, i.e. both are ``true`` or both are ``false``.
 
 ----
 
-- :ref:`bool<class_bool>` **operator ==** **(** :ref:`bool<class_bool>` right **)** |operator|
+- :ref:`bool<class_bool>` **operator ==** **(** :ref:`bool<class_bool>` right **)**
 
 Returns ``true`` if two bools are equal, i.e. both are ``true`` or both are ``false``.
 
 ----
 
-.. _class_bool_method_operator >:
+.. _class_bool_operator_gt_bool:
 
-- :ref:`bool<class_bool>` **operator >** **(** :ref:`bool<class_bool>` right **)** |operator|
+- :ref:`bool<class_bool>` **operator >** **(** :ref:`bool<class_bool>` right **)**
 
-Returns ``true`` if left operand is ``true`` and right operand is ``false``.
+Returns ``true`` if the left operand is ``true`` and the right operand is ``false``.
 
 .. |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_boxcontainer.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the BoxContainer.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_boxmesh.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the BoxMesh.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 1 - 1
classes/class_boxshape3d.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the BoxShape3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

+ 29 - 1
classes/class_button.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the Button.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
@@ -114,6 +114,8 @@ Theme Properties
 +---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
 | :ref:`Color<class_Color>`       | :ref:`font_disabled_color<class_Button_theme_color_font_disabled_color>`           | ``Color(0.9, 0.9, 0.9, 0.2)``  |
 +---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`font_focus_color<class_Button_theme_color_font_focus_color>`                 | ``Color(0.94, 0.94, 0.94, 1)`` |
++---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
 | :ref:`Color<class_Color>`       | :ref:`font_hover_color<class_Button_theme_color_font_hover_color>`                 | ``Color(0.94, 0.94, 0.94, 1)`` |
 +---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
 | :ref:`Color<class_Color>`       | :ref:`font_hover_pressed_color<class_Button_theme_color_font_hover_pressed_color>` | ``Color(1, 1, 1, 1)``          |
@@ -130,6 +132,8 @@ Theme Properties
 +---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
 | :ref:`Color<class_Color>`       | :ref:`icon_disabled_color<class_Button_theme_color_icon_disabled_color>`           | ``Color(1, 1, 1, 1)``          |
 +---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`icon_focus_color<class_Button_theme_color_icon_focus_color>`                 | ``Color(1, 1, 1, 1)``          |
++---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
 | :ref:`Color<class_Color>`       | :ref:`icon_hover_color<class_Button_theme_color_icon_hover_color>`                 | ``Color(1, 1, 1, 1)``          |
 +---------------------------------+------------------------------------------------------------------------------------+--------------------------------+
 | :ref:`Color<class_Color>`       | :ref:`icon_hover_pressed_color<class_Button_theme_color_icon_hover_pressed_color>` | ``Color(1, 1, 1, 1)``          |
@@ -383,6 +387,18 @@ Text :ref:`Color<class_Color>` used when the ``Button`` is disabled.
 
 ----
 
+.. _class_Button_theme_color_font_focus_color:
+
+- :ref:`Color<class_Color>` **font_focus_color**
+
++-----------+--------------------------------+
+| *Default* | ``Color(0.94, 0.94, 0.94, 1)`` |
++-----------+--------------------------------+
+
+Text :ref:`Color<class_Color>` used when the ``Button`` is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
+
+----
+
 .. _class_Button_theme_color_font_hover_color:
 
 - :ref:`Color<class_Color>` **font_hover_color**
@@ -471,6 +487,18 @@ Icon modulate :ref:`Color<class_Color>` used when the ``Button`` is disabled.
 
 ----
 
+.. _class_Button_theme_color_icon_focus_color:
+
+- :ref:`Color<class_Color>` **icon_focus_color**
+
++-----------+-----------------------+
+| *Default* | ``Color(1, 1, 1, 1)`` |
++-----------+-----------------------+
+
+Icon modulate :ref:`Color<class_Color>` used when the ``Button`` is focused. Only replaces the normal modulate color of the button. Disabled, hovered, and pressed states take precedence over this color.
+
+----
+
 .. _class_Button_theme_color_icon_hover_color:
 
 - :ref:`Color<class_Color>` **icon_hover_color**

+ 1 - 1
classes/class_buttongroup.rst

@@ -1,6 +1,6 @@
 :github_url: hide
 
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
 .. DO NOT EDIT THIS FILE, but the ButtonGroup.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 

Some files were not shown because too many files changed in this diff