Parcourir la source

classref: Sync with latest 4.0-alpha

Rémi Verschelde il y a 3 ans
Parent
commit
c80ee83362
98 fichiers modifiés avec 2502 ajouts et 1294 suppressions
  1. 17 2
      classes/[email protected]
  2. 17 9
      classes/[email protected]
  3. 8 8
      classes/class_area2d.rst
  4. 8 8
      classes/class_area3d.rst
  5. 1 1
      classes/class_aspectratiocontainer.rst
  6. 14 0
      classes/class_audioeffect.rst
  7. 22 0
      classes/class_audioeffectinstance.rst
  8. 10 0
      classes/class_audiostream.rst
  9. 1 1
      classes/class_audiostreamgenerator.rst
  10. 2 2
      classes/class_audiostreamgeneratorplayback.rst
  11. 30 0
      classes/class_audiostreamplaybackresampled.rst
  12. 15 21
      classes/class_basematerial3d.rst
  13. 24 24
      classes/class_characterbody2d.rst
  14. 24 24
      classes/class_characterbody3d.rst
  15. 1 1
      classes/class_colorpickerbutton.rst
  16. 5 5
      classes/class_compressedcubemap.rst
  17. 5 21
      classes/class_compressedcubemaparray.rst
  18. 15 15
      classes/class_compressedtexture2d.rst
  19. 21 0
      classes/class_compressedtexture2darray.rst
  20. 12 12
      classes/class_compressedtexture3d.rst
  21. 13 13
      classes/class_compressedtexturelayered.rst
  22. 87 87
      classes/class_control.rst
  23. 1 1
      classes/class_curve2d.rst
  24. 40 6
      classes/class_displayserver.rst
  25. 30 0
      classes/class_editorsettings.rst
  26. 1 1
      classes/class_editorvcsinterface.rst
  27. 2 0
      classes/class_fogvolume.rst
  28. 67 29
      classes/class_fontdata.rst
  29. 0 71
      classes/class_gdnative.rst
  30. 0 161
      classes/class_gdnativelibrary.rst
  31. 1 1
      classes/class_geometry2d.rst
  32. 35 35
      classes/class_graphedit.rst
  33. 37 45
      classes/class_gridmap.rst
  34. 1 1
      classes/class_imagetexture.rst
  35. 32 32
      classes/class_itemlist.rst
  36. 83 19
      classes/class_light3d.rst
  37. 2 2
      classes/class_line2d.rst
  38. 45 15
      classes/class_material.rst
  39. 135 23
      classes/class_mesh.rst
  40. 5 1
      classes/class_nativeextension.rst
  41. 0 147
      classes/class_nativescript.rst
  42. 115 0
      classes/class_openxraction.rst
  43. 124 0
      classes/class_openxractionmap.rst
  44. 116 0
      classes/class_openxractionset.rst
  45. 70 0
      classes/class_openxrinteractionprofile.rst
  46. 74 0
      classes/class_openxrinterface.rst
  47. 66 0
      classes/class_openxripbinding.rst
  48. 2 2
      classes/class_packedscene.rst
  49. 1 1
      classes/class_particlesmaterial.rst
  50. 64 0
      classes/class_physicalbone3d.rst
  51. 14 31
      classes/class_popup.rst
  52. 11 3
      classes/class_primitivemesh.rst
  53. 89 33
      classes/class_projectsettings.rst
  54. 13 5
      classes/class_range.rst
  55. 0 2
      classes/class_rect2i.rst
  56. 0 0
      classes/class_refcounted.rst
  57. 18 18
      classes/class_renderingserver.rst
  58. 0 0
      classes/class_resource.rst
  59. 1 1
      classes/class_resourceformatloader.rst
  60. 11 7
      classes/class_resourcesaver.rst
  61. 41 41
      classes/class_richtextlabel.rst
  62. 4 4
      classes/class_rigiddynamicbody2d.rst
  63. 4 8
      classes/class_rigiddynamicbody3d.rst
  64. 0 8
      classes/class_scenetree.rst
  65. 1 1
      classes/class_script.rst
  66. 16 16
      classes/class_scrollcontainer.rst
  67. 47 3
      classes/class_string.rst
  68. 40 0
      classes/class_stylebox.rst
  69. 5 0
      classes/class_subviewport.rst
  70. 3 3
      classes/class_subviewportcontainer.rst
  71. 2 2
      classes/class_surfacetool.rst
  72. 48 20
      classes/class_tabbar.rst
  73. 82 69
      classes/class_tabcontainer.rst
  74. 42 0
      classes/class_textserver.rst
  75. 42 0
      classes/class_textserverextension.rst
  76. 57 1
      classes/class_texture2d.rst
  77. 62 14
      classes/class_texture3d.rst
  78. 72 16
      classes/class_texturelayered.rst
  79. 12 2
      classes/class_tilemap.rst
  80. 10 0
      classes/class_time.rst
  81. 1 1
      classes/class_timer.rst
  82. 25 25
      classes/class_tree.rst
  83. 0 2
      classes/class_variant.rst
  84. 1 1
      classes/class_videostream.rst
  85. 0 54
      classes/class_videostreamgdnative.rst
  86. 2 2
      classes/class_videostreamplayer.rst
  87. 1 3
      classes/class_viewport.rst
  88. 8 0
      classes/class_visualinstance3d.rst
  89. 72 0
      classes/class_visualshader.rst
  90. 0 0
      classes/class_visualshadernode.rst
  91. 29 1
      classes/class_visualshadernodecustom.rst
  92. 61 0
      classes/class_visualshadernodevarying.rst
  93. 5 5
      classes/class_visualshadernodevaryinggetter.rst
  94. 5 5
      classes/class_visualshadernodevaryingsetter.rst
  95. 23 1
      classes/class_window.rst
  96. 0 26
      classes/class_xrcontroller3d.rst
  97. 2 2
      classes/class_xrinterface.rst
  98. 19 11
      classes/class_xrpositionaltracker.rst

+ 17 - 2
classes/[email protected]

@@ -299,8 +299,8 @@ Returns an array with the given range. Range can be 1 argument ``N`` (0 to ``N``
 
 Returns an array with the given range. ``range()`` can have 1 argument N (``0`` to ``N - 1``), two arguments (``initial``, ``final - 1``) or three arguments (``initial``, ``final - 1``, ``increment``). ``increment`` can be negative. If ``increment`` is negative, ``final - 1`` will become ``final + 1``. Also, the initial value must be greater than the final value for the loop to run.
 
-::
-
+\ ``range()(/code] converts all arguments to :ref:`int<class_int>` before processing.
+[codeblock]
     print(range(4))
     print(range(2, 5))
     print(range(0, 6, 2))
@@ -331,6 +331,21 @@ Output:
     6
     3
 
+To iterate over :ref:`float<class_float>`, convert them in the loop.
+
+::
+
+    for i in range (3, 0, -1):
+        print(i / 10.0)
+
+Output:
+
+::
+
+    0.3
+    0.2
+    0.1
+
 ----
 
 .. _class_@GDScript_method_str:

+ 17 - 9
classes/[email protected]

@@ -230,8 +230,6 @@ Methods
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                       | :ref:`range_lerp<class_@GlobalScope_method_range_lerp>` **(** :ref:`float<class_float>` value, :ref:`float<class_float>` istart, :ref:`float<class_float>` istop, :ref:`float<class_float>` ostart, :ref:`float<class_float>` ostop **)**       |
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                           | :ref:`range_step_decimals<class_@GlobalScope_method_range_step_decimals>` **(** :ref:`float<class_float>` x **)**                                                                                                                               |
-+-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                           | :ref:`rid_allocate_id<class_@GlobalScope_method_rid_allocate_id>` **(** **)**                                                                                                                                                                   |
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_RID>`                           | :ref:`rid_from_int64<class_@GlobalScope_method_rid_from_int64>` **(** :ref:`int<class_int>` base **)**                                                                                                                                          |
@@ -456,6 +454,8 @@ enum **InlineAlignment**:
 
 .. _enum_@GlobalScope_Key:
 
+.. _class_@GlobalScope_constant_KEY_NONE:
+
 .. _class_@GlobalScope_constant_KEY_SPECIAL:
 
 .. _class_@GlobalScope_constant_KEY_ESCAPE:
@@ -944,6 +944,8 @@ enum **InlineAlignment**:
 
 enum **Key**:
 
+- **KEY_NONE** = **0** --- Enum value which doesn't correspond to any key. This is used to initialize :ref:`Key<enum_@GlobalScope_Key>` properties with a generic state.
+
 - **KEY_SPECIAL** = **16777216** --- Keycodes with this bit applied are non-printable.
 
 - **KEY_ESCAPE** = **16777217** --- Escape key.
@@ -1476,6 +1478,8 @@ enum **KeyModifierMask**:
 
 .. _enum_@GlobalScope_MouseButton:
 
+.. _class_@GlobalScope_constant_MOUSE_BUTTON_NONE:
+
 .. _class_@GlobalScope_constant_MOUSE_BUTTON_LEFT:
 
 .. _class_@GlobalScope_constant_MOUSE_BUTTON_RIGHT:
@@ -1506,6 +1510,8 @@ enum **KeyModifierMask**:
 
 enum **MouseButton**:
 
+- **MOUSE_BUTTON_NONE** = **0** --- Enum value which doesn't correspond to any mouse button. This is used to initialize :ref:`MouseButton<enum_@GlobalScope_MouseButton>` properties with a generic state.
+
 - **MOUSE_BUTTON_LEFT** = **1** --- Left mouse button.
 
 - **MOUSE_BUTTON_RIGHT** = **2** --- Right mouse button.
@@ -1688,6 +1694,8 @@ enum **JoyAxis**:
 
 .. _enum_@GlobalScope_MIDIMessage:
 
+.. _class_@GlobalScope_constant_MIDI_MESSAGE_NONE:
+
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF:
 
 .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON:
@@ -1726,6 +1734,8 @@ enum **JoyAxis**:
 
 enum **MIDIMessage**:
 
+- **MIDI_MESSAGE_NONE** = **0** --- Enum value which doesn't correspond to any MIDI message. This is used to initialize :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` properties with a generic state.
+
 - **MIDI_MESSAGE_NOTE_OFF** = **8** --- MIDI note OFF message. See the documentation of :ref:`InputEventMIDI<class_InputEventMIDI>` for information of how to use MIDI inputs.
 
 - **MIDI_MESSAGE_NOTE_ON** = **9** --- MIDI note ON message. See the documentation of :ref:`InputEventMIDI<class_InputEventMIDI>` for information of how to use MIDI inputs.
@@ -2063,6 +2073,8 @@ Since :ref:`OK<class_@GlobalScope_constant_OK>` has value 0, and all other failu
 
 .. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALE_ID:
 
+.. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALIZABLE_STRING:
+
 .. _class_@GlobalScope_constant_PROPERTY_HINT_MAX:
 
 enum **PropertyHint**:
@@ -2164,7 +2176,9 @@ Unlike :ref:`PROPERTY_HINT_ENUM<class_@GlobalScope_constant_PROPERTY_HINT_ENUM>`
 
 - **PROPERTY_HINT_LOCALE_ID** = **41** --- Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country.
 
-- **PROPERTY_HINT_MAX** = **42**
+- **PROPERTY_HINT_LOCALIZABLE_STRING** = **42** --- Hints that a dictionary property is string translation map. Dictionary keys are locale codes and, values are translated strings.
+
+- **PROPERTY_HINT_MAX** = **43**
 
 ----
 
@@ -3821,12 +3835,6 @@ Maps a ``value`` from range ``[istart, istop]`` to ``[ostart, ostop]``.
 
 ----
 
-.. _class_@GlobalScope_method_range_step_decimals:
-
-- :ref:`int<class_int>` **range_step_decimals** **(** :ref:`float<class_float>` x **)**
-
-----
-
 .. _class_@GlobalScope_method_rid_allocate_id:
 
 - :ref:`int<class_int>` **rid_allocate_id** **(** **)**

+ 8 - 8
classes/class_area2d.rst

@@ -110,9 +110,9 @@ Emitted when one of another Area2D's :ref:`Shape2D<class_Shape2D>`\ s enters one
 
 \ ``area`` the other Area2D.
 
-\ ``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)``.
+\ ``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_find_owner(area_shape_index))``.
 
-\ ``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)``.
+\ ``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(self.shape_find_owner(local_shape_index))``.
 
 ----
 
@@ -126,9 +126,9 @@ Emitted when one of another Area2D's :ref:`Shape2D<class_Shape2D>`\ s exits one
 
 \ ``area`` the other Area2D.
 
-\ ``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)``.
+\ ``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_find_owner(area_shape_index))``.
 
-\ ``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)``.
+\ ``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(self.shape_find_owner(local_shape_index))``.
 
 ----
 
@@ -162,9 +162,9 @@ Emitted when one of a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap
 
 \ ``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_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)``.
+\ ``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_find_owner(body_shape_index))``.
 
-\ ``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)``.
+\ ``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(self.shape_find_owner(local_shape_index))``.
 
 ----
 
@@ -178,9 +178,9 @@ Emitted when one of a :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap
 
 \ ``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_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)``.
+\ ``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_find_owner(body_shape_index))``.
 
-\ ``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)``.
+\ ``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(self.shape_find_owner(local_shape_index))``.
 
 Enumerations
 ------------

+ 8 - 8
classes/class_area3d.rst

@@ -120,9 +120,9 @@ Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s enters one
 
 \ ``area`` the other Area3D.
 
-\ ``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)``.
+\ ``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_find_owner(area_shape_index))``.
 
-\ ``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)``.
+\ ``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(self.shape_find_owner(local_shape_index))``.
 
 ----
 
@@ -136,9 +136,9 @@ Emitted when one of another Area3D's :ref:`Shape3D<class_Shape3D>`\ s exits one
 
 \ ``area`` the other Area3D.
 
-\ ``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)``.
+\ ``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_find_owner(area_shape_index))``.
 
-\ ``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)``.
+\ ``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(self.shape_find_owner(local_shape_index))``.
 
 ----
 
@@ -172,9 +172,9 @@ Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap
 
 \ ``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_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)``.
+\ ``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_find_owner(body_shape_index))``.
 
-\ ``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)``.
+\ ``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(self.shape_find_owner(local_shape_index))``.
 
 ----
 
@@ -188,9 +188,9 @@ Emitted when one of a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap
 
 \ ``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_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)``.
+\ ``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_find_owner(body_shape_index))``.
 
-\ ``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)``.
+\ ``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(self.shape_find_owner(local_shape_index))``.
 
 Enumerations
 ------------

+ 1 - 1
classes/class_aspectratiocontainer.rst

@@ -54,7 +54,7 @@ enum **StretchMode**:
 
 - **STRETCH_COVER** = **3** --- The width and height of child controls is automatically adjusted to make their bounding rectangle cover the entire area of the container while keeping the aspect ratio.
 
-When the bounding rectangle of child controls exceed the container's size and :ref:`Control.rect_clip_content<class_Control_property_rect_clip_content>` is enabled, this allows to show only the container's area restricted by its own bounding rectangle.
+When the bounding rectangle of child controls exceed the container's size and :ref:`Control.clip_contents<class_Control_property_clip_contents>` is enabled, this allows to show only the container's area restricted by its own bounding rectangle.
 
 ----
 

+ 14 - 0
classes/class_audioeffect.rst

@@ -25,6 +25,20 @@ Tutorials
 
 - `Audio Mic Record Demo <https://godotengine.org/asset-library/asset/527>`__
 
+Methods
+-------
+
++-------------------------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`AudioEffectInstance<class_AudioEffectInstance>` | :ref:`_instantiate<class_AudioEffect_method__instantiate>` **(** **)** |virtual| |
++-------------------------------------------------------+----------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_AudioEffect_method__instantiate:
+
+- :ref:`AudioEffectInstance<class_AudioEffectInstance>` **_instantiate** **(** **)** |virtual|
+
 .. |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.)`

+ 22 - 0
classes/class_audioeffectinstance.rst

@@ -15,6 +15,28 @@ AudioEffectInstance
 
 
 
+Methods
+-------
+
++-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                    | :ref:`_process<class_AudioEffectInstance_method__process>` **(** const void* src_buffer, AudioFrame* dst_buffer, :ref:`int<class_int>` frame_count **)** |virtual| |
++-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`_process_silence<class_AudioEffectInstance_method__process_silence>` **(** **)** |virtual| |const|                                                           |
++-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_AudioEffectInstance_method__process:
+
+- void **_process** **(** const void* src_buffer, AudioFrame* dst_buffer, :ref:`int<class_int>` frame_count **)** |virtual|
+
+----
+
+.. _class_AudioEffectInstance_method__process_silence:
+
+- :ref:`bool<class_bool>` **_process_silence** **(** **)** |virtual| |const|
+
 .. |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.)`

+ 10 - 0
classes/class_audiostream.rst

@@ -45,6 +45,8 @@ Methods
 +-------------------------------------------------------+------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                             | :ref:`get_length<class_AudioStream_method_get_length>` **(** **)** |const|                           |
 +-------------------------------------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` | :ref:`instance_playback<class_AudioStream_method_instance_playback>` **(** **)**                     |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                               | :ref:`is_monophonic<class_AudioStream_method_is_monophonic>` **(** **)** |const|                     |
 +-------------------------------------------------------+------------------------------------------------------------------------------------------------------+
 
@@ -83,6 +85,14 @@ Returns the length of the audio stream in seconds.
 
 ----
 
+.. _class_AudioStream_method_instance_playback:
+
+- :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **instance_playback** **(** **)**
+
+Returns an AudioStreamPlayback. Useful for when you want to extend `_instance_playback` but call `instance_playback` from an internally held AudioStream subresource. An example of this can be found in the source files for `AudioStreamRandomPitch::instance_playback`.
+
+----
+
 .. _class_AudioStream_method_is_monophonic:
 
 - :ref:`bool<class_bool>` **is_monophonic** **(** **)** |const|

+ 1 - 1
classes/class_audiostreamgenerator.rst

@@ -20,7 +20,7 @@ This audio stream does not play back sounds, but expects a script to generate au
 
 See also :ref:`AudioEffectSpectrumAnalyzer<class_AudioEffectSpectrumAnalyzer>` for performing real-time audio spectrum analysis.
 
-\ **Note:** Due to performance constraints, this class is best used from C# or from a compiled language via GDNative. If you still want to use this class from GDScript, consider using a lower :ref:`mix_rate<class_AudioStreamGenerator_property_mix_rate>` such as 11,025 Hz or 22,050 Hz.
+\ **Note:** Due to performance constraints, this class is best used from C# or from a compiled language via GDExtension. If you still want to use this class from GDScript, consider using a lower :ref:`mix_rate<class_AudioStreamGenerator_property_mix_rate>` such as 11,025 Hz or 22,050 Hz.
 
 Tutorials
 ---------

+ 2 - 2
classes/class_audiostreamgeneratorplayback.rst

@@ -79,7 +79,7 @@ Returns the number of audio data frames left to play. If this returned number re
 
 - :ref:`bool<class_bool>` **push_buffer** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` frames **)**
 
-Pushes several audio data frames to the buffer. This is usually more efficient than :ref:`push_frame<class_AudioStreamGeneratorPlayback_method_push_frame>` in C# and compiled languages via GDNative, but :ref:`push_buffer<class_AudioStreamGeneratorPlayback_method_push_buffer>` may be *less* efficient in GDScript.
+Pushes several audio data frames to the buffer. This is usually more efficient than :ref:`push_frame<class_AudioStreamGeneratorPlayback_method_push_frame>` in C# and compiled languages via GDExtension, but :ref:`push_buffer<class_AudioStreamGeneratorPlayback_method_push_buffer>` may be *less* efficient in GDScript.
 
 ----
 
@@ -87,7 +87,7 @@ Pushes several audio data frames to the buffer. This is usually more efficient t
 
 - :ref:`bool<class_bool>` **push_frame** **(** :ref:`Vector2<class_Vector2>` frame **)**
 
-Pushes a single audio data frame to the buffer. This is usually less efficient than :ref:`push_buffer<class_AudioStreamGeneratorPlayback_method_push_buffer>` in C# and compiled languages via GDNative, but :ref:`push_frame<class_AudioStreamGeneratorPlayback_method_push_frame>` may be *more* efficient in GDScript.
+Pushes a single audio data frame to the buffer. This is usually less efficient than :ref:`push_buffer<class_AudioStreamGeneratorPlayback_method_push_buffer>` in C# and compiled languages via GDExtension, but :ref:`push_frame<class_AudioStreamGeneratorPlayback_method_push_frame>` may be *more* efficient in GDScript.
 
 .. |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.)`

+ 30 - 0
classes/class_audiostreamplaybackresampled.rst

@@ -15,6 +15,36 @@ AudioStreamPlaybackResampled
 
 
 
+Methods
+-------
+
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`_get_stream_sampling_rate<class_AudioStreamPlaybackResampled_method__get_stream_sampling_rate>` **(** **)** |virtual| |const|                             |
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`     | :ref:`_mix_resampled<class_AudioStreamPlaybackResampled_method__mix_resampled>` **(** AudioFrame* dst_buffer, :ref:`int<class_int>` frame_count **)** |virtual| |
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                      | :ref:`begin_resample<class_AudioStreamPlaybackResampled_method_begin_resample>` **(** **)**                                                                     |
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_AudioStreamPlaybackResampled_method__get_stream_sampling_rate:
+
+- :ref:`float<class_float>` **_get_stream_sampling_rate** **(** **)** |virtual| |const|
+
+----
+
+.. _class_AudioStreamPlaybackResampled_method__mix_resampled:
+
+- :ref:`int<class_int>` **_mix_resampled** **(** AudioFrame* dst_buffer, :ref:`int<class_int>` frame_count **)** |virtual|
+
+----
+
+.. _class_AudioStreamPlaybackResampled_method_begin_resample:
+
+- void **begin_resample** **(** **)**
+
 .. |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.)`

+ 15 - 21
classes/class_basematerial3d.rst

@@ -75,7 +75,7 @@ Properties
 +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-----------------------+
 | :ref:`bool<class_bool>`                                         | :ref:`clearcoat_enabled<class_BaseMaterial3D_property_clearcoat_enabled>`                                         | ``false``             |
 +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                                       | :ref:`clearcoat_gloss<class_BaseMaterial3D_property_clearcoat_gloss>`                                             | ``0.5``               |
+| :ref:`float<class_float>`                                       | :ref:`clearcoat_roughness<class_BaseMaterial3D_property_clearcoat_roughness>`                                     | ``0.5``               |
 +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-----------------------+
 | :ref:`Texture2D<class_Texture2D>`                               | :ref:`clearcoat_texture<class_BaseMaterial3D_property_clearcoat_texture>`                                         |                       |
 +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+-----------------------+
@@ -706,10 +706,6 @@ enum **DiffuseMode**:
 
 .. _class_BaseMaterial3D_constant_SPECULAR_SCHLICK_GGX:
 
-.. _class_BaseMaterial3D_constant_SPECULAR_BLINN:
-
-.. _class_BaseMaterial3D_constant_SPECULAR_PHONG:
-
 .. _class_BaseMaterial3D_constant_SPECULAR_TOON:
 
 .. _class_BaseMaterial3D_constant_SPECULAR_DISABLED:
@@ -718,13 +714,9 @@ enum **SpecularMode**:
 
 - **SPECULAR_SCHLICK_GGX** = **0** --- Default specular blob.
 
-- **SPECULAR_BLINN** = **1** --- Older specular algorithm, included for compatibility.
-
-- **SPECULAR_PHONG** = **2** --- Older specular algorithm, included for compatibility.
-
-- **SPECULAR_TOON** = **3** --- Toon blob which changes size based on roughness.
+- **SPECULAR_TOON** = **1** --- Toon blob which changes size based on roughness.
 
-- **SPECULAR_DISABLED** = **4** --- No specular blob.
+- **SPECULAR_DISABLED** = **2** --- No specular blob.
 
 ----
 
@@ -1179,19 +1171,19 @@ If ``true``, clearcoat rendering is enabled. Adds a secondary transparent pass t
 
 ----
 
-.. _class_BaseMaterial3D_property_clearcoat_gloss:
+.. _class_BaseMaterial3D_property_clearcoat_roughness:
 
-- :ref:`float<class_float>` **clearcoat_gloss**
+- :ref:`float<class_float>` **clearcoat_roughness**
 
-+-----------+----------------------------+
-| *Default* | ``0.5``                    |
-+-----------+----------------------------+
-| *Setter*  | set_clearcoat_gloss(value) |
-+-----------+----------------------------+
-| *Getter*  | get_clearcoat_gloss()      |
-+-----------+----------------------------+
++-----------+--------------------------------+
+| *Default* | ``0.5``                        |
++-----------+--------------------------------+
+| *Setter*  | set_clearcoat_roughness(value) |
++-----------+--------------------------------+
+| *Getter*  | get_clearcoat_roughness()      |
++-----------+--------------------------------+
 
-Sets the roughness of the clearcoat pass. A higher value results in a smoother clearcoat while a lower value results in a rougher clearcoat.
+Sets the roughness of the clearcoat pass. A higher value results in a rougher clearcoat while a lower value results in a smoother clearcoat.
 
 ----
 
@@ -2149,6 +2141,8 @@ If ``true``, enables the "shadow to opacity" render mode where lighting modifies
 
 The method for rendering the specular blob. See :ref:`SpecularMode<enum_BaseMaterial3D_SpecularMode>`.
 
+\ **Note:** Only applies to the specular blob. Does not affect specular reflections from the Sky, SSR, or ReflectionProbes.
+
 ----
 
 .. _class_BaseMaterial3D_property_subsurf_scatter_enabled:

+ 24 - 24
classes/class_characterbody2d.rst

@@ -53,8 +53,6 @@ Properties
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`MotionMode<enum_CharacterBody2D_MotionMode>`                                                 | :ref:`motion_mode<class_CharacterBody2D_property_motion_mode>`                                                         | ``0``              |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
-| :ref:`Vector2<class_Vector2>`                                                                      | :ref:`motion_velocity<class_CharacterBody2D_property_motion_velocity>`                                                 | ``Vector2(0, 0)``  |
-+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`MovingPlatformApplyVelocityOnLeave<enum_CharacterBody2D_MovingPlatformApplyVelocityOnLeave>` | :ref:`moving_platform_apply_velocity_on_leave<class_CharacterBody2D_property_moving_platform_apply_velocity_on_leave>` | ``0``              |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`int<class_int>`                                                                              | :ref:`moving_platform_floor_layers<class_CharacterBody2D_property_moving_platform_floor_layers>`                       | ``4294967295``     |
@@ -65,6 +63,8 @@ Properties
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`Vector2<class_Vector2>`                                                                      | :ref:`up_direction<class_CharacterBody2D_property_up_direction>`                                                       | ``Vector2(0, -1)`` |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
+| :ref:`Vector2<class_Vector2>`                                                                      | :ref:`velocity<class_CharacterBody2D_property_velocity>`                                                               | ``Vector2(0, 0)``  |
++----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 | :ref:`float<class_float>`                                                                          | :ref:`wall_min_slide_angle<class_CharacterBody2D_property_wall_min_slide_angle>`                                       | ``0.261799``       |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+--------------------+
 
@@ -134,9 +134,9 @@ enum **MotionMode**:
 
 enum **MovingPlatformApplyVelocityOnLeave**:
 
-- **PLATFORM_VEL_ON_LEAVE_ALWAYS** = **0** --- Add the last platform velocity to the :ref:`motion_velocity<class_CharacterBody2D_property_motion_velocity>` when you leave a moving platform.
+- **PLATFORM_VEL_ON_LEAVE_ALWAYS** = **0** --- Add the last platform velocity to the :ref:`velocity<class_CharacterBody2D_property_velocity>` when you leave a moving platform.
 
-- **PLATFORM_VEL_ON_LEAVE_UPWARD_ONLY** = **1** --- Add the last platform velocity to the :ref:`motion_velocity<class_CharacterBody2D_property_motion_velocity>` when you leave a moving platform, but any downward motion is ignored. It's useful to keep full jump height even when the platform is moving down.
+- **PLATFORM_VEL_ON_LEAVE_UPWARD_ONLY** = **1** --- Add the last platform velocity to the :ref:`velocity<class_CharacterBody2D_property_velocity>` when you leave a moving platform, but any downward motion is ignored. It's useful to keep full jump height even when the platform is moving down.
 
 - **PLATFORM_VEL_ON_LEAVE_NEVER** = **2** --- Do nothing when leaving a platform.
 
@@ -247,7 +247,7 @@ As long as the snapping vector is in contact with the ground and the body moves
 
 If ``true``, the body will not slide on slopes when calling :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>` when the body is standing still.
 
-If ``false``, the body will slide on floor's slopes when :ref:`motion_velocity<class_CharacterBody2D_property_motion_velocity>` applies a downward force.
+If ``false``, the body will slide on floor's slopes when :ref:`velocity<class_CharacterBody2D_property_velocity>` applies a downward force.
 
 ----
 
@@ -283,22 +283,6 @@ Sets the motion mode which defines the behavior of :ref:`move_and_slide<class_Ch
 
 ----
 
-.. _class_CharacterBody2D_property_motion_velocity:
-
-- :ref:`Vector2<class_Vector2>` **motion_velocity**
-
-+-----------+----------------------------+
-| *Default* | ``Vector2(0, 0)``          |
-+-----------+----------------------------+
-| *Setter*  | set_motion_velocity(value) |
-+-----------+----------------------------+
-| *Getter*  | get_motion_velocity()      |
-+-----------+----------------------------+
-
-Current velocity vector in pixels per second, used and modified during calls to :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`.
-
-----
-
 .. _class_CharacterBody2D_property_moving_platform_apply_velocity_on_leave:
 
 - :ref:`MovingPlatformApplyVelocityOnLeave<enum_CharacterBody2D_MovingPlatformApplyVelocityOnLeave>` **moving_platform_apply_velocity_on_leave**
@@ -379,6 +363,22 @@ Direction vector used to determine what is a wall and what is a floor (or a ceil
 
 ----
 
+.. _class_CharacterBody2D_property_velocity:
+
+- :ref:`Vector2<class_Vector2>` **velocity**
+
++-----------+---------------------+
+| *Default* | ``Vector2(0, 0)``   |
++-----------+---------------------+
+| *Setter*  | set_velocity(value) |
++-----------+---------------------+
+| *Getter*  | get_velocity()      |
++-----------+---------------------+
+
+Current velocity vector in pixels per second, used and modified during calls to :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`.
+
+----
+
 .. _class_CharacterBody2D_property_wall_min_slide_angle:
 
 - :ref:`float<class_float>` **wall_min_slide_angle**
@@ -448,7 +448,7 @@ Returns the travel (position delta) that occurred during the last call to :ref:`
 
 - :ref:`Vector2<class_Vector2>` **get_real_velocity** **(** **)** |const|
 
-Returns the current real velocity since the last call to :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. For example, when you climb a slope, you will move diagonally even though the velocity is horizontal. This method returns the diagonal movement, as opposed to :ref:`motion_velocity<class_CharacterBody2D_property_motion_velocity>` which returns the requested velocity.
+Returns the current real velocity since the last call to :ref:`move_and_slide<class_CharacterBody2D_method_move_and_slide>`. For example, when you climb a slope, you will move diagonally even though the velocity is horizontal. This method returns the diagonal movement, as opposed to :ref:`velocity<class_CharacterBody2D_property_velocity>` which returns the requested velocity.
 
 ----
 
@@ -549,9 +549,9 @@ Returns ``true`` if the body collided only with a wall on the last call of :ref:
 
 - :ref:`bool<class_bool>` **move_and_slide** **(** **)**
 
-Moves the body based on :ref:`motion_velocity<class_CharacterBody2D_property_motion_velocity>`. If the body collides with another, it will slide along the other body (by default only on floor) rather than stop immediately. If the other body is a ``CharacterBody2D`` or :ref:`RigidDynamicBody2D<class_RigidDynamicBody2D>`, it will also be affected by the motion of the other body. You can use this to make moving and rotating platforms, or to make nodes push other nodes.
+Moves the body based on :ref:`velocity<class_CharacterBody2D_property_velocity>`. If the body collides with another, it will slide along the other body (by default only on floor) rather than stop immediately. If the other body is a ``CharacterBody2D`` or :ref:`RigidDynamicBody2D<class_RigidDynamicBody2D>`, it will also be affected by the motion of the other body. You can use this to make moving and rotating platforms, or to make nodes push other nodes.
 
-Modifies :ref:`motion_velocity<class_CharacterBody2D_property_motion_velocity>` if a slide collision occurred. To get the latest collision call :ref:`get_last_slide_collision<class_CharacterBody2D_method_get_last_slide_collision>`, for detailed information about collisions that occurred, use :ref:`get_slide_collision<class_CharacterBody2D_method_get_slide_collision>`.
+Modifies :ref:`velocity<class_CharacterBody2D_property_velocity>` if a slide collision occurred. To get the latest collision call :ref:`get_last_slide_collision<class_CharacterBody2D_method_get_last_slide_collision>`, for detailed information about collisions that occurred, use :ref:`get_slide_collision<class_CharacterBody2D_method_get_slide_collision>`.
 
 When the body touches a moving platform, the platform's velocity is automatically added to the body motion. If a collision occurs due to the platform's motion, it will always be first in the slide collisions.
 

+ 24 - 24
classes/class_characterbody3d.rst

@@ -55,8 +55,6 @@ Properties
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+
 | :ref:`MotionMode<enum_CharacterBody3D_MotionMode>`                                                 | :ref:`motion_mode<class_CharacterBody3D_property_motion_mode>`                                                         | ``0``                |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+
-| :ref:`Vector3<class_Vector3>`                                                                      | :ref:`motion_velocity<class_CharacterBody3D_property_motion_velocity>`                                                 | ``Vector3(0, 0, 0)`` |
-+----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+
 | :ref:`MovingPlatformApplyVelocityOnLeave<enum_CharacterBody3D_MovingPlatformApplyVelocityOnLeave>` | :ref:`moving_platform_apply_velocity_on_leave<class_CharacterBody3D_property_moving_platform_apply_velocity_on_leave>` | ``0``                |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+
 | :ref:`int<class_int>`                                                                              | :ref:`moving_platform_floor_layers<class_CharacterBody3D_property_moving_platform_floor_layers>`                       | ``4294967295``       |
@@ -67,6 +65,8 @@ Properties
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+
 | :ref:`Vector3<class_Vector3>`                                                                      | :ref:`up_direction<class_CharacterBody3D_property_up_direction>`                                                       | ``Vector3(0, 1, 0)`` |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+
+| :ref:`Vector3<class_Vector3>`                                                                      | :ref:`velocity<class_CharacterBody3D_property_velocity>`                                                               | ``Vector3(0, 0, 0)`` |
++----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+
 | :ref:`float<class_float>`                                                                          | :ref:`wall_min_slide_angle<class_CharacterBody3D_property_wall_min_slide_angle>`                                       | ``0.261799``         |
 +----------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+
 
@@ -136,9 +136,9 @@ enum **MotionMode**:
 
 enum **MovingPlatformApplyVelocityOnLeave**:
 
-- **PLATFORM_VEL_ON_LEAVE_ALWAYS** = **0** --- Add the last platform velocity to the :ref:`motion_velocity<class_CharacterBody3D_property_motion_velocity>` when you leave a moving platform.
+- **PLATFORM_VEL_ON_LEAVE_ALWAYS** = **0** --- Add the last platform velocity to the :ref:`velocity<class_CharacterBody3D_property_velocity>` when you leave a moving platform.
 
-- **PLATFORM_VEL_ON_LEAVE_UPWARD_ONLY** = **1** --- Add the last platform velocity to the :ref:`motion_velocity<class_CharacterBody3D_property_motion_velocity>` when you leave a moving platform, but any downward motion is ignored. It's useful to keep full jump height even when the platform is moving down.
+- **PLATFORM_VEL_ON_LEAVE_UPWARD_ONLY** = **1** --- Add the last platform velocity to the :ref:`velocity<class_CharacterBody3D_property_velocity>` when you leave a moving platform, but any downward motion is ignored. It's useful to keep full jump height even when the platform is moving down.
 
 - **PLATFORM_VEL_ON_LEAVE_NEVER** = **2** --- Do nothing when leaving a platform.
 
@@ -249,7 +249,7 @@ As long as the snapping vector is in contact with the ground and the body moves
 
 If ``true``, the body will not slide on slopes when calling :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>` when the body is standing still.
 
-If ``false``, the body will slide on floor's slopes when :ref:`motion_velocity<class_CharacterBody3D_property_motion_velocity>` applies a downward force.
+If ``false``, the body will slide on floor's slopes when :ref:`velocity<class_CharacterBody3D_property_velocity>` applies a downward force.
 
 ----
 
@@ -285,22 +285,6 @@ Sets the motion mode which defines the behavior of :ref:`move_and_slide<class_Ch
 
 ----
 
-.. _class_CharacterBody3D_property_motion_velocity:
-
-- :ref:`Vector3<class_Vector3>` **motion_velocity**
-
-+-----------+----------------------------+
-| *Default* | ``Vector3(0, 0, 0)``       |
-+-----------+----------------------------+
-| *Setter*  | set_motion_velocity(value) |
-+-----------+----------------------------+
-| *Getter*  | get_motion_velocity()      |
-+-----------+----------------------------+
-
-Current velocity vector (typically meters per second), used and modified during calls to :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`.
-
-----
-
 .. _class_CharacterBody3D_property_moving_platform_apply_velocity_on_leave:
 
 - :ref:`MovingPlatformApplyVelocityOnLeave<enum_CharacterBody3D_MovingPlatformApplyVelocityOnLeave>` **moving_platform_apply_velocity_on_leave**
@@ -381,6 +365,22 @@ Direction vector used to determine what is a wall and what is a floor (or a ceil
 
 ----
 
+.. _class_CharacterBody3D_property_velocity:
+
+- :ref:`Vector3<class_Vector3>` **velocity**
+
++-----------+----------------------+
+| *Default* | ``Vector3(0, 0, 0)`` |
++-----------+----------------------+
+| *Setter*  | set_velocity(value)  |
++-----------+----------------------+
+| *Getter*  | get_velocity()       |
++-----------+----------------------+
+
+Current velocity vector (typically meters per second), used and modified during calls to :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`.
+
+----
+
 .. _class_CharacterBody3D_property_wall_min_slide_angle:
 
 - :ref:`float<class_float>` **wall_min_slide_angle**
@@ -450,7 +450,7 @@ Returns the travel (position delta) that occurred during the last call to :ref:`
 
 - :ref:`Vector3<class_Vector3>` **get_real_velocity** **(** **)** |const|
 
-Returns the current real velocity since the last call to :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. For example, when you climb a slope, you will move diagonally even though the velocity is horizontal. This method returns the diagonal movement, as opposed to :ref:`motion_velocity<class_CharacterBody3D_property_motion_velocity>` which returns the requested velocity.
+Returns the current real velocity since the last call to :ref:`move_and_slide<class_CharacterBody3D_method_move_and_slide>`. For example, when you climb a slope, you will move diagonally even though the velocity is horizontal. This method returns the diagonal movement, as opposed to :ref:`velocity<class_CharacterBody3D_property_velocity>` which returns the requested velocity.
 
 ----
 
@@ -530,9 +530,9 @@ Returns ``true`` if the body collided only with a wall on the last call of :ref:
 
 - :ref:`bool<class_bool>` **move_and_slide** **(** **)**
 
-Moves the body based on :ref:`motion_velocity<class_CharacterBody3D_property_motion_velocity>`. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``CharacterBody3D`` or :ref:`RigidDynamicBody3D<class_RigidDynamicBody3D>`, it will also be affected by the motion of the other body. You can use this to make moving and rotating platforms, or to make nodes push other nodes.
+Moves the body based on :ref:`velocity<class_CharacterBody3D_property_velocity>`. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``CharacterBody3D`` or :ref:`RigidDynamicBody3D<class_RigidDynamicBody3D>`, it will also be affected by the motion of the other body. You can use this to make moving and rotating platforms, or to make nodes push other nodes.
 
-Modifies :ref:`motion_velocity<class_CharacterBody3D_property_motion_velocity>` if a slide collision occurred. To get the latest collision call :ref:`get_last_slide_collision<class_CharacterBody3D_method_get_last_slide_collision>`, for more detailed information about collisions that occurred, use :ref:`get_slide_collision<class_CharacterBody3D_method_get_slide_collision>`.
+Modifies :ref:`velocity<class_CharacterBody3D_property_velocity>` if a slide collision occurred. To get the latest collision call :ref:`get_last_slide_collision<class_CharacterBody3D_method_get_last_slide_collision>`, for more detailed information about collisions that occurred, use :ref:`get_slide_collision<class_CharacterBody3D_method_get_slide_collision>`.
 
 When the body touches a moving platform, the platform's velocity is automatically added to the body motion. If a collision occurs due to the platform's motion, it will always be first in the slide collisions.
 

+ 1 - 1
classes/class_colorpickerbutton.rst

@@ -20,7 +20,7 @@ Encapsulates a :ref:`ColorPicker<class_ColorPicker>` making it accessible by pre
 
 See also :ref:`BaseButton<class_BaseButton>` which contains common properties and methods associated with this node.
 
-\ **Note:** By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set :ref:`Control.rect_min_size<class_Control_property_rect_min_size>` to a big enough value to give the button enough space.
+\ **Note:** By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set :ref:`Control.minimum_size<class_Control_property_minimum_size>` to a big enough value to give the button enough space.
 
 Tutorials
 ---------

+ 5 - 5
classes/class_streamcubemap.rst → classes/class_compressedcubemap.rst

@@ -1,15 +1,15 @@
 :github_url: hide
 
 .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the StreamCubemap.xml source instead.
+.. DO NOT EDIT THIS FILE, but the CompressedCubemap.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
-.. _class_StreamCubemap:
+.. _class_CompressedCubemap:
 
-StreamCubemap
-=============
+CompressedCubemap
+=================
 
-**Inherits:** :ref:`StreamTextureLayered<class_StreamTextureLayered>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CompressedTextureLayered<class_CompressedTextureLayered>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
 

+ 5 - 21
classes/class_pluginscript.rst → classes/class_compressedcubemaparray.rst

@@ -1,34 +1,18 @@
 :github_url: hide
 
 .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the PluginScript.xml source instead.
+.. DO NOT EDIT THIS FILE, but the CompressedCubemapArray.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
-.. _class_PluginScript:
+.. _class_CompressedCubemapArray:
 
-PluginScript
-============
+CompressedCubemapArray
+======================
 
-**Inherits:** :ref:`Script<class_Script>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CompressedTextureLayered<class_CompressedTextureLayered>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
 
-Methods
--------
-
-+-------------------------------+--------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`new<class_PluginScript_method_new>` **(** ... **)** |vararg| |
-+-------------------------------+--------------------------------------------------------------------+
-
-Method Descriptions
--------------------
-
-.. _class_PluginScript_method_new:
-
-- :ref:`Variant<class_Variant>` **new** **(** ... **)** |vararg|
-
-Returns a new instance of the script.
-
 .. |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.)`

+ 15 - 15
classes/class_streamtexture2d.rst → classes/class_compressedtexture2d.rst

@@ -1,41 +1,41 @@
 :github_url: hide
 
 .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the StreamTexture2D.xml source instead.
+.. DO NOT EDIT THIS FILE, but the CompressedTexture2D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
-.. _class_StreamTexture2D:
+.. _class_CompressedTexture2D:
 
-StreamTexture2D
-===============
+CompressedTexture2D
+===================
 
 **Inherits:** :ref:`Texture2D<class_Texture2D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-A ``.stex`` texture.
+A ``.ctex`` texture.
 
 Description
 -----------
 
-A texture that is loaded from a ``.stex`` file.
+A texture that is loaded from a ``.ctex`` file.
 
 Properties
 ----------
 
-+-----------------------------+------------------------------------------------------------+--------+
-| :ref:`String<class_String>` | :ref:`load_path<class_StreamTexture2D_property_load_path>` | ``""`` |
-+-----------------------------+------------------------------------------------------------+--------+
++-----------------------------+----------------------------------------------------------------+--------+
+| :ref:`String<class_String>` | :ref:`load_path<class_CompressedTexture2D_property_load_path>` | ``""`` |
++-----------------------------+----------------------------------------------------------------+--------+
 
 Methods
 -------
 
-+---------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load<class_StreamTexture2D_method_load>` **(** :ref:`String<class_String>` path **)** |
-+---------------------------------------+---------------------------------------------------------------------------------------------+
++---------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load<class_CompressedTexture2D_method_load>` **(** :ref:`String<class_String>` path **)** |
++---------------------------------------+-------------------------------------------------------------------------------------------------+
 
 Property Descriptions
 ---------------------
 
-.. _class_StreamTexture2D_property_load_path:
+.. _class_CompressedTexture2D_property_load_path:
 
 - :ref:`String<class_String>` **load_path**
 
@@ -47,12 +47,12 @@ Property Descriptions
 | *Getter*  | get_load_path() |
 +-----------+-----------------+
 
-The StreamTexture's file path to a ``.stex`` file.
+The CompressedTexture's file path to a ``.ctex`` file.
 
 Method Descriptions
 -------------------
 
-.. _class_StreamTexture2D_method_load:
+.. _class_CompressedTexture2D_method_load:
 
 - :ref:`Error<enum_@GlobalScope_Error>` **load** **(** :ref:`String<class_String>` path **)**
 

+ 21 - 0
classes/class_compressedtexture2darray.rst

@@ -0,0 +1,21 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the CompressedTexture2DArray.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_CompressedTexture2DArray:
+
+CompressedTexture2DArray
+========================
+
+**Inherits:** :ref:`CompressedTextureLayered<class_CompressedTextureLayered>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 12 - 12
classes/class_streamtexture3d.rst → classes/class_compressedtexture3d.rst

@@ -1,13 +1,13 @@
 :github_url: hide
 
 .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the StreamTexture3D.xml source instead.
+.. DO NOT EDIT THIS FILE, but the CompressedTexture3D.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
-.. _class_StreamTexture3D:
+.. _class_CompressedTexture3D:
 
-StreamTexture3D
-===============
+CompressedTexture3D
+===================
 
 **Inherits:** :ref:`Texture3D<class_Texture3D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
@@ -16,21 +16,21 @@ StreamTexture3D
 Properties
 ----------
 
-+-----------------------------+------------------------------------------------------------+--------+
-| :ref:`String<class_String>` | :ref:`load_path<class_StreamTexture3D_property_load_path>` | ``""`` |
-+-----------------------------+------------------------------------------------------------+--------+
++-----------------------------+----------------------------------------------------------------+--------+
+| :ref:`String<class_String>` | :ref:`load_path<class_CompressedTexture3D_property_load_path>` | ``""`` |
++-----------------------------+----------------------------------------------------------------+--------+
 
 Methods
 -------
 
-+---------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load<class_StreamTexture3D_method_load>` **(** :ref:`String<class_String>` path **)** |
-+---------------------------------------+---------------------------------------------------------------------------------------------+
++---------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load<class_CompressedTexture3D_method_load>` **(** :ref:`String<class_String>` path **)** |
++---------------------------------------+-------------------------------------------------------------------------------------------------+
 
 Property Descriptions
 ---------------------
 
-.. _class_StreamTexture3D_property_load_path:
+.. _class_CompressedTexture3D_property_load_path:
 
 - :ref:`String<class_String>` **load_path**
 
@@ -45,7 +45,7 @@ Property Descriptions
 Method Descriptions
 -------------------
 
-.. _class_StreamTexture3D_method_load:
+.. _class_CompressedTexture3D_method_load:
 
 - :ref:`Error<enum_@GlobalScope_Error>` **load** **(** :ref:`String<class_String>` path **)**
 

+ 13 - 13
classes/class_streamtexturelayered.rst → classes/class_compressedtexturelayered.rst

@@ -1,38 +1,38 @@
 :github_url: hide
 
 .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the StreamTextureLayered.xml source instead.
+.. DO NOT EDIT THIS FILE, but the CompressedTextureLayered.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
-.. _class_StreamTextureLayered:
+.. _class_CompressedTextureLayered:
 
-StreamTextureLayered
-====================
+CompressedTextureLayered
+========================
 
 **Inherits:** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`StreamCubemap<class_StreamCubemap>`, :ref:`StreamCubemapArray<class_StreamCubemapArray>`, :ref:`StreamTexture2DArray<class_StreamTexture2DArray>`
+**Inherited By:** :ref:`CompressedCubemap<class_CompressedCubemap>`, :ref:`CompressedCubemapArray<class_CompressedCubemapArray>`, :ref:`CompressedTexture2DArray<class_CompressedTexture2DArray>`
 
 
 
 Properties
 ----------
 
-+-----------------------------+-----------------------------------------------------------------+--------+
-| :ref:`String<class_String>` | :ref:`load_path<class_StreamTextureLayered_property_load_path>` | ``""`` |
-+-----------------------------+-----------------------------------------------------------------+--------+
++-----------------------------+---------------------------------------------------------------------+--------+
+| :ref:`String<class_String>` | :ref:`load_path<class_CompressedTextureLayered_property_load_path>` | ``""`` |
++-----------------------------+---------------------------------------------------------------------+--------+
 
 Methods
 -------
 
-+---------------------------------------+--------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load<class_StreamTextureLayered_method_load>` **(** :ref:`String<class_String>` path **)** |
-+---------------------------------------+--------------------------------------------------------------------------------------------------+
++---------------------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load<class_CompressedTextureLayered_method_load>` **(** :ref:`String<class_String>` path **)** |
++---------------------------------------+------------------------------------------------------------------------------------------------------+
 
 Property Descriptions
 ---------------------
 
-.. _class_StreamTextureLayered_property_load_path:
+.. _class_CompressedTextureLayered_property_load_path:
 
 - :ref:`String<class_String>` **load_path**
 
@@ -47,7 +47,7 @@ Property Descriptions
 Method Descriptions
 -------------------
 
-.. _class_StreamTextureLayered_method_load:
+.. _class_CompressedTextureLayered_method_load:
 
 - :ref:`Error<enum_@GlobalScope_Error>` **load** **(** :ref:`String<class_String>` path **)**
 

+ 87 - 87
classes/class_control.rst

@@ -63,6 +63,8 @@ Properties
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`bool<class_bool>`                              | :ref:`auto_translate<class_Control_property_auto_translate>`                         | ``true``          |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
+| :ref:`bool<class_bool>`                              | :ref:`clip_contents<class_Control_property_clip_contents>`                           | ``false``         |
++------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`FocusMode<enum_Control_FocusMode>`             | :ref:`focus_mode<class_Control_property_focus_mode>`                                 | ``0``             |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`NodePath<class_NodePath>`                      | :ref:`focus_neighbor_bottom<class_Control_property_focus_neighbor_bottom>`           | ``NodePath("")``  |
@@ -77,6 +79,8 @@ Properties
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`NodePath<class_NodePath>`                      | :ref:`focus_previous<class_Control_property_focus_previous>`                         | ``NodePath("")``  |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
+| :ref:`Vector2<class_Vector2>`                        | :ref:`global_position<class_Control_property_global_position>`                       |                   |
++------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`GrowDirection<enum_Control_GrowDirection>`     | :ref:`grow_horizontal<class_Control_property_grow_horizontal>`                       | ``1``             |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`GrowDirection<enum_Control_GrowDirection>`     | :ref:`grow_vertical<class_Control_property_grow_vertical>`                           | ``1``             |
@@ -85,6 +89,8 @@ Properties
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`LayoutDirection<enum_Control_LayoutDirection>` | :ref:`layout_direction<class_Control_property_layout_direction>`                     | ``0``             |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
+| :ref:`Vector2<class_Vector2>`                        | :ref:`minimum_size<class_Control_property_minimum_size>`                             | ``Vector2(0, 0)`` |
++------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`CursorShape<enum_Control_CursorShape>`         | :ref:`mouse_default_cursor_shape<class_Control_property_mouse_default_cursor_shape>` | ``0``             |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`MouseFilter<enum_Control_MouseFilter>`         | :ref:`mouse_filter<class_Control_property_mouse_filter>`                             | ``0``             |
@@ -97,21 +103,15 @@ Properties
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`float<class_float>`                            | :ref:`offset_top<class_Control_property_offset_top>`                                 | ``0.0``           |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
-| :ref:`bool<class_bool>`                              | :ref:`rect_clip_content<class_Control_property_rect_clip_content>`                   | ``false``         |
-+------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
-| :ref:`Vector2<class_Vector2>`                        | :ref:`rect_global_position<class_Control_property_rect_global_position>`             |                   |
-+------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
-| :ref:`Vector2<class_Vector2>`                        | :ref:`rect_min_size<class_Control_property_rect_min_size>`                           | ``Vector2(0, 0)`` |
-+------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
-| :ref:`Vector2<class_Vector2>`                        | :ref:`rect_pivot_offset<class_Control_property_rect_pivot_offset>`                   | ``Vector2(0, 0)`` |
+| :ref:`Vector2<class_Vector2>`                        | :ref:`pivot_offset<class_Control_property_pivot_offset>`                             | ``Vector2(0, 0)`` |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
-| :ref:`Vector2<class_Vector2>`                        | :ref:`rect_position<class_Control_property_rect_position>`                           | ``Vector2(0, 0)`` |
+| :ref:`Vector2<class_Vector2>`                        | :ref:`position<class_Control_property_position>`                                     | ``Vector2(0, 0)`` |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
-| :ref:`float<class_float>`                            | :ref:`rect_rotation<class_Control_property_rect_rotation>`                           | ``0.0``           |
+| :ref:`float<class_float>`                            | :ref:`rotation<class_Control_property_rotation>`                                     | ``0.0``           |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
-| :ref:`Vector2<class_Vector2>`                        | :ref:`rect_scale<class_Control_property_rect_scale>`                                 | ``Vector2(1, 1)`` |
+| :ref:`Vector2<class_Vector2>`                        | :ref:`scale<class_Control_property_scale>`                                           | ``Vector2(1, 1)`` |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
-| :ref:`Vector2<class_Vector2>`                        | :ref:`rect_size<class_Control_property_rect_size>`                                   | ``Vector2(0, 0)`` |
+| :ref:`Vector2<class_Vector2>`                        | :ref:`size<class_Control_property_size>`                                             | ``Vector2(0, 0)`` |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
 | :ref:`int<class_int>`                                | :ref:`size_flags_horizontal<class_Control_property_size_flags_horizontal>`           | ``1``             |
 +------------------------------------------------------+--------------------------------------------------------------------------------------+-------------------+
@@ -353,7 +353,7 @@ If you want to check whether the mouse truly left the area, ignoring any top nod
 ::
 
     func _on_mouse_exited():
-        if not Rect2(Vector2(), rect_size).has_point(get_local_mouse_position()):
+        if not Rect2(Vector2(), size).has_point(get_local_mouse_position()):
             # Not hovering over area.
 
 ----
@@ -746,7 +746,7 @@ Constants
 
 .. _class_Control_constant_NOTIFICATION_LAYOUT_DIRECTION_CHANGED:
 
-- **NOTIFICATION_RESIZED** = **40** --- Sent when the node changes size. Use :ref:`rect_size<class_Control_property_rect_size>` to get the new size.
+- **NOTIFICATION_RESIZED** = **40** --- Sent when the node changes size. Use :ref:`size<class_Control_property_size>` to get the new size.
 
 - **NOTIFICATION_MOUSE_ENTER** = **41** --- Sent when the mouse pointer enters the node.
 
@@ -841,6 +841,22 @@ Also decides if the node's strings should be parsed for POT generation.
 
 ----
 
+.. _class_Control_property_clip_contents:
+
+- :ref:`bool<class_bool>` **clip_contents**
+
++-----------+--------------------------+
+| *Default* | ``false``                |
++-----------+--------------------------+
+| *Setter*  | set_clip_contents(value) |
++-----------+--------------------------+
+| *Getter*  | is_clipping_contents()   |
++-----------+--------------------------+
+
+Enables whether rendering of :ref:`CanvasItem<class_CanvasItem>` based children should be clipped to this control's rectangle. If ``true``, parts of a child which would be visibly outside of this control's rectangle will not be rendered and won't receive input.
+
+----
+
 .. _class_Control_property_focus_mode:
 
 - :ref:`FocusMode<enum_Control_FocusMode>` **focus_mode**
@@ -957,6 +973,18 @@ If this property is not set, Godot will select a "best guess" based on surroundi
 
 ----
 
+.. _class_Control_property_global_position:
+
+- :ref:`Vector2<class_Vector2>` **global_position**
+
++----------+-----------------------+
+| *Getter* | get_global_position() |
++----------+-----------------------+
+
+The node's global position, relative to the world (usually to the top-left corner of the window).
+
+----
+
 .. _class_Control_property_grow_horizontal:
 
 - :ref:`GrowDirection<enum_Control_GrowDirection>` **grow_horizontal**
@@ -1044,6 +1072,22 @@ Controls layout direction and text writing direction. Right-to-left layouts are
 
 ----
 
+.. _class_Control_property_minimum_size:
+
+- :ref:`Vector2<class_Vector2>` **minimum_size**
+
++-----------+--------------------------------+
+| *Default* | ``Vector2(0, 0)``              |
++-----------+--------------------------------+
+| *Setter*  | set_custom_minimum_size(value) |
++-----------+--------------------------------+
+| *Getter*  | get_custom_minimum_size()      |
++-----------+--------------------------------+
+
+The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
+
+----
+
 .. _class_Control_property_mouse_default_cursor_shape:
 
 - :ref:`CursorShape<enum_Control_CursorShape>` **mouse_default_cursor_shape**
@@ -1150,53 +1194,9 @@ Offsets are often controlled by one or multiple parent :ref:`Container<class_Con
 
 ----
 
-.. _class_Control_property_rect_clip_content:
-
-- :ref:`bool<class_bool>` **rect_clip_content**
-
-+-----------+--------------------------+
-| *Default* | ``false``                |
-+-----------+--------------------------+
-| *Setter*  | set_clip_contents(value) |
-+-----------+--------------------------+
-| *Getter*  | is_clipping_contents()   |
-+-----------+--------------------------+
-
-Enables whether rendering of :ref:`CanvasItem<class_CanvasItem>` based children should be clipped to this control's rectangle. If ``true``, parts of a child which would be visibly outside of this control's rectangle will not be rendered and won't receive input.
-
-----
-
-.. _class_Control_property_rect_global_position:
-
-- :ref:`Vector2<class_Vector2>` **rect_global_position**
-
-+----------+-----------------------+
-| *Getter* | get_global_position() |
-+----------+-----------------------+
-
-The node's global position, relative to the world (usually to the top-left corner of the window).
-
-----
-
-.. _class_Control_property_rect_min_size:
-
-- :ref:`Vector2<class_Vector2>` **rect_min_size**
-
-+-----------+--------------------------------+
-| *Default* | ``Vector2(0, 0)``              |
-+-----------+--------------------------------+
-| *Setter*  | set_custom_minimum_size(value) |
-+-----------+--------------------------------+
-| *Getter*  | get_custom_minimum_size()      |
-+-----------+--------------------------------+
-
-The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
-
-----
-
-.. _class_Control_property_rect_pivot_offset:
+.. _class_Control_property_pivot_offset:
 
-- :ref:`Vector2<class_Vector2>` **rect_pivot_offset**
+- :ref:`Vector2<class_Vector2>` **pivot_offset**
 
 +-----------+-------------------------+
 | *Default* | ``Vector2(0, 0)``       |
@@ -1206,13 +1206,13 @@ The minimum size of the node's bounding rectangle. If you set it to a value grea
 | *Getter*  | get_pivot_offset()      |
 +-----------+-------------------------+
 
-By default, the node's pivot is its top-left corner. When you change its :ref:`rect_scale<class_Control_property_rect_scale>`, it will scale around this pivot. Set this property to :ref:`rect_size<class_Control_property_rect_size>` / 2 to center the pivot in the node's rectangle.
+By default, the node's pivot is its top-left corner. When you change its :ref:`rotation<class_Control_property_rotation>` or :ref:`scale<class_Control_property_scale>`, it will rotate or scale around this pivot. Set this property to :ref:`size<class_Control_property_size>` / 2 to pivot around the Control's center.
 
 ----
 
-.. _class_Control_property_rect_position:
+.. _class_Control_property_position:
 
-- :ref:`Vector2<class_Vector2>` **rect_position**
+- :ref:`Vector2<class_Vector2>` **position**
 
 +-----------+-------------------+
 | *Default* | ``Vector2(0, 0)`` |
@@ -1220,13 +1220,13 @@ By default, the node's pivot is its top-left corner. When you change its :ref:`r
 | *Getter*  | get_position()    |
 +-----------+-------------------+
 
-The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by :ref:`rect_pivot_offset<class_Control_property_rect_pivot_offset>`.
+The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by :ref:`pivot_offset<class_Control_property_pivot_offset>`.
 
 ----
 
-.. _class_Control_property_rect_rotation:
+.. _class_Control_property_rotation:
 
-- :ref:`float<class_float>` **rect_rotation**
+- :ref:`float<class_float>` **rotation**
 
 +-----------+---------------------+
 | *Default* | ``0.0``             |
@@ -1236,13 +1236,13 @@ The node's position, relative to its parent. It corresponds to the rectangle's t
 | *Getter*  | get_rotation()      |
 +-----------+---------------------+
 
-The node's rotation around its pivot, in radians. See :ref:`rect_pivot_offset<class_Control_property_rect_pivot_offset>` to change the pivot's position.
+The node's rotation around its pivot, in radians. See :ref:`pivot_offset<class_Control_property_pivot_offset>` to change the pivot's position.
 
 ----
 
-.. _class_Control_property_rect_scale:
+.. _class_Control_property_scale:
 
-- :ref:`Vector2<class_Vector2>` **rect_scale**
+- :ref:`Vector2<class_Vector2>` **scale**
 
 +-----------+-------------------+
 | *Default* | ``Vector2(1, 1)`` |
@@ -1252,17 +1252,17 @@ The node's rotation around its pivot, in radians. See :ref:`rect_pivot_offset<cl
 | *Getter*  | get_scale()       |
 +-----------+-------------------+
 
-The node's scale, relative to its :ref:`rect_size<class_Control_property_rect_size>`. Change this property to scale the node around its :ref:`rect_pivot_offset<class_Control_property_rect_pivot_offset>`. The Control's :ref:`hint_tooltip<class_Control_property_hint_tooltip>` will also scale according to this value.
+The node's scale, relative to its :ref:`size<class_Control_property_size>`. Change this property to scale the node around its :ref:`pivot_offset<class_Control_property_pivot_offset>`. The Control's :ref:`hint_tooltip<class_Control_property_hint_tooltip>` will also scale according to this value.
 
 \ **Note:** This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the :doc:`documentation <../tutorials/viewports/multiple_resolutions>` instead of scaling Controls individually.
 
-\ **Note:** If the Control node is a child of a :ref:`Container<class_Container>` node, the scale will be reset to ``Vector2(1, 1)`` when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using ``await get_tree().process_frame`` then set its :ref:`rect_scale<class_Control_property_rect_scale>` property.
+\ **Note:** If the Control node is a child of a :ref:`Container<class_Container>` node, the scale will be reset to ``Vector2(1, 1)`` when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using ``await get_tree().process_frame`` then set its :ref:`scale<class_Control_property_scale>` property.
 
 ----
 
-.. _class_Control_property_rect_size:
+.. _class_Control_property_size:
 
-- :ref:`Vector2<class_Vector2>` **rect_size**
+- :ref:`Vector2<class_Vector2>` **size**
 
 +-----------+-------------------+
 | *Default* | ``Vector2(0, 0)`` |
@@ -1456,7 +1456,7 @@ A preview that will follow the mouse that should represent the data can be set w
 
 - :ref:`Vector2<class_Vector2>` **_get_minimum_size** **(** **)** |virtual| |const|
 
-Virtual method to be implemented by the user. Returns the minimum size for this control. Alternative to :ref:`rect_min_size<class_Control_property_rect_min_size>` for controlling minimum size via code. The actual minimum size will be the max value of these two (in each axis separately).
+Virtual method to be implemented by the user. Returns the minimum size for this control. Alternative to :ref:`minimum_size<class_Control_property_minimum_size>` for controlling minimum size via code. The actual minimum size will be the max value of these two (in each axis separately).
 
 If not overridden, defaults to :ref:`Vector2.ZERO<class_Vector2_constant_ZERO>`.
 
@@ -1508,7 +1508,7 @@ The event won't trigger if:
 
 \* control's parent has :ref:`mouse_filter<class_Control_property_mouse_filter>` set to :ref:`MOUSE_FILTER_STOP<class_Control_constant_MOUSE_FILTER_STOP>` or has accepted the event;
 
-\* it happens outside the parent's rectangle and the parent has either :ref:`rect_clip_content<class_Control_property_rect_clip_content>` enabled.
+\* it happens outside the parent's rectangle and the parent has either :ref:`clip_contents<class_Control_property_clip_contents>` enabled.
 
 \ **Note:** Event position is relative to the control origin.
 
@@ -1536,7 +1536,7 @@ The returned node must be of type ``Control`` or Control-derived. It can have ch
 
 The returned node will be added as child to a :ref:`PopupPanel<class_PopupPanel>`, so you should only provide the contents of that panel. That :ref:`PopupPanel<class_PopupPanel>` can be themed using :ref:`Theme.set_stylebox<class_Theme_method_set_stylebox>` for the type ``"TooltipPanel"`` (see :ref:`hint_tooltip<class_Control_property_hint_tooltip>` for an example).
 
-\ **Note:** The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its :ref:`rect_min_size<class_Control_property_rect_min_size>` to some non-zero value.
+\ **Note:** The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its :ref:`minimum_size<class_Control_property_minimum_size>` to some non-zero value.
 
 \ **Note:** The node (and any relevant children) should be :ref:`CanvasItem.visible<class_CanvasItem_property_visible>` when returned, otherwise, the viewport that instantiates it will not be able to calculate its minimum size reliably.
 
@@ -1776,7 +1776,7 @@ Returns the anchor for the specified :ref:`Side<enum_@GlobalScope_Side>`. A gett
 
 - :ref:`Vector2<class_Vector2>` **get_begin** **(** **)** |const|
 
-Returns :ref:`offset_left<class_Control_property_offset_left>` and :ref:`offset_top<class_Control_property_offset_top>`. See also :ref:`rect_position<class_Control_property_rect_position>`.
+Returns :ref:`offset_left<class_Control_property_offset_left>` and :ref:`offset_top<class_Control_property_offset_top>`. See also :ref:`position<class_Control_property_position>`.
 
 ----
 
@@ -1784,7 +1784,7 @@ Returns :ref:`offset_left<class_Control_property_offset_left>` and :ref:`offset_
 
 - :ref:`Vector2<class_Vector2>` **get_combined_minimum_size** **(** **)** |const|
 
-Returns combined minimum size from :ref:`rect_min_size<class_Control_property_rect_min_size>` and :ref:`get_minimum_size<class_Control_method_get_minimum_size>`.
+Returns combined minimum size from :ref:`minimum_size<class_Control_property_minimum_size>` and :ref:`get_minimum_size<class_Control_method_get_minimum_size>`.
 
 ----
 
@@ -1816,7 +1816,7 @@ Returns the focus neighbor for the specified :ref:`Side<enum_@GlobalScope_Side>`
 
 - :ref:`Rect2<class_Rect2>` **get_global_rect** **(** **)** |const|
 
-Returns the position and size of the control relative to the top-left corner of the screen. See :ref:`rect_position<class_Control_property_rect_position>` and :ref:`rect_size<class_Control_property_rect_size>`.
+Returns the position and size of the control relative to the top-left corner of the screen. See :ref:`position<class_Control_property_position>` and :ref:`size<class_Control_property_size>`.
 
 ----
 
@@ -1824,7 +1824,7 @@ Returns the position and size of the control relative to the top-left corner of
 
 - :ref:`Vector2<class_Vector2>` **get_minimum_size** **(** **)** |const|
 
-Returns the minimum size for this control. See :ref:`rect_min_size<class_Control_property_rect_min_size>`.
+Returns the minimum size for this control. See :ref:`minimum_size<class_Control_property_minimum_size>`.
 
 ----
 
@@ -1856,7 +1856,7 @@ Returns the parent control node.
 
 - :ref:`Rect2<class_Rect2>` **get_rect** **(** **)** |const|
 
-Returns the position and size of the control relative to the top-left corner of the parent Control. See :ref:`rect_position<class_Control_property_rect_position>` and :ref:`rect_size<class_Control_property_rect_size>`.
+Returns the position and size of the control relative to the top-left corner of the parent Control. See :ref:`position<class_Control_property_position>` and :ref:`size<class_Control_property_size>`.
 
 ----
 
@@ -2264,7 +2264,7 @@ If ``keep_offsets`` is ``true``, control's position will also be updated.
 
 - void **set_begin** **(** :ref:`Vector2<class_Vector2>` position **)**
 
-Sets :ref:`offset_left<class_Control_property_offset_left>` and :ref:`offset_top<class_Control_property_offset_top>` at the same time. Equivalent of changing :ref:`rect_position<class_Control_property_rect_position>`.
+Sets :ref:`offset_left<class_Control_property_offset_left>` and :ref:`offset_top<class_Control_property_offset_top>` at the same time. Equivalent of changing :ref:`position<class_Control_property_position>`.
 
 ----
 
@@ -2359,7 +2359,7 @@ Shows the given control at the mouse pointer. A good time to call this method is
         # Use a control that is not in the tree
         var cpb = ColorPickerButton.new()
         cpb.color = color
-        cpb.rect_size = Vector2(50, 50)
+        cpb.size = Vector2(50, 50)
         set_drag_preview(cpb)
         return color
 
@@ -2402,7 +2402,7 @@ Sets the anchor for the specified :ref:`Side<enum_@GlobalScope_Side>` to the ``C
 
 - void **set_global_position** **(** :ref:`Vector2<class_Vector2>` position, :ref:`bool<class_bool>` keep_offsets=false **)**
 
-Sets the :ref:`rect_global_position<class_Control_property_rect_global_position>` to given ``position``.
+Sets the :ref:`global_position<class_Control_property_global_position>` to given ``position``.
 
 If ``keep_offsets`` is ``true``, control's anchors will be updated instead of offsets.
 
@@ -2432,7 +2432,7 @@ Use parameter ``margin`` to determine the gap between the ``Control`` and the ed
 
 - void **set_position** **(** :ref:`Vector2<class_Vector2>` position, :ref:`bool<class_bool>` keep_offsets=false **)**
 
-Sets the :ref:`rect_position<class_Control_property_rect_position>` to given ``position``.
+Sets the :ref:`position<class_Control_property_position>` to given ``position``.
 
 If ``keep_offsets`` is ``true``, control's anchors will be updated instead of offsets.
 
@@ -2442,7 +2442,7 @@ If ``keep_offsets`` is ``true``, control's anchors will be updated instead of of
 
 - void **set_size** **(** :ref:`Vector2<class_Vector2>` size, :ref:`bool<class_bool>` keep_offsets=false **)**
 
-Sets the size (see :ref:`rect_size<class_Control_property_rect_size>`).
+Sets the size (see :ref:`size<class_Control_property_size>`).
 
 If ``keep_offsets`` is ``true``, control's anchors will be updated instead of offsets.
 
@@ -2452,7 +2452,7 @@ If ``keep_offsets`` is ``true``, control's anchors will be updated instead of of
 
 - void **update_minimum_size** **(** **)**
 
-Invalidates the size cache in this node and in parent nodes up to top level. Intended to be used with :ref:`get_minimum_size<class_Control_method_get_minimum_size>` when the return value is changed. Setting :ref:`rect_min_size<class_Control_property_rect_min_size>` directly calls this method automatically.
+Invalidates the size cache in this node and in parent nodes up to top level. Intended to be used with :ref:`get_minimum_size<class_Control_method_get_minimum_size>` when the return value is changed. Setting :ref:`minimum_size<class_Control_property_minimum_size>` directly calls this method automatically.
 
 ----
 
@@ -2460,7 +2460,7 @@ Invalidates the size cache in this node and in parent nodes up to top level. Int
 
 - void **warp_mouse** **(** :ref:`Vector2<class_Vector2>` to_position **)**
 
-Moves the mouse cursor to ``to_position``, relative to :ref:`rect_position<class_Control_property_rect_position>` of this ``Control``.
+Moves the mouse cursor to ``to_position``, relative to :ref:`position<class_Control_property_position>` of this ``Control``.
 
 .. |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_curve2d.rst

@@ -92,7 +92,7 @@ Method Descriptions
 
 - void **add_point** **(** :ref:`Vector2<class_Vector2>` position, :ref:`Vector2<class_Vector2>` in=Vector2(0, 0), :ref:`Vector2<class_Vector2>` out=Vector2(0, 0), :ref:`int<class_int>` at_position=-1 **)**
 
-Adds a point to a curve at ``position`` relative to the Curve2D's position, with control points ``in`` and ``out``.
+Adds a point to a curve at ``position``, with control points ``in`` and ``out``.
 
 If ``at_position`` is given, the point is inserted before the point number ``at_position``, moving that point (and every point after) after the inserted point. If ``at_position`` is not given, or is an illegal value (``at_position <0`` or ``at_position >= [method get_point_count]``), the point will be appended at the end of the point list.
 

+ 40 - 6
classes/class_displayserver.rst

@@ -167,6 +167,8 @@ Methods
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                        | :ref:`window_can_draw<class_DisplayServer_method_window_can_draw>` **(** :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                                                                                                             |
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`window_get_active_popup<class_DisplayServer_method_window_get_active_popup>` **(** **)** |const|                                                                                                                                                                                                                                               |
++----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`window_get_attached_instance_id<class_DisplayServer_method_window_get_attached_instance_id>` **(** :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                                                                             |
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`window_get_current_screen<class_DisplayServer_method_window_get_current_screen>` **(** :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                                                                                         |
@@ -181,6 +183,8 @@ Methods
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`window_get_native_handle<class_DisplayServer_method_window_get_native_handle>` **(** :ref:`HandleType<enum_DisplayServer_HandleType>` handle_type, :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                             |
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2i<class_Rect2i>`                                    | :ref:`window_get_popup_safe_rect<class_DisplayServer_method_window_get_popup_safe_rect>` **(** :ref:`int<class_int>` window **)** |const|                                                                                                                                                                                                            |
++----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2i<class_Vector2i>`                                | :ref:`window_get_position<class_DisplayServer_method_window_get_position>` **(** :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                                                                                                     |
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2i<class_Vector2i>`                                | :ref:`window_get_real_size<class_DisplayServer_method_window_get_real_size>` **(** :ref:`int<class_int>` window_id=0 **)** |const|                                                                                                                                                                                                                   |
@@ -217,6 +221,8 @@ Methods
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                           | :ref:`window_set_mouse_passthrough<class_DisplayServer_method_window_set_mouse_passthrough>` **(** :ref:`PackedVector2Array<class_PackedVector2Array>` region, :ref:`int<class_int>` window_id=0 **)**                                                                                                                                               |
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`window_set_popup_safe_rect<class_DisplayServer_method_window_set_popup_safe_rect>` **(** :ref:`int<class_int>` window, :ref:`Rect2i<class_Rect2i>` rect **)**                                                                                                                                                                                  |
++----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                           | :ref:`window_set_position<class_DisplayServer_method_window_set_position>` **(** :ref:`Vector2i<class_Vector2i>` position, :ref:`int<class_int>` window_id=0 **)**                                                                                                                                                                                   |
 +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                           | :ref:`window_set_rect_changed_callback<class_DisplayServer_method_window_set_rect_changed_callback>` **(** :ref:`Callable<class_Callable>` callback, :ref:`int<class_int>` window_id=0 **)**                                                                                                                                                         |
@@ -497,21 +503,25 @@ Regardless of the platform, enabling fullscreen will change the window size to m
 
 .. _class_DisplayServer_constant_WINDOW_FLAG_NO_FOCUS:
 
+.. _class_DisplayServer_constant_WINDOW_FLAG_POPUP:
+
 .. _class_DisplayServer_constant_WINDOW_FLAG_MAX:
 
 enum **WindowFlags**:
 
-- **WINDOW_FLAG_RESIZE_DISABLED** = **0**
+- **WINDOW_FLAG_RESIZE_DISABLED** = **0** --- Window can't be resizing by dragging its resize grip. It's still possible to resize the window using :ref:`window_set_size<class_DisplayServer_method_window_set_size>`. This flag is ignored for full screen windows.
+
+- **WINDOW_FLAG_BORDERLESS** = **1** --- Window do not have native title bar and other decorations. This flag is ignored for full-screen windows.
 
-- **WINDOW_FLAG_BORDERLESS** = **1**
+- **WINDOW_FLAG_ALWAYS_ON_TOP** = **2** --- Window is floating above other regular windows. This flag is ignored for full-screen windows.
 
-- **WINDOW_FLAG_ALWAYS_ON_TOP** = **2**
+- **WINDOW_FLAG_TRANSPARENT** = **3** --- Window is will be destroyed with its transient parent and displayed on top of non-exclusive full-screen parent window. Transient windows can't enter full-screen mode.
 
-- **WINDOW_FLAG_TRANSPARENT** = **3**
+- **WINDOW_FLAG_NO_FOCUS** = **4** --- Window can't be focused. No-focus window will ignore all input, except mouse clicks.
 
-- **WINDOW_FLAG_NO_FOCUS** = **4**
+- **WINDOW_FLAG_POPUP** = **5** --- Window is part of menu or :ref:`OptionButton<class_OptionButton>` dropdown. This flag can't be changed when window is visible. An active popup window will exclusivly receive all input, without stealing focus from its parent. Popup windows are automatically closed when uses click outside it, or when an application is switched. Popup window must have :ref:`WINDOW_FLAG_TRANSPARENT<class_DisplayServer_constant_WINDOW_FLAG_TRANSPARENT>` set.
 
-- **WINDOW_FLAG_MAX** = **5**
+- **WINDOW_FLAG_MAX** = **6**
 
 ----
 
@@ -1192,6 +1202,14 @@ Shows the virtual keyboard if the platform has one.
 
 ----
 
+.. _class_DisplayServer_method_window_get_active_popup:
+
+- :ref:`int<class_int>` **window_get_active_popup** **(** **)** |const|
+
+Returns ID of the active popup window, or :ref:`INVALID_WINDOW_ID<class_DisplayServer_constant_INVALID_WINDOW_ID>` if there is none.
+
+----
+
 .. _class_DisplayServer_method_window_get_attached_instance_id:
 
 - :ref:`int<class_int>` **window_get_attached_instance_id** **(** :ref:`int<class_int>` window_id=0 **)** |const|
@@ -1242,6 +1260,14 @@ Returns internal structure pointers for use in plugins.
 
 ----
 
+.. _class_DisplayServer_method_window_get_popup_safe_rect:
+
+- :ref:`Rect2i<class_Rect2i>` **window_get_popup_safe_rect** **(** :ref:`int<class_int>` window **)** |const|
+
+Returns the bounding box of control, or menu item that was used to open the popup window, in the screen coordinate system.
+
+----
+
 .. _class_DisplayServer_method_window_get_position:
 
 - :ref:`Vector2i<class_Vector2i>` **window_get_position** **(** :ref:`int<class_int>` window_id=0 **)** |const|
@@ -1405,6 +1431,14 @@ Passing an empty array will disable passthrough support (all mouse events will b
 
 ----
 
+.. _class_DisplayServer_method_window_set_popup_safe_rect:
+
+- void **window_set_popup_safe_rect** **(** :ref:`int<class_int>` window, :ref:`Rect2i<class_Rect2i>` rect **)**
+
+Sets the bounding box of control, or menu item that was used to open the popup window, in the screen coordinate system. Clicking this area will not auto-close this popup.
+
+----
+
 .. _class_DisplayServer_method_window_set_position:
 
 - void **window_set_position** **(** :ref:`Vector2i<class_Vector2i>` position, :ref:`int<class_int>` window_id=0 **)**

+ 30 - 0
classes/class_editorsettings.rst

@@ -53,8 +53,12 @@ Methods
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                              | :ref:`add_property_info<class_EditorSettings_method_add_property_info>` **(** :ref:`Dictionary<class_Dictionary>` info **)**                                                                                       |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`check_changed_settings_in_group<class_EditorSettings_method_check_changed_settings_in_group>` **(** :ref:`String<class_String>` setting_prefix **)** |const|                                                 |
++---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                              | :ref:`erase<class_EditorSettings_method_erase>` **(** :ref:`String<class_String>` property **)**                                                                                                                   |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                         | :ref:`get_changed_settings<class_EditorSettings_method_get_changed_settings>` **(** **)** |const|                                                                                                                  |
++---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_favorites<class_EditorSettings_method_get_favorites>` **(** **)** |const|                                                                                                                                |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_Variant>`                     | :ref:`get_project_metadata<class_EditorSettings_method_get_project_metadata>` **(** :ref:`String<class_String>` section, :ref:`String<class_String>` key, :ref:`Variant<class_Variant>` default=null **)** |const| |
@@ -67,6 +71,8 @@ Methods
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                           | :ref:`has_setting<class_EditorSettings_method_has_setting>` **(** :ref:`String<class_String>` name **)** |const|                                                                                                   |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                              | :ref:`mark_setting_changed<class_EditorSettings_method_mark_setting_changed>` **(** :ref:`String<class_String>` setting **)**                                                                                      |
++---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                           | :ref:`property_can_revert<class_EditorSettings_method_property_can_revert>` **(** :ref:`String<class_String>` name **)**                                                                                           |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_Variant>`                     | :ref:`property_get_revert<class_EditorSettings_method_property_get_revert>` **(** :ref:`String<class_String>` name **)**                                                                                           |
@@ -151,6 +157,14 @@ Adds a custom property info to a property. The dictionary must contain:
 
 
 
+----
+
+.. _class_EditorSettings_method_check_changed_settings_in_group:
+
+- :ref:`bool<class_bool>` **check_changed_settings_in_group** **(** :ref:`String<class_String>` setting_prefix **)** |const|
+
+Checks if any settings with the prefix ``setting_prefix`` exist in the set of changed settings. See also :ref:`get_changed_settings<class_EditorSettings_method_get_changed_settings>`.
+
 ----
 
 .. _class_EditorSettings_method_erase:
@@ -161,6 +175,14 @@ Erases the setting whose name is specified by ``property``.
 
 ----
 
+.. _class_EditorSettings_method_get_changed_settings:
+
+- :ref:`Array<class_Array>` **get_changed_settings** **(** **)** |const|
+
+Gets an array of the settings which have been changed since the last save. Note that internally ``changed_settings`` is cleared after a successful save, so generally the most appropriate place to use this method is when processing :ref:`NOTIFICATION_EDITOR_SETTINGS_CHANGED<class_EditorSettings_constant_NOTIFICATION_EDITOR_SETTINGS_CHANGED>`
+
+----
+
 .. _class_EditorSettings_method_get_favorites:
 
 - :ref:`PackedStringArray<class_PackedStringArray>` **get_favorites** **(** **)** |const|
@@ -209,6 +231,14 @@ Returns ``true`` if the setting specified by ``name`` exists, ``false`` otherwis
 
 ----
 
+.. _class_EditorSettings_method_mark_setting_changed:
+
+- void **mark_setting_changed** **(** :ref:`String<class_String>` setting **)**
+
+Marks the passed editor setting as being changed, see :ref:`get_changed_settings<class_EditorSettings_method_get_changed_settings>`. Only settings which exist (see :ref:`has_setting<class_EditorSettings_method_has_setting>`) will be accepted.
+
+----
+
 .. _class_EditorSettings_method_property_can_revert:
 
 - :ref:`bool<class_bool>` **property_can_revert** **(** :ref:`String<class_String>` name **)**

+ 1 - 1
classes/class_editorvcsinterface.rst

@@ -16,7 +16,7 @@ Version Control System (VCS) interface which reads and writes to the local VCS i
 Description
 -----------
 
-Used by the editor to display VCS extracted information in the editor. The implementation of this API is included in VCS addons, which are essentially GDNative plugins that need to be put into the project folder. These VCS addons are scripts which are attached (on demand) to the object instance of ``EditorVCSInterface``. All the functions listed below, instead of performing the task themselves, they call the internally defined functions in the VCS addons to provide a plug-n-play experience.
+Used by the editor to display VCS extracted information in the editor. The implementation of this API is included in VCS addons, which are essentially GDExtension plugins that need to be put into the project folder. These VCS addons are scripts which are attached (on demand) to the object instance of ``EditorVCSInterface``. All the functions listed below, instead of performing the task themselves, they call the internally defined functions in the VCS addons to provide a plug-n-play experience.
 
 Methods
 -------

+ 2 - 0
classes/class_fogvolume.rst

@@ -48,6 +48,8 @@ Property Descriptions
 
 Sets the size of the ``FogVolume`` when :ref:`shape<class_FogVolume_property_shape>` is :ref:`RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID<class_RenderingServer_constant_FOG_VOLUME_SHAPE_ELLIPSOID>` or :ref:`RenderingServer.FOG_VOLUME_SHAPE_BOX<class_RenderingServer_constant_FOG_VOLUME_SHAPE_BOX>`.
 
+\ **Note:** Thin fog volumes may appear to flicker when the camera moves or rotates. This can be alleviated by increasing :ref:`ProjectSettings.rendering/environment/volumetric_fog/volume_depth<class_ProjectSettings_property_rendering/environment/volumetric_fog/volume_depth>` (at a performance cost) or by decreasing :ref:`Environment.volumetric_fog_length<class_Environment_property_volumetric_fog_length>` (at no performance cost, but at the cost of lower fog range). Alternatively, the ``FogVolume`` can be made thicker and use a lower density in the :ref:`material<class_FogVolume_property_material>`.
+
 ----
 
 .. _class_FogVolume_property_material:

+ 67 - 29
classes/class_fontdata.rst

@@ -24,35 +24,39 @@ Supported font formats:
 Properties
 ----------
 
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`bool<class_bool>`                                         | :ref:`antialiased<class_FontData_property_antialiased>`                                               | ``true``              |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`PackedByteArray<class_PackedByteArray>`                   | :ref:`data<class_FontData_property_data>`                                                             | ``PackedByteArray()`` |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`int<class_int>`                                           | :ref:`fixed_size<class_FontData_property_fixed_size>`                                                 | ``0``                 |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`String<class_String>`                                     | :ref:`font_name<class_FontData_property_font_name>`                                                   | ``""``                |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`int<class_int>`                                           | :ref:`font_style<class_FontData_property_font_style>`                                                 | ``0``                 |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`bool<class_bool>`                                         | :ref:`force_autohinter<class_FontData_property_force_autohinter>`                                     | ``false``             |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`Hinting<enum_TextServer_Hinting>`                         | :ref:`hinting<class_FontData_property_hinting>`                                                       | ``1``                 |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`int<class_int>`                                           | :ref:`msdf_pixel_range<class_FontData_property_msdf_pixel_range>`                                     | ``16``                |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`int<class_int>`                                           | :ref:`msdf_size<class_FontData_property_msdf_size>`                                                   | ``48``                |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`bool<class_bool>`                                         | :ref:`multichannel_signed_distance_field<class_FontData_property_multichannel_signed_distance_field>` | ``false``             |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`Dictionary<class_Dictionary>`                             | :ref:`opentype_feature_overrides<class_FontData_property_opentype_feature_overrides>`                 | ``{}``                |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`float<class_float>`                                       | :ref:`oversampling<class_FontData_property_oversampling>`                                             | ``0.0``               |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`String<class_String>`                                     | :ref:`style_name<class_FontData_property_style_name>`                                                 | ``""``                |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
-| :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` | :ref:`subpixel_positioning<class_FontData_property_subpixel_positioning>`                             | ``1``                 |
-+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`bool<class_bool>`                                         | :ref:`antialiased<class_FontData_property_antialiased>`                                               | ``true``                          |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`PackedByteArray<class_PackedByteArray>`                   | :ref:`data<class_FontData_property_data>`                                                             | ``PackedByteArray()``             |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`float<class_float>`                                       | :ref:`embolden<class_FontData_property_embolden>`                                                     | ``0.0``                           |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`int<class_int>`                                           | :ref:`fixed_size<class_FontData_property_fixed_size>`                                                 | ``0``                             |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`String<class_String>`                                     | :ref:`font_name<class_FontData_property_font_name>`                                                   | ``""``                            |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`int<class_int>`                                           | :ref:`font_style<class_FontData_property_font_style>`                                                 | ``0``                             |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`bool<class_bool>`                                         | :ref:`force_autohinter<class_FontData_property_force_autohinter>`                                     | ``false``                         |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`Hinting<enum_TextServer_Hinting>`                         | :ref:`hinting<class_FontData_property_hinting>`                                                       | ``1``                             |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`int<class_int>`                                           | :ref:`msdf_pixel_range<class_FontData_property_msdf_pixel_range>`                                     | ``16``                            |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`int<class_int>`                                           | :ref:`msdf_size<class_FontData_property_msdf_size>`                                                   | ``48``                            |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`bool<class_bool>`                                         | :ref:`multichannel_signed_distance_field<class_FontData_property_multichannel_signed_distance_field>` | ``false``                         |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`Dictionary<class_Dictionary>`                             | :ref:`opentype_feature_overrides<class_FontData_property_opentype_feature_overrides>`                 | ``{}``                            |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`float<class_float>`                                       | :ref:`oversampling<class_FontData_property_oversampling>`                                             | ``0.0``                           |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`String<class_String>`                                     | :ref:`style_name<class_FontData_property_style_name>`                                                 | ``""``                            |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` | :ref:`subpixel_positioning<class_FontData_property_subpixel_positioning>`                             | ``1``                             |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
+| :ref:`Transform2D<class_Transform2D>`                           | :ref:`transform<class_FontData_property_transform>`                                                   | ``Transform2D(1, 0, 0, 1, 0, 0)`` |
++-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+
 
 Methods
 -------
@@ -226,6 +230,22 @@ Contents of the dynamic font source file.
 
 ----
 
+.. _class_FontData_property_embolden:
+
+- :ref:`float<class_float>` **embolden**
+
++-----------+---------------------+
+| *Default* | ``0.0``             |
++-----------+---------------------+
+| *Setter*  | set_embolden(value) |
++-----------+---------------------+
+| *Getter*  | get_embolden()      |
++-----------+---------------------+
+
+If is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
+
+----
+
 .. _class_FontData_property_fixed_size:
 
 - :ref:`int<class_int>` **fixed_size**
@@ -416,6 +436,24 @@ Font style name.
 
 Font glyph sub-pixel positioning mode. Subpixel positioning provides shaper text and better kerning for smaller font sizes, at the cost of memory usage and font rasterization speed. Use :ref:`TextServer.SUBPIXEL_POSITIONING_AUTO<class_TextServer_constant_SUBPIXEL_POSITIONING_AUTO>` to automatically enable it based on the font size.
 
+----
+
+.. _class_FontData_property_transform:
+
+- :ref:`Transform2D<class_Transform2D>` **transform**
+
++-----------+-----------------------------------+
+| *Default* | ``Transform2D(1, 0, 0, 1, 0, 0)`` |
++-----------+-----------------------------------+
+| *Setter*  | set_transform(value)              |
++-----------+-----------------------------------+
+| *Getter*  | get_transform()                   |
++-----------+-----------------------------------+
+
+2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
+
+For example, to simulate italic typeface by slanting, apply the following transform ``Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)``.
+
 Method Descriptions
 -------------------
 

+ 0 - 71
classes/class_gdnative.rst

@@ -1,71 +0,0 @@
-:github_url: hide
-
-.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the GDNative.xml source instead.
-.. The source is found in doc/classes or modules/<name>/doc_classes.
-
-.. _class_GDNative:
-
-GDNative
-========
-
-**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
-
-
-
-Properties
-----------
-
-+-----------------------------------------------+-------------------------------------------------+
-| :ref:`GDNativeLibrary<class_GDNativeLibrary>` | :ref:`library<class_GDNative_property_library>` |
-+-----------------------------------------------+-------------------------------------------------+
-
-Methods
--------
-
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`call_native<class_GDNative_method_call_native>` **(** :ref:`StringName<class_StringName>` calling_type, :ref:`StringName<class_StringName>` procedure_name, :ref:`Array<class_Array>` arguments **)** |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`initialize<class_GDNative_method_initialize>` **(** **)**                                                                                                                                             |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`terminate<class_GDNative_method_terminate>` **(** **)**                                                                                                                                               |
-+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Property Descriptions
----------------------
-
-.. _class_GDNative_property_library:
-
-- :ref:`GDNativeLibrary<class_GDNativeLibrary>` **library**
-
-+----------+--------------------+
-| *Setter* | set_library(value) |
-+----------+--------------------+
-| *Getter* | get_library()      |
-+----------+--------------------+
-
-Method Descriptions
--------------------
-
-.. _class_GDNative_method_call_native:
-
-- :ref:`Variant<class_Variant>` **call_native** **(** :ref:`StringName<class_StringName>` calling_type, :ref:`StringName<class_StringName>` procedure_name, :ref:`Array<class_Array>` arguments **)**
-
-----
-
-.. _class_GDNative_method_initialize:
-
-- :ref:`bool<class_bool>` **initialize** **(** **)**
-
-----
-
-.. _class_GDNative_method_terminate:
-
-- :ref:`bool<class_bool>` **terminate** **(** **)**
-
-.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
-.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
-.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
-.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
-.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
-.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 0 - 161
classes/class_gdnativelibrary.rst

@@ -1,161 +0,0 @@
-:github_url: hide
-
-.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the GDNativeLibrary.xml source instead.
-.. The source is found in doc/classes or modules/<name>/doc_classes.
-
-.. _class_GDNativeLibrary:
-
-GDNativeLibrary
-===============
-
-**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
-
-An external library containing functions or script classes to use in Godot.
-
-Description
------------
-
-A GDNative library can implement :ref:`NativeScript<class_NativeScript>`\ s, global functions to call with the :ref:`GDNative<class_GDNative>` class, or low-level engine extensions through interfaces such as XRInterfaceGDNative. The library must be compiled for each platform and architecture that the project will run on.
-
-Tutorials
----------
-
-- :doc:`GDNative C example <../tutorials/scripting/gdnative/gdnative_c_example>`
-
-- :doc:`GDNative C++ example <../tutorials/scripting/gdnative/gdnative_cpp_example>`
-
-Properties
-----------
-
-+-------------------------------------+--------------------------------------------------------------------+--------------+
-| :ref:`ConfigFile<class_ConfigFile>` | :ref:`config_file<class_GDNativeLibrary_property_config_file>`     |              |
-+-------------------------------------+--------------------------------------------------------------------+--------------+
-| :ref:`bool<class_bool>`             | :ref:`load_once<class_GDNativeLibrary_property_load_once>`         | ``true``     |
-+-------------------------------------+--------------------------------------------------------------------+--------------+
-| :ref:`bool<class_bool>`             | :ref:`reloadable<class_GDNativeLibrary_property_reloadable>`       | ``true``     |
-+-------------------------------------+--------------------------------------------------------------------+--------------+
-| :ref:`bool<class_bool>`             | :ref:`singleton<class_GDNativeLibrary_property_singleton>`         | ``false``    |
-+-------------------------------------+--------------------------------------------------------------------+--------------+
-| :ref:`String<class_String>`         | :ref:`symbol_prefix<class_GDNativeLibrary_property_symbol_prefix>` | ``"godot_"`` |
-+-------------------------------------+--------------------------------------------------------------------+--------------+
-
-Methods
--------
-
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_current_dependencies<class_GDNativeLibrary_method_get_current_dependencies>` **(** **)** |const| |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                       | :ref:`get_current_library_path<class_GDNativeLibrary_method_get_current_library_path>` **(** **)** |const| |
-+---------------------------------------------------+------------------------------------------------------------------------------------------------------------+
-
-Property Descriptions
----------------------
-
-.. _class_GDNativeLibrary_property_config_file:
-
-- :ref:`ConfigFile<class_ConfigFile>` **config_file**
-
-+----------+------------------------+
-| *Setter* | set_config_file(value) |
-+----------+------------------------+
-| *Getter* | get_config_file()      |
-+----------+------------------------+
-
-This resource in INI-style :ref:`ConfigFile<class_ConfigFile>` format, as in ``.gdnlib`` files.
-
-----
-
-.. _class_GDNativeLibrary_property_load_once:
-
-- :ref:`bool<class_bool>` **load_once**
-
-+-----------+----------------------+
-| *Default* | ``true``             |
-+-----------+----------------------+
-| *Setter*  | set_load_once(value) |
-+-----------+----------------------+
-| *Getter*  | should_load_once()   |
-+-----------+----------------------+
-
-If ``true``, Godot loads only one copy of the library and each script that references the library will share static data like static or global variables.
-
-If ``false``, Godot loads a separate copy of the library into memory for each script that references it.
-
-----
-
-.. _class_GDNativeLibrary_property_reloadable:
-
-- :ref:`bool<class_bool>` **reloadable**
-
-+-----------+-----------------------+
-| *Default* | ``true``              |
-+-----------+-----------------------+
-| *Setter*  | set_reloadable(value) |
-+-----------+-----------------------+
-| *Getter*  | is_reloadable()       |
-+-----------+-----------------------+
-
-If ``true``, the editor will temporarily unload the library whenever the user switches away from the editor window, allowing the user to recompile the library without restarting Godot.
-
-\ **Note:** If the library defines tool scripts that run inside the editor, ``reloadable`` must be ``false``. Otherwise, the editor will attempt to unload the tool scripts while they're in use and crash.
-
-----
-
-.. _class_GDNativeLibrary_property_singleton:
-
-- :ref:`bool<class_bool>` **singleton**
-
-+-----------+----------------------+
-| *Default* | ``false``            |
-+-----------+----------------------+
-| *Setter*  | set_singleton(value) |
-+-----------+----------------------+
-| *Getter*  | is_singleton()       |
-+-----------+----------------------+
-
-If ``true``, Godot loads the library at startup rather than the first time a script uses the library, calling ``{prefix}gdnative_singleton`` after initializing the library (where ``{prefix}`` is the value of :ref:`symbol_prefix<class_GDNativeLibrary_property_symbol_prefix>`). The library remains loaded as long as Godot is running.
-
-\ **Note:** A singleton library cannot be :ref:`reloadable<class_GDNativeLibrary_property_reloadable>`.
-
-----
-
-.. _class_GDNativeLibrary_property_symbol_prefix:
-
-- :ref:`String<class_String>` **symbol_prefix**
-
-+-----------+--------------------------+
-| *Default* | ``"godot_"``             |
-+-----------+--------------------------+
-| *Setter*  | set_symbol_prefix(value) |
-+-----------+--------------------------+
-| *Getter*  | get_symbol_prefix()      |
-+-----------+--------------------------+
-
-The prefix this library's entry point functions begin with. For example, a GDNativeLibrary would declare its ``gdnative_init`` function as ``godot_gdnative_init`` by default.
-
-On platforms that require statically linking libraries (currently only iOS), each library must have a different ``symbol_prefix``.
-
-Method Descriptions
--------------------
-
-.. _class_GDNativeLibrary_method_get_current_dependencies:
-
-- :ref:`PackedStringArray<class_PackedStringArray>` **get_current_dependencies** **(** **)** |const|
-
-Returns paths to all dependency libraries for the current platform and architecture.
-
-----
-
-.. _class_GDNativeLibrary_method_get_current_library_path:
-
-- :ref:`String<class_String>` **get_current_library_path** **(** **)** |const|
-
-Returns the path to the dynamic library file for the current platform and architecture.
-
-.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
-.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
-.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
-.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
-.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
-.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 1 - 1
classes/class_geometry2d.rst

@@ -341,7 +341,7 @@ Triangulates the area specified by discrete set of ``points`` such that no point
 
 - :ref:`PackedInt32Array<class_PackedInt32Array>` **triangulate_polygon** **(** :ref:`PackedVector2Array<class_PackedVector2Array>` polygon **)**
 
-Triangulates the polygon specified by the points in ``polygon``. Returns a :ref:`PackedInt32Array<class_PackedInt32Array>` where each triangle consists of three consecutive point indices into ``polygon`` (i.e. the returned array will have ``n * 3`` elements, with ``n`` being the number of found triangles). If the triangulation did not succeed, an empty :ref:`PackedInt32Array<class_PackedInt32Array>` is returned.
+Triangulates the polygon specified by the points in ``polygon``. Returns a :ref:`PackedInt32Array<class_PackedInt32Array>` where each triangle consists of three consecutive point indices into ``polygon`` (i.e. the returned array will have ``n * 3`` elements, with ``n`` being the number of found triangles). Output triangles will always be counter clockwise, and the contour will be flipped if it's clockwise. If the triangulation did not succeed, an empty :ref:`PackedInt32Array<class_PackedInt32Array>` is returned.
 
 .. |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.)`

+ 35 - 35
classes/class_graphedit.rst

@@ -23,41 +23,41 @@ It is greatly advised to enable low-processor usage mode (see :ref:`OS.low_proce
 Properties
 ----------
 
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                            | :ref:`connection_lines_antialiased<class_GraphEdit_property_connection_lines_antialiased>` | ``true``                                                                      |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                          | :ref:`connection_lines_thickness<class_GraphEdit_property_connection_lines_thickness>`     | ``2.0``                                                                       |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`FocusMode<enum_Control_FocusMode>`           | focus_mode                                                                                 | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`)           |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                            | :ref:`minimap_enabled<class_GraphEdit_property_minimap_enabled>`                           | ``true``                                                                      |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                          | :ref:`minimap_opacity<class_GraphEdit_property_minimap_opacity>`                           | ``0.65``                                                                      |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                      | :ref:`minimap_size<class_GraphEdit_property_minimap_size>`                                 | ``Vector2(240, 160)``                                                         |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`PanningScheme<enum_GraphEdit_PanningScheme>` | :ref:`panning_scheme<class_GraphEdit_property_panning_scheme>`                             | ``0``                                                                         |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                            | rect_clip_content                                                                          | ``true`` (overrides :ref:`Control<class_Control_property_rect_clip_content>`) |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                            | :ref:`right_disconnects<class_GraphEdit_property_right_disconnects>`                       | ``false``                                                                     |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                      | :ref:`scroll_offset<class_GraphEdit_property_scroll_offset>`                               | ``Vector2(0, 0)``                                                             |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                            | :ref:`show_zoom_label<class_GraphEdit_property_show_zoom_label>`                           | ``false``                                                                     |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                              | :ref:`snap_distance<class_GraphEdit_property_snap_distance>`                               | ``20``                                                                        |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                            | :ref:`use_snap<class_GraphEdit_property_use_snap>`                                         | ``true``                                                                      |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                          | :ref:`zoom<class_GraphEdit_property_zoom>`                                                 | ``1.0``                                                                       |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                          | :ref:`zoom_max<class_GraphEdit_property_zoom_max>`                                         | ``2.0736``                                                                    |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                          | :ref:`zoom_min<class_GraphEdit_property_zoom_min>`                                         | ``0.232568``                                                                  |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                          | :ref:`zoom_step<class_GraphEdit_property_zoom_step>`                                       | ``1.2``                                                                       |
-+----------------------------------------------------+--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                            | clip_contents                                                                              | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                            | :ref:`connection_lines_antialiased<class_GraphEdit_property_connection_lines_antialiased>` | ``true``                                                                  |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`float<class_float>`                          | :ref:`connection_lines_thickness<class_GraphEdit_property_connection_lines_thickness>`     | ``2.0``                                                                   |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`FocusMode<enum_Control_FocusMode>`           | focus_mode                                                                                 | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`)       |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                            | :ref:`minimap_enabled<class_GraphEdit_property_minimap_enabled>`                           | ``true``                                                                  |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`float<class_float>`                          | :ref:`minimap_opacity<class_GraphEdit_property_minimap_opacity>`                           | ``0.65``                                                                  |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                      | :ref:`minimap_size<class_GraphEdit_property_minimap_size>`                                 | ``Vector2(240, 160)``                                                     |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`PanningScheme<enum_GraphEdit_PanningScheme>` | :ref:`panning_scheme<class_GraphEdit_property_panning_scheme>`                             | ``0``                                                                     |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                            | :ref:`right_disconnects<class_GraphEdit_property_right_disconnects>`                       | ``false``                                                                 |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                      | :ref:`scroll_offset<class_GraphEdit_property_scroll_offset>`                               | ``Vector2(0, 0)``                                                         |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                            | :ref:`show_zoom_label<class_GraphEdit_property_show_zoom_label>`                           | ``false``                                                                 |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                              | :ref:`snap_distance<class_GraphEdit_property_snap_distance>`                               | ``20``                                                                    |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                            | :ref:`use_snap<class_GraphEdit_property_use_snap>`                                         | ``true``                                                                  |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`float<class_float>`                          | :ref:`zoom<class_GraphEdit_property_zoom>`                                                 | ``1.0``                                                                   |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`float<class_float>`                          | :ref:`zoom_max<class_GraphEdit_property_zoom_max>`                                         | ``2.0736``                                                                |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`float<class_float>`                          | :ref:`zoom_min<class_GraphEdit_property_zoom_min>`                                         | ``0.232568``                                                              |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`float<class_float>`                          | :ref:`zoom_step<class_GraphEdit_property_zoom_step>`                                       | ``1.2``                                                                   |
++----------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
 
 Methods
 -------

+ 37 - 45
classes/class_gridmap.rst

@@ -67,45 +67,43 @@ Properties
 Methods
 -------
 
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                            | :ref:`clear<class_GridMap_method_clear>` **(** **)**                                                                                                                                   |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                            | :ref:`clear_baked_meshes<class_GridMap_method_clear_baked_meshes>` **(** **)**                                                                                                         |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_RID>`           | :ref:`get_bake_mesh_instance<class_GridMap_method_get_bake_mesh_instance>` **(** :ref:`int<class_int>` idx **)**                                                                       |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`       | :ref:`get_bake_meshes<class_GridMap_method_get_bake_meshes>` **(** **)**                                                                                                               |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`           | :ref:`get_cell_item<class_GridMap_method_get_cell_item>` **(** :ref:`Vector3i<class_Vector3i>` position **)** |const|                                                                  |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`           | :ref:`get_cell_item_orientation<class_GridMap_method_get_cell_item_orientation>` **(** :ref:`Vector3i<class_Vector3i>` position **)** |const|                                          |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`         | :ref:`get_collision_layer_value<class_GridMap_method_get_collision_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                                                |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`         | :ref:`get_collision_mask_value<class_GridMap_method_get_collision_mask_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                                                  |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`       | :ref:`get_meshes<class_GridMap_method_get_meshes>` **(** **)** |const|                                                                                                                 |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`       | :ref:`get_used_cells<class_GridMap_method_get_used_cells>` **(** **)** |const|                                                                                                         |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`       | :ref:`get_used_cells_by_item<class_GridMap_method_get_used_cells_by_item>` **(** :ref:`int<class_int>` item **)** |const|                                                              |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                            | :ref:`make_baked_meshes<class_GridMap_method_make_baked_meshes>` **(** :ref:`bool<class_bool>` gen_lightmap_uv=false, :ref:`float<class_float>` lightmap_uv_texel_size=0.1 **)**       |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`   | :ref:`map_to_world<class_GridMap_method_map_to_world>` **(** :ref:`Vector3i<class_Vector3i>` map_position **)** |const|                                                                |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                            | :ref:`resource_changed<class_GridMap_method_resource_changed>` **(** :ref:`Resource<class_Resource>` resource **)**                                                                    |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                            | :ref:`set_cell_item<class_GridMap_method_set_cell_item>` **(** :ref:`Vector3i<class_Vector3i>` position, :ref:`int<class_int>` item, :ref:`int<class_int>` orientation=0 **)**         |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                            | :ref:`set_clip<class_GridMap_method_set_clip>` **(** :ref:`bool<class_bool>` enabled, :ref:`bool<class_bool>` clipabove=true, :ref:`int<class_int>` floor=0, Vector3.Axis axis=0 **)** |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                            | :ref:`set_collision_layer_value<class_GridMap_method_set_collision_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)**                         |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                            | :ref:`set_collision_mask_value<class_GridMap_method_set_collision_mask_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)**                           |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3i<class_Vector3i>` | :ref:`world_to_map<class_GridMap_method_world_to_map>` **(** :ref:`Vector3<class_Vector3>` world_position **)** |const|                                                                |
-+---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                            | :ref:`clear<class_GridMap_method_clear>` **(** **)**                                                                                                                             |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                            | :ref:`clear_baked_meshes<class_GridMap_method_clear_baked_meshes>` **(** **)**                                                                                                   |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_RID>`           | :ref:`get_bake_mesh_instance<class_GridMap_method_get_bake_mesh_instance>` **(** :ref:`int<class_int>` idx **)**                                                                 |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`       | :ref:`get_bake_meshes<class_GridMap_method_get_bake_meshes>` **(** **)**                                                                                                         |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`           | :ref:`get_cell_item<class_GridMap_method_get_cell_item>` **(** :ref:`Vector3i<class_Vector3i>` position **)** |const|                                                            |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`           | :ref:`get_cell_item_orientation<class_GridMap_method_get_cell_item_orientation>` **(** :ref:`Vector3i<class_Vector3i>` position **)** |const|                                    |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`         | :ref:`get_collision_layer_value<class_GridMap_method_get_collision_layer_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                                          |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`         | :ref:`get_collision_mask_value<class_GridMap_method_get_collision_mask_value>` **(** :ref:`int<class_int>` layer_number **)** |const|                                            |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`       | :ref:`get_meshes<class_GridMap_method_get_meshes>` **(** **)** |const|                                                                                                           |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`       | :ref:`get_used_cells<class_GridMap_method_get_used_cells>` **(** **)** |const|                                                                                                   |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`       | :ref:`get_used_cells_by_item<class_GridMap_method_get_used_cells_by_item>` **(** :ref:`int<class_int>` item **)** |const|                                                        |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                            | :ref:`make_baked_meshes<class_GridMap_method_make_baked_meshes>` **(** :ref:`bool<class_bool>` gen_lightmap_uv=false, :ref:`float<class_float>` lightmap_uv_texel_size=0.1 **)** |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`   | :ref:`map_to_world<class_GridMap_method_map_to_world>` **(** :ref:`Vector3i<class_Vector3i>` map_position **)** |const|                                                          |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                            | :ref:`resource_changed<class_GridMap_method_resource_changed>` **(** :ref:`Resource<class_Resource>` resource **)**                                                              |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                            | :ref:`set_cell_item<class_GridMap_method_set_cell_item>` **(** :ref:`Vector3i<class_Vector3i>` position, :ref:`int<class_int>` item, :ref:`int<class_int>` orientation=0 **)**   |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                            | :ref:`set_collision_layer_value<class_GridMap_method_set_collision_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)**                   |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                            | :ref:`set_collision_mask_value<class_GridMap_method_set_collision_mask_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)**                     |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3i<class_Vector3i>` | :ref:`world_to_map<class_GridMap_method_world_to_map>` **(** :ref:`Vector3<class_Vector3>` world_position **)** |const|                                                          |
++---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -437,12 +435,6 @@ Optionally, the item's orientation can be passed. For valid orientation values,
 
 ----
 
-.. _class_GridMap_method_set_clip:
-
-- void **set_clip** **(** :ref:`bool<class_bool>` enabled, :ref:`bool<class_bool>` clipabove=true, :ref:`int<class_int>` floor=0, Vector3.Axis axis=0 **)**
-
-----
-
 .. _class_GridMap_method_set_collision_layer_value:
 
 - void **set_collision_layer_value** **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)**

+ 1 - 1
classes/class_imagetexture.rst

@@ -35,7 +35,7 @@ This way, textures can be created at run-time by loading images both from within
     var texture = load("res://icon.png")
     $Sprite2D.texture = texture
 
-This is because images have to be imported as a :ref:`StreamTexture2D<class_StreamTexture2D>` first to be loaded with :ref:`@GDScript.load<class_@GDScript_method_load>`. If you'd still like to load an image file just like any other :ref:`Resource<class_Resource>`, import it as an :ref:`Image<class_Image>` resource instead, and then load it normally using the :ref:`@GDScript.load<class_@GDScript_method_load>` method.
+This is because images have to be imported as a :ref:`CompressedTexture2D<class_CompressedTexture2D>` first to be loaded with :ref:`@GDScript.load<class_@GDScript_method_load>`. If you'd still like to load an image file just like any other :ref:`Resource<class_Resource>`, import it as an :ref:`Image<class_Image>` resource instead, and then load it normally using the :ref:`@GDScript.load<class_@GDScript_method_load>` method.
 
 \ **Note:** The image can be retrieved from an imported texture using the :ref:`Texture2D.get_image<class_Texture2D_method_get_image>` method, which returns a copy of the image:
 

+ 32 - 32
classes/class_itemlist.rst

@@ -25,37 +25,37 @@ Item text only supports single-line strings, newline characters (e.g. ``\n``) in
 Properties
 ----------
 
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                    | :ref:`allow_reselect<class_ItemList_property_allow_reselect>`               | ``false``                                                                     |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                    | :ref:`allow_rmb_select<class_ItemList_property_allow_rmb_select>`           | ``false``                                                                     |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                    | :ref:`auto_height<class_ItemList_property_auto_height>`                     | ``false``                                                                     |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                      | :ref:`fixed_column_width<class_ItemList_property_fixed_column_width>`       | ``0``                                                                         |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                              | :ref:`fixed_icon_size<class_ItemList_property_fixed_icon_size>`             | ``Vector2(0, 0)``                                                             |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`FocusMode<enum_Control_FocusMode>`                   | focus_mode                                                                  | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`)           |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`IconMode<enum_ItemList_IconMode>`                    | :ref:`icon_mode<class_ItemList_property_icon_mode>`                         | ``1``                                                                         |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                  | :ref:`icon_scale<class_ItemList_property_icon_scale>`                       | ``1.0``                                                                       |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                      | :ref:`item_count<class_ItemList_property_item_count>`                       | ``0``                                                                         |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                      | :ref:`max_columns<class_ItemList_property_max_columns>`                     | ``1``                                                                         |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                      | :ref:`max_text_lines<class_ItemList_property_max_text_lines>`               | ``1``                                                                         |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                    | rect_clip_content                                                           | ``true`` (overrides :ref:`Control<class_Control_property_rect_clip_content>`) |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                    | :ref:`same_column_width<class_ItemList_property_same_column_width>`         | ``false``                                                                     |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`SelectMode<enum_ItemList_SelectMode>`                | :ref:`select_mode<class_ItemList_property_select_mode>`                     | ``0``                                                                         |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`OverrunBehavior<enum_TextParagraph_OverrunBehavior>` | :ref:`text_overrun_behavior<class_ItemList_property_text_overrun_behavior>` | ``0``                                                                         |
-+------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------+
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                    | :ref:`allow_reselect<class_ItemList_property_allow_reselect>`               | ``false``                                                                 |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                    | :ref:`allow_rmb_select<class_ItemList_property_allow_rmb_select>`           | ``false``                                                                 |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                    | :ref:`auto_height<class_ItemList_property_auto_height>`                     | ``false``                                                                 |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                    | clip_contents                                                               | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                      | :ref:`fixed_column_width<class_ItemList_property_fixed_column_width>`       | ``0``                                                                     |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                              | :ref:`fixed_icon_size<class_ItemList_property_fixed_icon_size>`             | ``Vector2(0, 0)``                                                         |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`FocusMode<enum_Control_FocusMode>`                   | focus_mode                                                                  | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`)       |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`IconMode<enum_ItemList_IconMode>`                    | :ref:`icon_mode<class_ItemList_property_icon_mode>`                         | ``1``                                                                     |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                  | :ref:`icon_scale<class_ItemList_property_icon_scale>`                       | ``1.0``                                                                   |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                      | :ref:`item_count<class_ItemList_property_item_count>`                       | ``0``                                                                     |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                      | :ref:`max_columns<class_ItemList_property_max_columns>`                     | ``1``                                                                     |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                      | :ref:`max_text_lines<class_ItemList_property_max_text_lines>`               | ``1``                                                                     |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                    | :ref:`same_column_width<class_ItemList_property_same_column_width>`         | ``false``                                                                 |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`SelectMode<enum_ItemList_SelectMode>`                | :ref:`select_mode<class_ItemList_property_select_mode>`                     | ``0``                                                                     |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`OverrunBehavior<enum_TextParagraph_OverrunBehavior>` | :ref:`text_overrun_behavior<class_ItemList_property_text_overrun_behavior>` | ``3``                                                                     |
++------------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+
 
 Methods
 -------
@@ -491,7 +491,7 @@ Allows single or multiple item selection. See the :ref:`SelectMode<enum_ItemList
 - :ref:`OverrunBehavior<enum_TextParagraph_OverrunBehavior>` **text_overrun_behavior**
 
 +-----------+----------------------------------+
-| *Default* | ``0``                            |
+| *Default* | ``3``                            |
 +-----------+----------------------------------+
 | *Setter*  | set_text_overrun_behavior(value) |
 +-----------+----------------------------------+

+ 83 - 19
classes/class_light3d.rst

@@ -30,6 +30,14 @@ Tutorials
 Properties
 ----------
 
++----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`              | :ref:`distance_fade_begin<class_Light3D_property_distance_fade_begin>`             | ``40.0``              |
++----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
+| :ref:`bool<class_bool>`                | :ref:`distance_fade_enabled<class_Light3D_property_distance_fade_enabled>`         | ``false``             |
++----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`              | :ref:`distance_fade_length<class_Light3D_property_distance_fade_length>`           | ``10.0``              |
++----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
+| :ref:`float<class_float>`              | :ref:`distance_fade_shadow<class_Light3D_property_distance_fade_shadow>`           | ``50.0``              |
 +----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
 | :ref:`bool<class_bool>`                | :ref:`editor_only<class_Light3D_property_editor_only>`                             | ``false``             |
 +----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
@@ -57,8 +65,6 @@ Properties
 +----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
 | :ref:`float<class_float>`              | :ref:`shadow_blur<class_Light3D_property_shadow_blur>`                             | ``1.0``               |
 +----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
-| :ref:`Color<class_Color>`              | :ref:`shadow_color<class_Light3D_property_shadow_color>`                           | ``Color(0, 0, 0, 1)`` |
-+----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
 | :ref:`bool<class_bool>`                | :ref:`shadow_enabled<class_Light3D_property_shadow_enabled>`                       | ``false``             |
 +----------------------------------------+------------------------------------------------------------------------------------+-----------------------+
 | :ref:`float<class_float>`              | :ref:`shadow_fog_fade<class_Light3D_property_shadow_fog_fade>`                     | ``0.1``               |
@@ -189,6 +195,80 @@ enum **BakeMode**:
 Property Descriptions
 ---------------------
 
+.. _class_Light3D_property_distance_fade_begin:
+
+- :ref:`float<class_float>` **distance_fade_begin**
+
++-----------+--------------------------------+
+| *Default* | ``40.0``                       |
++-----------+--------------------------------+
+| *Setter*  | set_distance_fade_begin(value) |
++-----------+--------------------------------+
+| *Getter*  | get_distance_fade_begin()      |
++-----------+--------------------------------+
+
+The distance from the camera at which the light begins to fade away (in 3D units).
+
+\ **Note:** Only effective for :ref:`OmniLight3D<class_OmniLight3D>` and :ref:`SpotLight3D<class_SpotLight3D>`.
+
+----
+
+.. _class_Light3D_property_distance_fade_enabled:
+
+- :ref:`bool<class_bool>` **distance_fade_enabled**
+
++-----------+---------------------------------+
+| *Default* | ``false``                       |
++-----------+---------------------------------+
+| *Setter*  | set_enable_distance_fade(value) |
++-----------+---------------------------------+
+| *Getter*  | is_distance_fade_enabled()      |
++-----------+---------------------------------+
+
+If ``true``, the light will smoothly fade away when far from the active :ref:`Camera3D<class_Camera3D>` starting at :ref:`distance_fade_begin<class_Light3D_property_distance_fade_begin>`. This acts as a form of level of detail (LOD). The light will fade out over :ref:`distance_fade_begin<class_Light3D_property_distance_fade_begin>` + :ref:`distance_fade_length<class_Light3D_property_distance_fade_length>`, after which it will be culled and not sent to the shader at all. Use this to reduce the number of active lights in a scene and thus improve performance.
+
+\ **Note:** Only effective for :ref:`OmniLight3D<class_OmniLight3D>` and :ref:`SpotLight3D<class_SpotLight3D>`.
+
+----
+
+.. _class_Light3D_property_distance_fade_length:
+
+- :ref:`float<class_float>` **distance_fade_length**
+
++-----------+---------------------------------+
+| *Default* | ``10.0``                        |
++-----------+---------------------------------+
+| *Setter*  | set_distance_fade_length(value) |
++-----------+---------------------------------+
+| *Getter*  | get_distance_fade_length()      |
++-----------+---------------------------------+
+
+Distance over which the light fades. The light's energy is progressively reduced over this distance and is completely invisible at the end.
+
+\ **Note:** Only effective for :ref:`OmniLight3D<class_OmniLight3D>` and :ref:`SpotLight3D<class_SpotLight3D>`.
+
+----
+
+.. _class_Light3D_property_distance_fade_shadow:
+
+- :ref:`float<class_float>` **distance_fade_shadow**
+
++-----------+---------------------------------+
+| *Default* | ``50.0``                        |
++-----------+---------------------------------+
+| *Setter*  | set_distance_fade_shadow(value) |
++-----------+---------------------------------+
+| *Getter*  | get_distance_fade_shadow()      |
++-----------+---------------------------------+
+
+The distance from the camera at which the light's shadow cuts off (in 3D units). Set this to a value lower than :ref:`distance_fade_begin<class_Light3D_property_distance_fade_begin>` + :ref:`distance_fade_length<class_Light3D_property_distance_fade_length>` to further improve performance, as shadow rendering is often more expensive than light rendering itself.
+
+\ **Note:** Only effective for :ref:`OmniLight3D<class_OmniLight3D>` and :ref:`SpotLight3D<class_SpotLight3D>`, and only when :ref:`shadow_enabled<class_Light3D_property_shadow_enabled>` is ``true``.
+
+\ **Note:** Due to a rendering engine limitation, shadows will be disabled instantly instead of fading smoothly according to :ref:`distance_fade_length<class_Light3D_property_distance_fade_length>`. This may result in visible pop-in depending on the scene topography.
+
+----
+
 .. _class_Light3D_property_editor_only:
 
 - :ref:`bool<class_bool>` **editor_only**
@@ -399,22 +479,6 @@ Blurs the edges of the shadow. Can be used to hide pixel artifacts in low-resolu
 
 ----
 
-.. _class_Light3D_property_shadow_color:
-
-- :ref:`Color<class_Color>` **shadow_color**
-
-+-----------+-------------------------+
-| *Default* | ``Color(0, 0, 0, 1)``   |
-+-----------+-------------------------+
-| *Setter*  | set_shadow_color(value) |
-+-----------+-------------------------+
-| *Getter*  | get_shadow_color()      |
-+-----------+-------------------------+
-
-The color of shadows cast by this light.
-
-----
-
 .. _class_Light3D_property_shadow_enabled:
 
 - :ref:`bool<class_bool>` **shadow_enabled**
@@ -427,7 +491,7 @@ The color of shadows cast by this light.
 | *Getter*  | has_shadow()      |
 +-----------+-------------------+
 
-If ``true``, the light will cast shadows.
+If ``true``, the light will cast real-time shadows. This has a significant performance cost. Only enable shadow rendering when it makes a noticeable difference in the scene's appearance, and consider using :ref:`distance_fade_enabled<class_Light3D_property_distance_fade_enabled>` to hide the light when far away from the :ref:`Camera3D<class_Camera3D>`.
 
 ----
 

+ 2 - 2
classes/class_line2d.rst

@@ -124,9 +124,9 @@ enum **LineTextureMode**:
 
 - **LINE_TEXTURE_NONE** = **0** --- Takes the left pixels of the texture and renders it over the whole line.
 
-- **LINE_TEXTURE_TILE** = **1** --- Tiles the texture over the line. The texture must be imported with **Repeat** enabled for it to work properly.
+- **LINE_TEXTURE_TILE** = **1** --- Tiles the texture over the line. :ref:`CanvasItem.texture_repeat<class_CanvasItem_property_texture_repeat>` of the ``Line2D`` node must be :ref:`CanvasItem.TEXTURE_REPEAT_ENABLED<class_CanvasItem_constant_TEXTURE_REPEAT_ENABLED>` or :ref:`CanvasItem.TEXTURE_REPEAT_MIRROR<class_CanvasItem_constant_TEXTURE_REPEAT_MIRROR>` for it to work properly.
 
-- **LINE_TEXTURE_STRETCH** = **2** --- Stretches the texture across the line. Import the texture with **Repeat** disabled for best results.
+- **LINE_TEXTURE_STRETCH** = **2** --- Stretches the texture across the line. :ref:`CanvasItem.texture_repeat<class_CanvasItem_property_texture_repeat>` of the ``Line2D`` node must be :ref:`CanvasItem.TEXTURE_REPEAT_DISABLED<class_CanvasItem_constant_TEXTURE_REPEAT_DISABLED>` for best results.
 
 Property Descriptions
 ---------------------

+ 45 - 15
classes/class_material.rst

@@ -30,18 +30,26 @@ Tutorials
 Properties
 ----------
 
-+---------------------------------+-----------------------------------------------------------------+-------+
-| :ref:`Material<class_Material>` | :ref:`next_pass<class_Material_property_next_pass>`             |       |
-+---------------------------------+-----------------------------------------------------------------+-------+
-| :ref:`int<class_int>`           | :ref:`render_priority<class_Material_property_render_priority>` | ``0`` |
-+---------------------------------+-----------------------------------------------------------------+-------+
++---------------------------------+-----------------------------------------------------------------+
+| :ref:`Material<class_Material>` | :ref:`next_pass<class_Material_property_next_pass>`             |
++---------------------------------+-----------------------------------------------------------------+
+| :ref:`int<class_int>`           | :ref:`render_priority<class_Material_property_render_priority>` |
++---------------------------------+-----------------------------------------------------------------+
 
 Methods
 -------
 
-+------+-------------------------------------------------------------------------------------------------+
-| void | :ref:`inspect_native_shader_code<class_Material_method_inspect_native_shader_code>` **(** **)** |
-+------+-------------------------------------------------------------------------------------------------+
++-------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`_can_do_next_pass<class_Material_method__can_do_next_pass>` **(** **)** |virtual| |const|               |
++-------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`_can_use_render_priority<class_Material_method__can_use_render_priority>` **(** **)** |virtual| |const| |
++-------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`Mode<enum_Shader_Mode>` | :ref:`_get_shader_mode<class_Material_method__get_shader_mode>` **(** **)** |virtual| |const|                 |
++-------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_RID>`         | :ref:`_get_shader_rid<class_Material_method__get_shader_rid>` **(** **)** |virtual| |const|                   |
++-------------------------------+---------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`inspect_native_shader_code<class_Material_method_inspect_native_shader_code>` **(** **)**               |
++-------------------------------+---------------------------------------------------------------------------------------------------------------+
 
 Constants
 ---------
@@ -77,13 +85,11 @@ Sets the ``Material`` to be used for the next pass. This renders the object agai
 
 - :ref:`int<class_int>` **render_priority**
 
-+-----------+----------------------------+
-| *Default* | ``0``                      |
-+-----------+----------------------------+
-| *Setter*  | set_render_priority(value) |
-+-----------+----------------------------+
-| *Getter*  | get_render_priority()      |
-+-----------+----------------------------+
++----------+----------------------------+
+| *Setter* | set_render_priority(value) |
++----------+----------------------------+
+| *Getter* | get_render_priority()      |
++----------+----------------------------+
 
 Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects.
 
@@ -94,6 +100,30 @@ Sets the render priority for transparent objects in 3D scenes. Higher priority o
 Method Descriptions
 -------------------
 
+.. _class_Material_method__can_do_next_pass:
+
+- :ref:`bool<class_bool>` **_can_do_next_pass** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Material_method__can_use_render_priority:
+
+- :ref:`bool<class_bool>` **_can_use_render_priority** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Material_method__get_shader_mode:
+
+- :ref:`Mode<enum_Shader_Mode>` **_get_shader_mode** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Material_method__get_shader_rid:
+
+- :ref:`RID<class_RID>` **_get_shader_rid** **(** **)** |virtual| |const|
+
+----
+
 .. _class_Material_method_inspect_native_shader_code:
 
 - void **inspect_native_shader_code** **(** **)**

+ 135 - 23
classes/class_mesh.rst

@@ -41,29 +41,57 @@ Properties
 Methods
 -------
 
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Shape3D<class_Shape3D>`                       | :ref:`create_convex_shape<class_Mesh_method_create_convex_shape>` **(** :ref:`bool<class_bool>` clean=true, :ref:`bool<class_bool>` simplify=false **)** |const| |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Mesh<class_Mesh>`                             | :ref:`create_outline<class_Mesh_method_create_outline>` **(** :ref:`float<class_float>` margin **)** |const|                                                     |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Shape3D<class_Shape3D>`                       | :ref:`create_trimesh_shape<class_Mesh_method_create_trimesh_shape>` **(** **)** |const|                                                                          |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`TriangleMesh<class_TriangleMesh>`             | :ref:`generate_triangle_mesh<class_Mesh_method_generate_triangle_mesh>` **(** **)** |const|                                                                      |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`AABB<class_AABB>`                             | :ref:`get_aabb<class_Mesh_method_get_aabb>` **(** **)** |const|                                                                                                  |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`get_faces<class_Mesh_method_get_faces>` **(** **)** |const|                                                                                                |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                               | :ref:`get_surface_count<class_Mesh_method_get_surface_count>` **(** **)** |const|                                                                                |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                           | :ref:`surface_get_arrays<class_Mesh_method_surface_get_arrays>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                               |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                           | :ref:`surface_get_blend_shape_arrays<class_Mesh_method_surface_get_blend_shape_arrays>` **(** :ref:`int<class_int>` surf_idx **)** |const|                       |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Material<class_Material>`                     | :ref:`surface_get_material<class_Mesh_method_surface_get_material>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                           |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                | :ref:`surface_set_material<class_Mesh_method_surface_set_material>` **(** :ref:`int<class_int>` surf_idx, :ref:`Material<class_Material>` material **)**         |
-+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AABB<class_AABB>`                             | :ref:`_get_aabb<class_Mesh_method__get_aabb>` **(** **)** |virtual| |const|                                                                                       |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_get_blend_shape_count<class_Mesh_method__get_blend_shape_count>` **(** **)** |virtual| |const|                                                             |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringName<class_StringName>`                 | :ref:`_get_blend_shape_name<class_Mesh_method__get_blend_shape_name>` **(** :ref:`int<class_int>` index **)** |virtual| |const|                                   |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_get_surface_count<class_Mesh_method__get_surface_count>` **(** **)** |virtual| |const|                                                                     |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`_set_blend_shape_name<class_Mesh_method__set_blend_shape_name>` **(** :ref:`int<class_int>` index, :ref:`StringName<class_StringName>` name **)** |virtual| |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_surface_get_array_index_len<class_Mesh_method__surface_get_array_index_len>` **(** :ref:`int<class_int>` index **)** |virtual| |const|                     |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_surface_get_array_len<class_Mesh_method__surface_get_array_len>` **(** :ref:`int<class_int>` index **)** |virtual| |const|                                 |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                           | :ref:`_surface_get_arrays<class_Mesh_method__surface_get_arrays>` **(** :ref:`int<class_int>` index **)** |virtual| |const|                                       |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                           | :ref:`_surface_get_blend_shape_arrays<class_Mesh_method__surface_get_blend_shape_arrays>` **(** :ref:`int<class_int>` index **)** |virtual| |const|               |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_surface_get_format<class_Mesh_method__surface_get_format>` **(** :ref:`int<class_int>` index **)** |virtual| |const|                                       |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`                 | :ref:`_surface_get_lods<class_Mesh_method__surface_get_lods>` **(** :ref:`int<class_int>` index **)** |virtual| |const|                                           |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Material<class_Material>`                     | :ref:`_surface_get_material<class_Mesh_method__surface_get_material>` **(** :ref:`int<class_int>` index **)** |virtual| |const|                                   |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_surface_get_primitive_type<class_Mesh_method__surface_get_primitive_type>` **(** :ref:`int<class_int>` index **)** |virtual| |const|                       |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`_surface_set_material<class_Mesh_method__surface_set_material>` **(** :ref:`int<class_int>` index, :ref:`Material<class_Material>` material **)** |virtual| |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Shape3D<class_Shape3D>`                       | :ref:`create_convex_shape<class_Mesh_method_create_convex_shape>` **(** :ref:`bool<class_bool>` clean=true, :ref:`bool<class_bool>` simplify=false **)** |const|  |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Mesh<class_Mesh>`                             | :ref:`create_outline<class_Mesh_method_create_outline>` **(** :ref:`float<class_float>` margin **)** |const|                                                      |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Shape3D<class_Shape3D>`                       | :ref:`create_trimesh_shape<class_Mesh_method_create_trimesh_shape>` **(** **)** |const|                                                                           |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`TriangleMesh<class_TriangleMesh>`             | :ref:`generate_triangle_mesh<class_Mesh_method_generate_triangle_mesh>` **(** **)** |const|                                                                       |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AABB<class_AABB>`                             | :ref:`get_aabb<class_Mesh_method_get_aabb>` **(** **)** |const|                                                                                                   |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`get_faces<class_Mesh_method_get_faces>` **(** **)** |const|                                                                                                 |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`get_surface_count<class_Mesh_method_get_surface_count>` **(** **)** |const|                                                                                 |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                           | :ref:`surface_get_arrays<class_Mesh_method_surface_get_arrays>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                                |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                           | :ref:`surface_get_blend_shape_arrays<class_Mesh_method_surface_get_blend_shape_arrays>` **(** :ref:`int<class_int>` surf_idx **)** |const|                        |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Material<class_Material>`                     | :ref:`surface_get_material<class_Mesh_method_surface_get_material>` **(** :ref:`int<class_int>` surf_idx **)** |const|                                            |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                | :ref:`surface_set_material<class_Mesh_method_surface_set_material>` **(** :ref:`int<class_int>` surf_idx, :ref:`Material<class_Material>` material **)**          |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -338,6 +366,90 @@ Sets a hint to be used for lightmap resolution.
 Method Descriptions
 -------------------
 
+.. _class_Mesh_method__get_aabb:
+
+- :ref:`AABB<class_AABB>` **_get_aabb** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__get_blend_shape_count:
+
+- :ref:`int<class_int>` **_get_blend_shape_count** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__get_blend_shape_name:
+
+- :ref:`StringName<class_StringName>` **_get_blend_shape_name** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__get_surface_count:
+
+- :ref:`int<class_int>` **_get_surface_count** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__set_blend_shape_name:
+
+- void **_set_blend_shape_name** **(** :ref:`int<class_int>` index, :ref:`StringName<class_StringName>` name **)** |virtual|
+
+----
+
+.. _class_Mesh_method__surface_get_array_index_len:
+
+- :ref:`int<class_int>` **_surface_get_array_index_len** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__surface_get_array_len:
+
+- :ref:`int<class_int>` **_surface_get_array_len** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__surface_get_arrays:
+
+- :ref:`Array<class_Array>` **_surface_get_arrays** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__surface_get_blend_shape_arrays:
+
+- :ref:`Array<class_Array>` **_surface_get_blend_shape_arrays** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__surface_get_format:
+
+- :ref:`int<class_int>` **_surface_get_format** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__surface_get_lods:
+
+- :ref:`Dictionary<class_Dictionary>` **_surface_get_lods** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__surface_get_material:
+
+- :ref:`Material<class_Material>` **_surface_get_material** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__surface_get_primitive_type:
+
+- :ref:`int<class_int>` **_surface_get_primitive_type** **(** :ref:`int<class_int>` index **)** |virtual| |const|
+
+----
+
+.. _class_Mesh_method__surface_set_material:
+
+- void **_surface_set_material** **(** :ref:`int<class_int>` index, :ref:`Material<class_Material>` material **)** |virtual|
+
+----
+
 .. _class_Mesh_method_create_convex_shape:
 
 - :ref:`Shape3D<class_Shape3D>` **create_convex_shape** **(** :ref:`bool<class_bool>` clean=true, :ref:`bool<class_bool>` simplify=false **)** |const|

+ 5 - 1
classes/class_nativeextension.rst

@@ -39,6 +39,8 @@ Enumerations
 
 .. _class_NativeExtension_constant_INITIALIZATION_LEVEL_SCENE:
 
+.. _class_NativeExtension_constant_INITIALIZATION_LEVEL_DRIVER:
+
 .. _class_NativeExtension_constant_INITIALIZATION_LEVEL_EDITOR:
 
 enum **InitializationLevel**:
@@ -49,7 +51,9 @@ enum **InitializationLevel**:
 
 - **INITIALIZATION_LEVEL_SCENE** = **2**
 
-- **INITIALIZATION_LEVEL_EDITOR** = **3**
+- **INITIALIZATION_LEVEL_DRIVER** = **3**
+
+- **INITIALIZATION_LEVEL_EDITOR** = **4**
 
 Method Descriptions
 -------------------

+ 0 - 147
classes/class_nativescript.rst

@@ -1,147 +0,0 @@
-:github_url: hide
-
-.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the NativeScript.xml source instead.
-.. The source is found in doc/classes or modules/<name>/doc_classes.
-
-.. _class_NativeScript:
-
-NativeScript
-============
-
-**Inherits:** :ref:`Script<class_Script>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
-
-
-
-Properties
-----------
-
-+-----------------------------------------------+-----------------------------------------------------------------------------------+--------+
-| :ref:`String<class_String>`                   | :ref:`class_name<class_NativeScript_property_class_name>`                         | ``""`` |
-+-----------------------------------------------+-----------------------------------------------------------------------------------+--------+
-| :ref:`GDNativeLibrary<class_GDNativeLibrary>` | :ref:`library<class_NativeScript_property_library>`                               |        |
-+-----------------------------------------------+-----------------------------------------------------------------------------------+--------+
-| :ref:`String<class_String>`                   | :ref:`script_class_icon_path<class_NativeScript_property_script_class_icon_path>` | ``""`` |
-+-----------------------------------------------+-----------------------------------------------------------------------------------+--------+
-| :ref:`String<class_String>`                   | :ref:`script_class_name<class_NativeScript_property_script_class_name>`           | ``""`` |
-+-----------------------------------------------+-----------------------------------------------------------------------------------+--------+
-
-Methods
--------
-
-+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`   | :ref:`get_class_documentation<class_NativeScript_method_get_class_documentation>` **(** **)** |const|                                                   |
-+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`   | :ref:`get_method_documentation<class_NativeScript_method_get_method_documentation>` **(** :ref:`StringName<class_StringName>` method **)** |const|      |
-+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`   | :ref:`get_property_documentation<class_NativeScript_method_get_property_documentation>` **(** :ref:`StringName<class_StringName>` path **)** |const|    |
-+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`   | :ref:`get_signal_documentation<class_NativeScript_method_get_signal_documentation>` **(** :ref:`StringName<class_StringName>` signal_name **)** |const| |
-+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`new<class_NativeScript_method_new>` **(** ... **)** |vararg|                                                                                      |
-+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Property Descriptions
----------------------
-
-.. _class_NativeScript_property_class_name:
-
-- :ref:`String<class_String>` **class_name**
-
-+-----------+-----------------------+
-| *Default* | ``""``                |
-+-----------+-----------------------+
-| *Setter*  | set_class_name(value) |
-+-----------+-----------------------+
-| *Getter*  | get_class_name()      |
-+-----------+-----------------------+
-
-----
-
-.. _class_NativeScript_property_library:
-
-- :ref:`GDNativeLibrary<class_GDNativeLibrary>` **library**
-
-+----------+--------------------+
-| *Setter* | set_library(value) |
-+----------+--------------------+
-| *Getter* | get_library()      |
-+----------+--------------------+
-
-----
-
-.. _class_NativeScript_property_script_class_icon_path:
-
-- :ref:`String<class_String>` **script_class_icon_path**
-
-+-----------+-----------------------------------+
-| *Default* | ``""``                            |
-+-----------+-----------------------------------+
-| *Setter*  | set_script_class_icon_path(value) |
-+-----------+-----------------------------------+
-| *Getter*  | get_script_class_icon_path()      |
-+-----------+-----------------------------------+
-
-----
-
-.. _class_NativeScript_property_script_class_name:
-
-- :ref:`String<class_String>` **script_class_name**
-
-+-----------+------------------------------+
-| *Default* | ``""``                       |
-+-----------+------------------------------+
-| *Setter*  | set_script_class_name(value) |
-+-----------+------------------------------+
-| *Getter*  | get_script_class_name()      |
-+-----------+------------------------------+
-
-Method Descriptions
--------------------
-
-.. _class_NativeScript_method_get_class_documentation:
-
-- :ref:`String<class_String>` **get_class_documentation** **(** **)** |const|
-
-Returns the documentation string that was previously set with ``godot_nativescript_set_class_documentation``.
-
-----
-
-.. _class_NativeScript_method_get_method_documentation:
-
-- :ref:`String<class_String>` **get_method_documentation** **(** :ref:`StringName<class_StringName>` method **)** |const|
-
-Returns the documentation string that was previously set with ``godot_nativescript_set_method_documentation``.
-
-----
-
-.. _class_NativeScript_method_get_property_documentation:
-
-- :ref:`String<class_String>` **get_property_documentation** **(** :ref:`StringName<class_StringName>` path **)** |const|
-
-Returns the documentation string that was previously set with ``godot_nativescript_set_property_documentation``.
-
-----
-
-.. _class_NativeScript_method_get_signal_documentation:
-
-- :ref:`String<class_String>` **get_signal_documentation** **(** :ref:`StringName<class_StringName>` signal_name **)** |const|
-
-Returns the documentation string that was previously set with ``godot_nativescript_set_signal_documentation``.
-
-----
-
-.. _class_NativeScript_method_new:
-
-- :ref:`Variant<class_Variant>` **new** **(** ... **)** |vararg|
-
-Constructs a new object of the base type with a script of this type already attached.
-
-\ **Note:** Any arguments passed to this function will be ignored and not passed to the native constructor function. This will change with in a future API extension.
-
-.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
-.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
-.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
-.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
-.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
-.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 115 - 0
classes/class_openxraction.rst

@@ -0,0 +1,115 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the OpenXRAction.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_OpenXRAction:
+
+OpenXRAction
+============
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+An OpenXR action.
+
+Description
+-----------
+
+This resource defines an OpenXR action. Actions can be used both for inputs (buttons/joystick/trigger/etc) and outputs (haptics).
+
+OpenXR performs automatic conversion between action type and input type whenever possible. An analogue trigger bound to a boolean action will thus return ``false[/core] if the trigger is depressed and [code]true`` if pressed fully.
+
+Actions are not directly bound to specific devices, instead OpenXR recognises a limited number of top level paths that identify devices by usage. We can restrict which devices an action can be bound to by these top level paths. For instance an action that should only be used for hand held controllers can have the top level paths "/user/hand/left" and "/user/hand/right" associated with them. See the `reserved path section in the OpenXR specification <https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#semantic-path-reserved>`__ for more info on the top level paths.
+
+Note that the name of the resource is used to register the action with.
+
+Properties
+----------
+
++---------------------------------------------------+-------------------------------------------------------------------+-------------------------+
+| :ref:`ActionType<enum_OpenXRAction_ActionType>`   | :ref:`action_type<class_OpenXRAction_property_action_type>`       | ``1``                   |
++---------------------------------------------------+-------------------------------------------------------------------+-------------------------+
+| :ref:`String<class_String>`                       | :ref:`localized_name<class_OpenXRAction_property_localized_name>` | ``""``                  |
++---------------------------------------------------+-------------------------------------------------------------------+-------------------------+
+| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`toplevel_paths<class_OpenXRAction_property_toplevel_paths>` | ``PackedStringArray()`` |
++---------------------------------------------------+-------------------------------------------------------------------+-------------------------+
+
+Enumerations
+------------
+
+.. _enum_OpenXRAction_ActionType:
+
+.. _class_OpenXRAction_constant_OPENXR_ACTION_BOOL:
+
+.. _class_OpenXRAction_constant_OPENXR_ACTION_FLOAT:
+
+.. _class_OpenXRAction_constant_OPENXR_ACTION_VECTOR2:
+
+.. _class_OpenXRAction_constant_OPENXR_ACTION_POSE:
+
+enum **ActionType**:
+
+- **OPENXR_ACTION_BOOL** = **0** --- This action provides a boolean value.
+
+- **OPENXR_ACTION_FLOAT** = **1** --- This action provides a float value between ``0.0`` and ``1.0`` for any analogue input such as triggers.
+
+- **OPENXR_ACTION_VECTOR2** = **2** --- This action provides a vector2 value and can be bound to embedded trackpads and joysticks
+
+- **OPENXR_ACTION_POSE** = **3**
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRAction_property_action_type:
+
+- :ref:`ActionType<enum_OpenXRAction_ActionType>` **action_type**
+
++-----------+------------------------+
+| *Default* | ``1``                  |
++-----------+------------------------+
+| *Setter*  | set_action_type(value) |
++-----------+------------------------+
+| *Getter*  | get_action_type()      |
++-----------+------------------------+
+
+The type of action.
+
+----
+
+.. _class_OpenXRAction_property_localized_name:
+
+- :ref:`String<class_String>` **localized_name**
+
++-----------+---------------------------+
+| *Default* | ``""``                    |
++-----------+---------------------------+
+| *Setter*  | set_localized_name(value) |
++-----------+---------------------------+
+| *Getter*  | get_localized_name()      |
++-----------+---------------------------+
+
+The localised description of this action.
+
+----
+
+.. _class_OpenXRAction_property_toplevel_paths:
+
+- :ref:`PackedStringArray<class_PackedStringArray>` **toplevel_paths**
+
++-----------+---------------------------+
+| *Default* | ``PackedStringArray()``   |
++-----------+---------------------------+
+| *Setter*  | set_toplevel_paths(value) |
++-----------+---------------------------+
+| *Getter*  | get_toplevel_paths()      |
++-----------+---------------------------+
+
+A collections of toplevel paths to which this action can be bound.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 124 - 0
classes/class_openxractionmap.rst

@@ -0,0 +1,124 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the OpenXRActionMap.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_OpenXRActionMap:
+
+OpenXRActionMap
+===============
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Collection of :ref:`OpenXRActionSet<class_OpenXRActionSet>` and :ref:`OpenXRInteractionProfile<class_OpenXRInteractionProfile>` resources for the OpenXR module.
+
+Description
+-----------
+
+OpenXR uses an action system similar to Godots Input map system to bind inputs and outputs on various types of XR controllers to named actions. OpenXR specifies more detail on these inputs and outputs than Godot supports.
+
+Another important distinction is that OpenXR offers no control over these bindings. The bindings we register are suggestions, it is up to the XR runtime to offer users the ability to change these bindings. This allows the XR runtime to fill in the gaps if new hardware becomes available.
+
+The action map therefor needs to be loaded at startup and can't be changed afterwards. This resource is a container for the entire action map.
+
+Properties
+----------
+
++---------------------------+----------------------------------------------------------------------------------+--------+
+| :ref:`Array<class_Array>` | :ref:`action_sets<class_OpenXRActionMap_property_action_sets>`                   | ``[]`` |
++---------------------------+----------------------------------------------------------------------------------+--------+
+| :ref:`Array<class_Array>` | :ref:`interaction_profiles<class_OpenXRActionMap_property_interaction_profiles>` | ``[]`` |
++---------------------------+----------------------------------------------------------------------------------+--------+
+
+Methods
+-------
+
++------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`add_action_set<class_OpenXRActionMap_method_add_action_set>` **(** :ref:`OpenXRActionSet<class_OpenXRActionSet>` action_set **)**                                                    |
++------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`add_interaction_profile<class_OpenXRActionMap_method_add_interaction_profile>` **(** :ref:`OpenXRInteractionProfile<class_OpenXRInteractionProfile>` interaction_profile **)**       |
++------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`create_default_action_sets<class_OpenXRActionMap_method_create_default_action_sets>` **(** **)**                                                                                     |
++------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`remove_action_set<class_OpenXRActionMap_method_remove_action_set>` **(** :ref:`OpenXRActionSet<class_OpenXRActionSet>` action_set **)**                                              |
++------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`remove_interaction_profile<class_OpenXRActionMap_method_remove_interaction_profile>` **(** :ref:`OpenXRInteractionProfile<class_OpenXRInteractionProfile>` interaction_profile **)** |
++------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRActionMap_property_action_sets:
+
+- :ref:`Array<class_Array>` **action_sets**
+
++-----------+------------------------+
+| *Default* | ``[]``                 |
++-----------+------------------------+
+| *Setter*  | set_action_sets(value) |
++-----------+------------------------+
+| *Getter*  | get_action_sets()      |
++-----------+------------------------+
+
+----
+
+.. _class_OpenXRActionMap_property_interaction_profiles:
+
+- :ref:`Array<class_Array>` **interaction_profiles**
+
++-----------+---------------------------------+
+| *Default* | ``[]``                          |
++-----------+---------------------------------+
+| *Setter*  | set_interaction_profiles(value) |
++-----------+---------------------------------+
+| *Getter*  | get_interaction_profiles()      |
++-----------+---------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_OpenXRActionMap_method_add_action_set:
+
+- void **add_action_set** **(** :ref:`OpenXRActionSet<class_OpenXRActionSet>` action_set **)**
+
+Add an action set.
+
+----
+
+.. _class_OpenXRActionMap_method_add_interaction_profile:
+
+- void **add_interaction_profile** **(** :ref:`OpenXRInteractionProfile<class_OpenXRInteractionProfile>` interaction_profile **)**
+
+Add an interaction profile.
+
+----
+
+.. _class_OpenXRActionMap_method_create_default_action_sets:
+
+- void **create_default_action_sets** **(** **)**
+
+Setup this action set with our default actions.
+
+----
+
+.. _class_OpenXRActionMap_method_remove_action_set:
+
+- void **remove_action_set** **(** :ref:`OpenXRActionSet<class_OpenXRActionSet>` action_set **)**
+
+Remove an action set.
+
+----
+
+.. _class_OpenXRActionMap_method_remove_interaction_profile:
+
+- void **remove_interaction_profile** **(** :ref:`OpenXRInteractionProfile<class_OpenXRInteractionProfile>` interaction_profile **)**
+
+Remove an interaction profile.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 116 - 0
classes/class_openxractionset.rst

@@ -0,0 +1,116 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the OpenXRActionSet.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_OpenXRActionSet:
+
+OpenXRActionSet
+===============
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Collection of :ref:`OpenXRAction<class_OpenXRAction>` resources that make up an action set.
+
+Description
+-----------
+
+Action sets in OpenXR define a collection of actions that can be activated in unison. This allows games to easily change between different states that require different inputs or need to reinterpret inputs. For instance we could have an action set that is active when a menu is open, an action set that is active when the player is freely walking around and an action set that is active when the player is controlling a vehicle.
+
+Action sets can contain the same actions, or actions with the same name, if such action sets are active at the same time the action set with the highest priority defines which binding is active.
+
+Note that the name of the resource is used to identify the action set within OpenXR.
+
+Properties
+----------
+
++-----------------------------+----------------------------------------------------------------------+--------+
+| :ref:`Array<class_Array>`   | :ref:`actions<class_OpenXRActionSet_property_actions>`               | ``[]`` |
++-----------------------------+----------------------------------------------------------------------+--------+
+| :ref:`String<class_String>` | :ref:`localized_name<class_OpenXRActionSet_property_localized_name>` | ``""`` |
++-----------------------------+----------------------------------------------------------------------+--------+
+| :ref:`int<class_int>`       | :ref:`priority<class_OpenXRActionSet_property_priority>`             | ``0``  |
++-----------------------------+----------------------------------------------------------------------+--------+
+
+Methods
+-------
+
++------+-----------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`add_action<class_OpenXRActionSet_method_add_action>` **(** :ref:`OpenXRAction<class_OpenXRAction>` action **)**       |
++------+-----------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`remove_action<class_OpenXRActionSet_method_remove_action>` **(** :ref:`OpenXRAction<class_OpenXRAction>` action **)** |
++------+-----------------------------------------------------------------------------------------------------------------------------+
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRActionSet_property_actions:
+
+- :ref:`Array<class_Array>` **actions**
+
++-----------+--------------------+
+| *Default* | ``[]``             |
++-----------+--------------------+
+| *Setter*  | set_actions(value) |
++-----------+--------------------+
+| *Getter*  | get_actions()      |
++-----------+--------------------+
+
+Collection of actions for this action set.
+
+----
+
+.. _class_OpenXRActionSet_property_localized_name:
+
+- :ref:`String<class_String>` **localized_name**
+
++-----------+---------------------------+
+| *Default* | ``""``                    |
++-----------+---------------------------+
+| *Setter*  | set_localized_name(value) |
++-----------+---------------------------+
+| *Getter*  | get_localized_name()      |
++-----------+---------------------------+
+
+The localised name of this action set.
+
+----
+
+.. _class_OpenXRActionSet_property_priority:
+
+- :ref:`int<class_int>` **priority**
+
++-----------+---------------------+
+| *Default* | ``0``               |
++-----------+---------------------+
+| *Setter*  | set_priority(value) |
++-----------+---------------------+
+| *Getter*  | get_priority()      |
++-----------+---------------------+
+
+The priority for this action set.
+
+Method Descriptions
+-------------------
+
+.. _class_OpenXRActionSet_method_add_action:
+
+- void **add_action** **(** :ref:`OpenXRAction<class_OpenXRAction>` action **)**
+
+Add an action to this action set.
+
+----
+
+.. _class_OpenXRActionSet_method_remove_action:
+
+- void **remove_action** **(** :ref:`OpenXRAction<class_OpenXRAction>` action **)**
+
+Remove an action from this action set.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 70 - 0
classes/class_openxrinteractionprofile.rst

@@ -0,0 +1,70 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the OpenXRInteractionProfile.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_OpenXRInteractionProfile:
+
+OpenXRInteractionProfile
+========================
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Suggested bindings object for OpenXR.
+
+Description
+-----------
+
+This object stores suggested bindings for an interaction profile. Interaction profiles define the meta data for a tracked XR device such as an XR controller.
+
+For more information see the `interaction profiles info in the OpenXR specification <https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#semantic-path-interaction-profiles>`__.
+
+Properties
+----------
+
++-----------------------------+---------------------------------------------------------------------------------------------------+--------+
+| :ref:`Array<class_Array>`   | :ref:`bindings<class_OpenXRInteractionProfile_property_bindings>`                                 | ``[]`` |
++-----------------------------+---------------------------------------------------------------------------------------------------+--------+
+| :ref:`String<class_String>` | :ref:`interaction_profile_path<class_OpenXRInteractionProfile_property_interaction_profile_path>` | ``""`` |
++-----------------------------+---------------------------------------------------------------------------------------------------+--------+
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRInteractionProfile_property_bindings:
+
+- :ref:`Array<class_Array>` **bindings**
+
++-----------+---------------------+
+| *Default* | ``[]``              |
++-----------+---------------------+
+| *Setter*  | set_bindings(value) |
++-----------+---------------------+
+| *Getter*  | get_bindings()      |
++-----------+---------------------+
+
+Action bindings for this interaction profile.
+
+----
+
+.. _class_OpenXRInteractionProfile_property_interaction_profile_path:
+
+- :ref:`String<class_String>` **interaction_profile_path**
+
++-----------+-------------------------------------+
+| *Default* | ``""``                              |
++-----------+-------------------------------------+
+| *Setter*  | set_interaction_profile_path(value) |
++-----------+-------------------------------------+
+| *Getter*  | get_interaction_profile_path()      |
++-----------+-------------------------------------+
+
+The interaction profile path identifying the XR device.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 74 - 0
classes/class_openxrinterface.rst

@@ -0,0 +1,74 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the OpenXRInterface.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_OpenXRInterface:
+
+OpenXRInterface
+===============
+
+**Inherits:** :ref:`XRInterface<class_XRInterface>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Our OpenXR interface.
+
+Description
+-----------
+
+The OpenXR interface allows Godot to interact with OpenXR runtimes and make it possible to create XR experiences and games.
+
+Due to the needs of OpenXR this interface works slightly different then other plugin based XR interfaces. It needs to be initialised when Godot starts. You need to enable OpenXR, settings for this can be found in your games project settings under the XR heading. You do need to mark a viewport for use with XR in order for Godot to know which render result should be output to the headset.
+
+Tutorials
+---------
+
+- :doc:`OpenXR documentation <../tutorials/vr/openxr/index>`
+
+Signals
+-------
+
+.. _class_OpenXRInterface_signal_pose_recentered:
+
+- **pose_recentered** **(** **)**
+
+Informs the user queued a recenter of the player position.
+
+----
+
+.. _class_OpenXRInterface_signal_session_begun:
+
+- **session_begun** **(** **)**
+
+Informs our OpenXR session has been started.
+
+----
+
+.. _class_OpenXRInterface_signal_session_focussed:
+
+- **session_focussed** **(** **)**
+
+Informs our OpenXR session now has focus.
+
+----
+
+.. _class_OpenXRInterface_signal_session_stopping:
+
+- **session_stopping** **(** **)**
+
+Informs our OpenXR session is stopping.
+
+----
+
+.. _class_OpenXRInterface_signal_session_visible:
+
+- **session_visible** **(** **)**
+
+Informs our OpenXR session is now visible (output is being sent to the HMD).
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 66 - 0
classes/class_openxripbinding.rst

@@ -0,0 +1,66 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the OpenXRIPBinding.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_OpenXRIPBinding:
+
+OpenXRIPBinding
+===============
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+Defines a binding between an :ref:`OpenXRAction<class_OpenXRAction>` and an XR input or output.
+
+Description
+-----------
+
+This binding resource binds an OpenXR action to inputs or outputs. As most controllers have left hand and right versions that are handled by the same interaction profile we can specify multiple bindings. For instance an action "Fire" could be bound to both "/user/hand/left/input/trigger" and "/user/hand/right/input/trigger".
+
+Properties
+----------
+
++---------------------------------------------------+------------------------------------------------------+-------------------------+
+| :ref:`OpenXRAction<class_OpenXRAction>`           | :ref:`action<class_OpenXRIPBinding_property_action>` |                         |
++---------------------------------------------------+------------------------------------------------------+-------------------------+
+| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`paths<class_OpenXRIPBinding_property_paths>`   | ``PackedStringArray()`` |
++---------------------------------------------------+------------------------------------------------------+-------------------------+
+
+Property Descriptions
+---------------------
+
+.. _class_OpenXRIPBinding_property_action:
+
+- :ref:`OpenXRAction<class_OpenXRAction>` **action**
+
++----------+-------------------+
+| *Setter* | set_action(value) |
++----------+-------------------+
+| *Getter* | get_action()      |
++----------+-------------------+
+
+Action that is bound to these paths.
+
+----
+
+.. _class_OpenXRIPBinding_property_paths:
+
+- :ref:`PackedStringArray<class_PackedStringArray>` **paths**
+
++-----------+-------------------------+
+| *Default* | ``PackedStringArray()`` |
++-----------+-------------------------+
+| *Setter*  | set_paths(value)        |
++-----------+-------------------------+
+| *Getter*  | get_paths()             |
++-----------+-------------------------+
+
+Paths that define the inputs or outputs bound on the device.
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 2 - 2
classes/class_packedscene.rst

@@ -116,7 +116,7 @@ Methods
 +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`               | :ref:`can_instantiate<class_PackedScene_method_can_instantiate>` **(** **)** |const|                                                         |
 +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`SceneState<class_SceneState>`   | :ref:`get_state<class_PackedScene_method_get_state>` **(** **)**                                                                             |
+| :ref:`SceneState<class_SceneState>`   | :ref:`get_state<class_PackedScene_method_get_state>` **(** **)** |const|                                                                     |
 +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Node<class_Node>`               | :ref:`instantiate<class_PackedScene_method_instantiate>` **(** :ref:`GenEditState<enum_PackedScene_GenEditState>` edit_state=0 **)** |const| |
 +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
@@ -180,7 +180,7 @@ Returns ``true`` if the scene file has nodes.
 
 .. _class_PackedScene_method_get_state:
 
-- :ref:`SceneState<class_SceneState>` **get_state** **(** **)**
+- :ref:`SceneState<class_SceneState>` **get_state** **(** **)** |const|
 
 Returns the ``SceneState`` representing the scene file contents.
 

+ 1 - 1
classes/class_particlesmaterial.rst

@@ -538,7 +538,7 @@ True if the interaction with particle attractors is enabled.
 | *Getter*  | get_collision_bounce()      |
 +-----------+-----------------------------+
 
-Collision bouncyness.
+Collision bounciness.
 
 ----
 

+ 64 - 0
classes/class_physicalbone3d.rst

@@ -21,12 +21,16 @@ Properties
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 | :ref:`DampMode<enum_PhysicalBone3D_DampMode>`   | :ref:`angular_damp_mode<class_PhysicalBone3D_property_angular_damp_mode>` | ``0``                                               |
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                   | :ref:`angular_velocity<class_PhysicalBone3D_property_angular_velocity>`   | ``Vector3(0, 0, 0)``                                |
++-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 | :ref:`Transform3D<class_Transform3D>`           | :ref:`body_offset<class_PhysicalBone3D_property_body_offset>`             | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 | :ref:`float<class_float>`                       | :ref:`bounce<class_PhysicalBone3D_property_bounce>`                       | ``0.0``                                             |
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 | :ref:`bool<class_bool>`                         | :ref:`can_sleep<class_PhysicalBone3D_property_can_sleep>`                 | ``true``                                            |
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
+| :ref:`bool<class_bool>`                         | :ref:`custom_integrator<class_PhysicalBone3D_property_custom_integrator>` | ``false``                                           |
++-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 | :ref:`float<class_float>`                       | :ref:`friction<class_PhysicalBone3D_property_friction>`                   | ``1.0``                                             |
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 | :ref:`float<class_float>`                       | :ref:`gravity_scale<class_PhysicalBone3D_property_gravity_scale>`         | ``1.0``                                             |
@@ -41,12 +45,16 @@ Properties
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 | :ref:`DampMode<enum_PhysicalBone3D_DampMode>`   | :ref:`linear_damp_mode<class_PhysicalBone3D_property_linear_damp_mode>`   | ``0``                                               |
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                   | :ref:`linear_velocity<class_PhysicalBone3D_property_linear_velocity>`     | ``Vector3(0, 0, 0)``                                |
++-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 | :ref:`float<class_float>`                       | :ref:`mass<class_PhysicalBone3D_property_mass>`                           | ``1.0``                                             |
 +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
 
 Methods
 -------
 
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                    | :ref:`_integrate_forces<class_PhysicalBone3D_method__integrate_forces>` **(** :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` state **)** |virtual|        |
 +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                    | :ref:`apply_central_impulse<class_PhysicalBone3D_method_apply_central_impulse>` **(** :ref:`Vector3<class_Vector3>` impulse **)**                                          |
 +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -141,6 +149,22 @@ Defines how :ref:`angular_damp<class_PhysicalBone3D_property_angular_damp>` is a
 
 ----
 
+.. _class_PhysicalBone3D_property_angular_velocity:
+
+- :ref:`Vector3<class_Vector3>` **angular_velocity**
+
++-----------+-----------------------------+
+| *Default* | ``Vector3(0, 0, 0)``        |
++-----------+-----------------------------+
+| *Setter*  | set_angular_velocity(value) |
++-----------+-----------------------------+
+| *Getter*  | get_angular_velocity()      |
++-----------+-----------------------------+
+
+The PhysicalBone3D's rotational velocity in *radians* per second.
+
+----
+
 .. _class_PhysicalBone3D_property_body_offset:
 
 - :ref:`Transform3D<class_Transform3D>` **body_offset**
@@ -189,6 +213,22 @@ If ``true``, the body is deactivated when there is no movement, so it will not t
 
 ----
 
+.. _class_PhysicalBone3D_property_custom_integrator:
+
+- :ref:`bool<class_bool>` **custom_integrator**
+
++-----------+----------------------------------+
+| *Default* | ``false``                        |
++-----------+----------------------------------+
+| *Setter*  | set_use_custom_integrator(value) |
++-----------+----------------------------------+
+| *Getter*  | is_using_custom_integrator()     |
++-----------+----------------------------------+
+
+If ``true``, internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the :ref:`_integrate_forces<class_PhysicalBone3D_method__integrate_forces>` function, if defined.
+
+----
+
 .. _class_PhysicalBone3D_property_friction:
 
 - :ref:`float<class_float>` **friction**
@@ -303,6 +343,22 @@ Defines how :ref:`linear_damp<class_PhysicalBone3D_property_linear_damp>` is app
 
 ----
 
+.. _class_PhysicalBone3D_property_linear_velocity:
+
+- :ref:`Vector3<class_Vector3>` **linear_velocity**
+
++-----------+----------------------------+
+| *Default* | ``Vector3(0, 0, 0)``       |
++-----------+----------------------------+
+| *Setter*  | set_linear_velocity(value) |
++-----------+----------------------------+
+| *Getter*  | get_linear_velocity()      |
++-----------+----------------------------+
+
+The body's linear velocity in units per second. Can be used sporadically, but **don't set this every frame**, because physics may run in another thread and runs at a different granularity. Use :ref:`_integrate_forces<class_PhysicalBone3D_method__integrate_forces>` as your process loop for precise control of the body state.
+
+----
+
 .. _class_PhysicalBone3D_property_mass:
 
 - :ref:`float<class_float>` **mass**
@@ -320,6 +376,14 @@ The body's mass.
 Method Descriptions
 -------------------
 
+.. _class_PhysicalBone3D_method__integrate_forces:
+
+- void **_integrate_forces** **(** :ref:`PhysicsDirectBodyState3D<class_PhysicsDirectBodyState3D>` state **)** |virtual|
+
+Called during physics processing, allowing you to read and safely modify the simulation state for the object. By default, it works in addition to the usual physics behavior, but the :ref:`custom_integrator<class_PhysicalBone3D_property_custom_integrator>` property allows you to disable the default behavior and do fully custom force integration for a body.
+
+----
+
 .. _class_PhysicalBone3D_method_apply_central_impulse:
 
 - void **apply_central_impulse** **(** :ref:`Vector3<class_Vector3>` impulse **)**

+ 14 - 31
classes/class_popup.rst

@@ -18,24 +18,24 @@ Popup is a base window container for popup-like subwindows.
 Description
 -----------
 
-Popup is a base window container for popup-like subwindows. It's a modal by default (see :ref:`close_on_parent_focus<class_Popup_property_close_on_parent_focus>`) and has helpers for custom popup behavior.
+Popup is a base window container for popup-like subwindows. It's a modal by default (see :ref:`popup_window<class_Popup_property_popup_window>`) and has helpers for custom popup behavior.
 
 Properties
 ----------
 
-+-------------------------+--------------------------------------------------------------------------+-------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | borderless                                                               | ``true`` (overrides :ref:`Window<class_Window_property_borderless>`)    |
-+-------------------------+--------------------------------------------------------------------------+-------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | :ref:`close_on_parent_focus<class_Popup_property_close_on_parent_focus>` | ``true``                                                                |
-+-------------------------+--------------------------------------------------------------------------+-------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | transient                                                                | ``true`` (overrides :ref:`Window<class_Window_property_transient>`)     |
-+-------------------------+--------------------------------------------------------------------------+-------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | unresizable                                                              | ``true`` (overrides :ref:`Window<class_Window_property_unresizable>`)   |
-+-------------------------+--------------------------------------------------------------------------+-------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | visible                                                                  | ``false`` (overrides :ref:`Window<class_Window_property_visible>`)      |
-+-------------------------+--------------------------------------------------------------------------+-------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | wrap_controls                                                            | ``true`` (overrides :ref:`Window<class_Window_property_wrap_controls>`) |
-+-------------------------+--------------------------------------------------------------------------+-------------------------------------------------------------------------+
++-------------------------+---------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | borderless    | ``true`` (overrides :ref:`Window<class_Window_property_borderless>`)    |
++-------------------------+---------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | popup_window  | ``true`` (overrides :ref:`Window<class_Window_property_popup_window>`)  |
++-------------------------+---------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | transient     | ``true`` (overrides :ref:`Window<class_Window_property_transient>`)     |
++-------------------------+---------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | unresizable   | ``true`` (overrides :ref:`Window<class_Window_property_unresizable>`)   |
++-------------------------+---------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | visible       | ``false`` (overrides :ref:`Window<class_Window_property_visible>`)      |
++-------------------------+---------------+-------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | wrap_controls | ``true`` (overrides :ref:`Window<class_Window_property_wrap_controls>`) |
++-------------------------+---------------+-------------------------------------------------------------------------+
 
 Signals
 -------
@@ -46,23 +46,6 @@ Signals
 
 Emitted when the popup is hidden.
 
-Property Descriptions
----------------------
-
-.. _class_Popup_property_close_on_parent_focus:
-
-- :ref:`bool<class_bool>` **close_on_parent_focus**
-
-+-----------+----------------------------------+
-| *Default* | ``true``                         |
-+-----------+----------------------------------+
-| *Setter*  | set_close_on_parent_focus(value) |
-+-----------+----------------------------------+
-| *Getter*  | get_close_on_parent_focus()      |
-+-----------+----------------------------------+
-
-If true, the ``Popup`` will close when its parent :ref:`Window<class_Window>` is focused.
-
 .. |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.)`

+ 11 - 3
classes/class_primitivemesh.rst

@@ -34,9 +34,11 @@ Properties
 Methods
 -------
 
-+---------------------------+----------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>` | :ref:`get_mesh_arrays<class_PrimitiveMesh_method_get_mesh_arrays>` **(** **)** |const| |
-+---------------------------+----------------------------------------------------------------------------------------+
++---------------------------+--------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`_create_mesh_array<class_PrimitiveMesh_method__create_mesh_array>` **(** **)** |virtual| |const| |
++---------------------------+--------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`get_mesh_arrays<class_PrimitiveMesh_method_get_mesh_arrays>` **(** **)** |const|                 |
++---------------------------+--------------------------------------------------------------------------------------------------------+
 
 Property Descriptions
 ---------------------
@@ -90,6 +92,12 @@ The current :ref:`Material<class_Material>` of the primitive mesh.
 Method Descriptions
 -------------------
 
+.. _class_PrimitiveMesh_method__create_mesh_array:
+
+- :ref:`Array<class_Array>` **_create_mesh_array** **(** **)** |virtual| |const|
+
+----
+
 .. _class_PrimitiveMesh_method_get_mesh_arrays:
 
 - :ref:`Array<class_Array>` **get_mesh_arrays** **(** **)** |const|

+ 89 - 33
classes/class_projectsettings.rst

@@ -57,6 +57,8 @@ Properties
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                       | :ref:`application/config/name<class_ProjectSettings_property_application/config/name>`                                                                                                             | ``""``                                                                                          |
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`               | :ref:`application/config/name_localized<class_ProjectSettings_property_application/config/name_localized>`                                                                                         | ``{}``                                                                                          |
++---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                       | :ref:`application/config/project_settings_override<class_ProjectSettings_property_application/config/project_settings_override>`                                                                   | ``""``                                                                                          |
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                           | :ref:`application/config/use_custom_user_dir<class_ProjectSettings_property_application/config/use_custom_user_dir>`                                                                               | ``false``                                                                                       |
@@ -1121,10 +1123,6 @@ Properties
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                           | :ref:`rendering/shader_compiler/shader_cache/use_zstd_compression<class_ProjectSettings_property_rendering/shader_compiler/shader_cache/use_zstd_compression>`                                     | ``true``                                                                                        |
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                           | :ref:`rendering/shading/overrides/force_blinn_over_ggx<class_ProjectSettings_property_rendering/shading/overrides/force_blinn_over_ggx>`                                                           | ``false``                                                                                       |
-+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                           | :ref:`rendering/shading/overrides/force_blinn_over_ggx.mobile<class_ProjectSettings_property_rendering/shading/overrides/force_blinn_over_ggx.mobile>`                                             | ``true``                                                                                        |
-+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                           | :ref:`rendering/shading/overrides/force_lambert_over_burley<class_ProjectSettings_property_rendering/shading/overrides/force_lambert_over_burley>`                                                 | ``false``                                                                                       |
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                           | :ref:`rendering/shading/overrides/force_lambert_over_burley.mobile<class_ProjectSettings_property_rendering/shading/overrides/force_lambert_over_burley.mobile>`                                   | ``true``                                                                                        |
@@ -1193,7 +1191,17 @@ Properties
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                             | :ref:`rendering/vulkan/staging_buffer/texture_upload_region_size_px<class_ProjectSettings_property_rendering/vulkan/staging_buffer/texture_upload_region_size_px>`                                 | ``64``                                                                                          |
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                           | :ref:`rendering/xr/enabled<class_ProjectSettings_property_rendering/xr/enabled>`                                                                                                                   | ``false``                                                                                       |
+| :ref:`String<class_String>`                       | :ref:`xr/openxr/default_action_map<class_ProjectSettings_property_xr/openxr/default_action_map>`                                                                                                   | ``"res://default_action_map.tres"``                                                             |
++---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`xr/openxr/enabled<class_ProjectSettings_property_xr/openxr/enabled>`                                                                                                                         | ``false``                                                                                       |
++---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                             | :ref:`xr/openxr/form_factor<class_ProjectSettings_property_xr/openxr/form_factor>`                                                                                                                 | ``"0"``                                                                                         |
++---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                             | :ref:`xr/openxr/reference_space<class_ProjectSettings_property_xr/openxr/reference_space>`                                                                                                         | ``"1"``                                                                                         |
++---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                             | :ref:`xr/openxr/view_configuration<class_ProjectSettings_property_xr/openxr/view_configuration>`                                                                                                   | ``"1"``                                                                                         |
++---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                           | :ref:`xr/shaders/enabled<class_ProjectSettings_property_xr/shaders/enabled>`                                                                                                                       | ``false``                                                                                       |
 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+
 
 Methods
@@ -1360,6 +1368,18 @@ The project's name. It is used both by the Project Manager and by exporters. The
 
 ----
 
+.. _class_ProjectSettings_property_application/config/name_localized:
+
+- :ref:`Dictionary<class_Dictionary>` **application/config/name_localized**
+
++-----------+--------+
+| *Default* | ``{}`` |
++-----------+--------+
+
+Translations of the project's name. This setting is used by OS tools to translate application name on Android, iOS and macOS.
+
+----
+
 .. _class_ProjectSettings_property_application/config/project_settings_override:
 
 - :ref:`String<class_String>` **application/config/project_settings_override**
@@ -6052,7 +6072,7 @@ The default linear damp in 3D.
 
 Sets which physics engine to use for 3D physics.
 
-"DEFAULT" is currently the `Bullet <https://bulletphysics.org>`__ physics engine. The "GodotPhysics3D" engine is still supported as an alternative.
+"DEFAULT" and "GodotPhysics3D" are the same, as there is currently no alternative 3D physics server implemented.
 
 ----
 
@@ -7412,30 +7432,6 @@ Scales the 3D render buffer based on the viewport size uses an image filter spec
 
 ----
 
-.. _class_ProjectSettings_property_rendering/shading/overrides/force_blinn_over_ggx:
-
-- :ref:`bool<class_bool>` **rendering/shading/overrides/force_blinn_over_ggx**
-
-+-----------+-----------+
-| *Default* | ``false`` |
-+-----------+-----------+
-
-If ``true``, uses faster but lower-quality Blinn model to generate blurred reflections instead of the GGX model.
-
-----
-
-.. _class_ProjectSettings_property_rendering/shading/overrides/force_blinn_over_ggx.mobile:
-
-- :ref:`bool<class_bool>` **rendering/shading/overrides/force_blinn_over_ggx.mobile**
-
-+-----------+----------+
-| *Default* | ``true`` |
-+-----------+----------+
-
-Lower-end override for :ref:`rendering/shading/overrides/force_blinn_over_ggx<class_ProjectSettings_property_rendering/shading/overrides/force_blinn_over_ggx>` on mobile devices, due to performance concerns or driver support.
-
-----
-
 .. _class_ProjectSettings_property_rendering/shading/overrides/force_lambert_over_burley:
 
 - :ref:`bool<class_bool>` **rendering/shading/overrides/force_lambert_over_burley**
@@ -7844,15 +7840,75 @@ If ``true``, the texture importer will import VRAM-compressed textures using the
 
 ----
 
-.. _class_ProjectSettings_property_rendering/xr/enabled:
+.. _class_ProjectSettings_property_xr/openxr/default_action_map:
+
+- :ref:`String<class_String>` **xr/openxr/default_action_map**
+
++-----------+-------------------------------------+
+| *Default* | ``"res://default_action_map.tres"`` |
++-----------+-------------------------------------+
+
+Action map configuration to load by default.
+
+----
+
+.. _class_ProjectSettings_property_xr/openxr/enabled:
+
+- :ref:`bool<class_bool>` **xr/openxr/enabled**
+
++-----------+-----------+
+| *Default* | ``false`` |
++-----------+-----------+
+
+If ``true`` Godot will setup and initialise OpenXR on startup.
+
+----
+
+.. _class_ProjectSettings_property_xr/openxr/form_factor:
+
+- :ref:`int<class_int>` **xr/openxr/form_factor**
+
++-----------+---------+
+| *Default* | ``"0"`` |
++-----------+---------+
+
+Specify whether OpenXR should be configured for an HMD or a hand held device.
+
+----
+
+.. _class_ProjectSettings_property_xr/openxr/reference_space:
+
+- :ref:`int<class_int>` **xr/openxr/reference_space**
+
++-----------+---------+
+| *Default* | ``"1"`` |
++-----------+---------+
+
+Specify the default reference space.
+
+----
+
+.. _class_ProjectSettings_property_xr/openxr/view_configuration:
+
+- :ref:`int<class_int>` **xr/openxr/view_configuration**
+
++-----------+---------+
+| *Default* | ``"1"`` |
++-----------+---------+
+
+Specify the view configuration with which to configure OpenXR settting up either Mono or Stereo rendering.
+
+----
+
+.. _class_ProjectSettings_property_xr/shaders/enabled:
 
-- :ref:`bool<class_bool>` **rendering/xr/enabled**
+- :ref:`bool<class_bool>` **xr/shaders/enabled**
 
 +-----------+-----------+
 | *Default* | ``false`` |
 +-----------+-----------+
 
-If ``true``, XR support is enabled in Godot, this ensures required shaders are compiled.
+If ``true``, Godot will compile shaders required for XR.
 
 Method Descriptions
 -------------------

+ 13 - 5
classes/class_range.rst

@@ -48,11 +48,13 @@ Properties
 Methods
 -------
 
-+------+---------------------------------------------------------------------------------+
-| void | :ref:`share<class_Range_method_share>` **(** :ref:`Node<class_Node>` with **)** |
-+------+---------------------------------------------------------------------------------+
-| void | :ref:`unshare<class_Range_method_unshare>` **(** **)**                          |
-+------+---------------------------------------------------------------------------------+
++------+-----------------------------------------------------------------------------------------------------------+
+| void | :ref:`_value_changed<class_Range_method__value_changed>` **(** :ref:`float<class_float>`  **)** |virtual| |
++------+-----------------------------------------------------------------------------------------------------------+
+| void | :ref:`share<class_Range_method_share>` **(** :ref:`Node<class_Node>` with **)**                           |
++------+-----------------------------------------------------------------------------------------------------------+
+| void | :ref:`unshare<class_Range_method_unshare>` **(** **)**                                                    |
++------+-----------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -233,6 +235,12 @@ Range's current value.
 Method Descriptions
 -------------------
 
+.. _class_Range_method__value_changed:
+
+- void **_value_changed** **(** :ref:`float<class_float>`  **)** |virtual|
+
+----
+
 .. _class_Range_method_share:
 
 - void **share** **(** :ref:`Node<class_Node>` with **)**

+ 0 - 2
classes/class_rect2i.rst

@@ -293,8 +293,6 @@ If the rectangles do not intersect, an empty ``Rect2i`` is returned.
 
 Returns ``true`` if the ``Rect2i`` overlaps with ``b`` (i.e. they have at least one point in common).
 
-If ``include_borders`` is ``true``, they will also be considered overlapping if their borders touch, even without intersection.
-
 ----
 
 .. _class_Rect2i_method_merge:

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
classes/class_refcounted.rst


+ 18 - 18
classes/class_renderingserver.rst

@@ -452,6 +452,8 @@ Methods
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`light_set_cull_mask<class_RenderingServer_method_light_set_cull_mask>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                               | :ref:`light_set_distance_fade<class_RenderingServer_method_light_set_distance_fade>` **(** :ref:`RID<class_RID>` decal, :ref:`bool<class_bool>` enabled, :ref:`float<class_float>` begin, :ref:`float<class_float>` shadow, :ref:`float<class_float>` length **)**                                                                                                                                                                                                                                                                                                                                                                                                                 |
++--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`light_set_max_sdfgi_cascade<class_RenderingServer_method_light_set_max_sdfgi_cascade>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` cascade **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`light_set_negative<class_RenderingServer_method_light_set_negative>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
@@ -464,8 +466,6 @@ Methods
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`light_set_shadow<class_RenderingServer_method_light_set_shadow>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`light_set_shadow_color<class_RenderingServer_method_light_set_shadow_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
-+--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_RID>`                                              | :ref:`lightmap_create<class_RenderingServer_method_lightmap_create>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PackedInt32Array<class_PackedInt32Array>`                    | :ref:`lightmap_get_probe_capture_bsp_tree<class_RenderingServer_method_lightmap_get_probe_capture_bsp_tree>` **(** :ref:`RID<class_RID>` lightmap **)** |const|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
@@ -2221,23 +2221,23 @@ enum **EnvironmentToneMapper**:
 
 .. _enum_RenderingServer_EnvironmentSSRRoughnessQuality:
 
-.. _class_RenderingServer_constant_ENV_SSR_ROUGNESS_QUALITY_DISABLED:
+.. _class_RenderingServer_constant_ENV_SSR_ROUGHNESS_QUALITY_DISABLED:
 
-.. _class_RenderingServer_constant_ENV_SSR_ROUGNESS_QUALITY_LOW:
+.. _class_RenderingServer_constant_ENV_SSR_ROUGHNESS_QUALITY_LOW:
 
-.. _class_RenderingServer_constant_ENV_SSR_ROUGNESS_QUALITY_MEDIUM:
+.. _class_RenderingServer_constant_ENV_SSR_ROUGHNESS_QUALITY_MEDIUM:
 
-.. _class_RenderingServer_constant_ENV_SSR_ROUGNESS_QUALITY_HIGH:
+.. _class_RenderingServer_constant_ENV_SSR_ROUGHNESS_QUALITY_HIGH:
 
 enum **EnvironmentSSRRoughnessQuality**:
 
-- **ENV_SSR_ROUGNESS_QUALITY_DISABLED** = **0**
+- **ENV_SSR_ROUGHNESS_QUALITY_DISABLED** = **0** --- Lowest quality of roughness filter for screen-space reflections. Rough materials will not have blurrier screen-space reflections compared to smooth (non-rough) materials. This is the fastest option.
 
-- **ENV_SSR_ROUGNESS_QUALITY_LOW** = **1**
+- **ENV_SSR_ROUGHNESS_QUALITY_LOW** = **1** --- Low quality of roughness filter for screen-space reflections.
 
-- **ENV_SSR_ROUGNESS_QUALITY_MEDIUM** = **2**
+- **ENV_SSR_ROUGHNESS_QUALITY_MEDIUM** = **2** --- Medium quality of roughness filter for screen-space reflections.
 
-- **ENV_SSR_ROUGNESS_QUALITY_HIGH** = **3**
+- **ENV_SSR_ROUGHNESS_QUALITY_HIGH** = **3** --- High quality of roughness filter for screen-space reflections. This is the slowest option.
 
 ----
 
@@ -4524,6 +4524,14 @@ Sets the cull mask for this Light3D. Lights only affect objects in the selected
 
 ----
 
+.. _class_RenderingServer_method_light_set_distance_fade:
+
+- void **light_set_distance_fade** **(** :ref:`RID<class_RID>` decal, :ref:`bool<class_bool>` enabled, :ref:`float<class_float>` begin, :ref:`float<class_float>` shadow, :ref:`float<class_float>` length **)**
+
+Sets the distance fade for this Light3D. This acts as a form of level of detail (LOD) and can be used to improve performance. Equivalent to :ref:`Light3D.distance_fade_enabled<class_Light3D_property_distance_fade_enabled>`, :ref:`Light3D.distance_fade_begin<class_Light3D_property_distance_fade_begin>`, :ref:`Light3D.distance_fade_shadow<class_Light3D_property_distance_fade_shadow>`, and :ref:`Light3D.distance_fade_length<class_Light3D_property_distance_fade_length>`.
+
+----
+
 .. _class_RenderingServer_method_light_set_max_sdfgi_cascade:
 
 - void **light_set_max_sdfgi_cascade** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` cascade **)**
@@ -4570,14 +4578,6 @@ If ``true``, light will cast shadows. Equivalent to :ref:`Light3D.shadow_enabled
 
 ----
 
-.. _class_RenderingServer_method_light_set_shadow_color:
-
-- void **light_set_shadow_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
-
-Sets the color of the shadow cast by the light. Equivalent to :ref:`Light3D.shadow_color<class_Light3D_property_shadow_color>`.
-
-----
-
 .. _class_RenderingServer_method_lightmap_create:
 
 - :ref:`RID<class_RID>` **lightmap_create** **(** **)**

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
classes/class_resource.rst


+ 1 - 1
classes/class_resourceformatloader.rst

@@ -20,7 +20,7 @@ Godot loads resources in the editor or in exported games using ResourceFormatLoa
 
 Extending this class allows you to define your own loader. Be sure to respect the documented return types and values. You should give it a global class name with ``class_name`` for it to be registered. Like built-in ResourceFormatLoaders, it will be called automatically when loading resources of its handled type(s). You may also implement a :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`.
 
-\ **Note:** You can also extend :ref:`EditorImportPlugin<class_EditorImportPlugin>` if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends on if the format is suitable or not for the final exported game. For example, it's better to import ``.png`` textures as ``.stex`` (:ref:`StreamTexture2D<class_StreamTexture2D>`) first, so they can be loaded with better efficiency on the graphics card.
+\ **Note:** You can also extend :ref:`EditorImportPlugin<class_EditorImportPlugin>` if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends on if the format is suitable or not for the final exported game. For example, it's better to import ``.png`` textures as ``.ctex`` (:ref:`CompressedTexture2D<class_CompressedTexture2D>`) first, so they can be loaded with better efficiency on the graphics card.
 
 Methods
 -------

+ 11 - 7
classes/class_resourcesaver.rst

@@ -23,17 +23,19 @@ It uses the many :ref:`ResourceFormatSaver<class_ResourceFormatSaver>` classes r
 Methods
 -------
 
-+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_recognized_extensions<class_ResourceSaver_method_get_recognized_extensions>` **(** :ref:`Resource<class_Resource>` type **)**                                                       |
-+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`save<class_ResourceSaver_method_save>` **(** :ref:`String<class_String>` path, :ref:`Resource<class_Resource>` resource, :ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` flags=0 **)** |
-+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_recognized_extensions<class_ResourceSaver_method_get_recognized_extensions>` **(** :ref:`Resource<class_Resource>` type **)**                            |
++---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`             | :ref:`save<class_ResourceSaver_method_save>` **(** :ref:`String<class_String>` path, :ref:`Resource<class_Resource>` resource, :ref:`int<class_int>` flags=0 **)** |
++---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
 
 .. _enum_ResourceSaver_SaverFlags:
 
+.. _class_ResourceSaver_constant_FLAG_NONE:
+
 .. _class_ResourceSaver_constant_FLAG_RELATIVE_PATHS:
 
 .. _class_ResourceSaver_constant_FLAG_BUNDLE_RESOURCES:
@@ -50,6 +52,8 @@ Enumerations
 
 enum **SaverFlags**:
 
+- **FLAG_NONE** = **0** --- No resource saving option.
+
 - **FLAG_RELATIVE_PATHS** = **1** --- Save the resource with a path relative to the scene which uses it.
 
 - **FLAG_BUNDLE_RESOURCES** = **2** --- Bundles external resources.
@@ -77,11 +81,11 @@ Returns the list of extensions available for saving a resource of a given type.
 
 .. _class_ResourceSaver_method_save:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **save** **(** :ref:`String<class_String>` path, :ref:`Resource<class_Resource>` resource, :ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` flags=0 **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **save** **(** :ref:`String<class_String>` path, :ref:`Resource<class_Resource>` resource, :ref:`int<class_int>` flags=0 **)**
 
 Saves a resource to disk to the given path, using a :ref:`ResourceFormatSaver<class_ResourceFormatSaver>` that recognizes the resource object.
 
-The ``flags`` bitmask can be specified to customize the save behavior.
+The ``flags`` bitmask can be specified to customize the save behavior using :ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` flags.
 
 Returns :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` on success.
 

+ 41 - 41
classes/class_richtextlabel.rst

@@ -38,47 +38,47 @@ Tutorials
 Properties
 ----------
 
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`AutowrapMode<enum_RichTextLabel_AutowrapMode>`                           | :ref:`autowrap_mode<class_RichTextLabel_property_autowrap_mode>`                                                 | ``3``                                                                         |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | :ref:`bbcode_enabled<class_RichTextLabel_property_bbcode_enabled>`                                               | ``false``                                                                     |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                                                      | :ref:`custom_effects<class_RichTextLabel_property_custom_effects>`                                               | ``[]``                                                                        |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | :ref:`deselect_on_focus_loss_enabled<class_RichTextLabel_property_deselect_on_focus_loss_enabled>`               | ``true``                                                                      |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | :ref:`fit_content_height<class_RichTextLabel_property_fit_content_height>`                                       | ``false``                                                                     |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                                                    | :ref:`language<class_RichTextLabel_property_language>`                                                           | ``""``                                                                        |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | :ref:`meta_underlined<class_RichTextLabel_property_meta_underlined>`                                             | ``true``                                                                      |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | :ref:`override_selected_font_color<class_RichTextLabel_property_override_selected_font_color>`                   | ``false``                                                                     |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                                      | :ref:`percent_visible<class_RichTextLabel_property_percent_visible>`                                             | ``1.0``                                                                       |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | rect_clip_content                                                                                                | ``true`` (overrides :ref:`Control<class_Control_property_rect_clip_content>`) |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | :ref:`scroll_active<class_RichTextLabel_property_scroll_active>`                                                 | ``true``                                                                      |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | :ref:`scroll_following<class_RichTextLabel_property_scroll_following>`                                           | ``false``                                                                     |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                                        | :ref:`selection_enabled<class_RichTextLabel_property_selection_enabled>`                                         | ``false``                                                                     |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`StructuredTextParser<enum_Control_StructuredTextParser>`                 | :ref:`structured_text_bidi_override<class_RichTextLabel_property_structured_text_bidi_override>`                 | ``0``                                                                         |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                                                      | :ref:`structured_text_bidi_override_options<class_RichTextLabel_property_structured_text_bidi_override_options>` | ``[]``                                                                        |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                                          | :ref:`tab_size<class_RichTextLabel_property_tab_size>`                                                           | ``4``                                                                         |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                                                    | :ref:`text<class_RichTextLabel_property_text>`                                                                   | ``""``                                                                        |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`TextDirection<enum_Control_TextDirection>`                               | :ref:`text_direction<class_RichTextLabel_property_text_direction>`                                               | ``0``                                                                         |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                                          | :ref:`visible_characters<class_RichTextLabel_property_visible_characters>`                                       | ``-1``                                                                        |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`VisibleCharactersBehavior<enum_RichTextLabel_VisibleCharactersBehavior>` | :ref:`visible_characters_behavior<class_RichTextLabel_property_visible_characters_behavior>`                     | ``0``                                                                         |
-+--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`AutowrapMode<enum_RichTextLabel_AutowrapMode>`                           | :ref:`autowrap_mode<class_RichTextLabel_property_autowrap_mode>`                                                 | ``3``                                                                     |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | :ref:`bbcode_enabled<class_RichTextLabel_property_bbcode_enabled>`                                               | ``false``                                                                 |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | clip_contents                                                                                                    | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                                                      | :ref:`custom_effects<class_RichTextLabel_property_custom_effects>`                                               | ``[]``                                                                    |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | :ref:`deselect_on_focus_loss_enabled<class_RichTextLabel_property_deselect_on_focus_loss_enabled>`               | ``true``                                                                  |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | :ref:`fit_content_height<class_RichTextLabel_property_fit_content_height>`                                       | ``false``                                                                 |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`String<class_String>`                                                    | :ref:`language<class_RichTextLabel_property_language>`                                                           | ``""``                                                                    |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | :ref:`meta_underlined<class_RichTextLabel_property_meta_underlined>`                                             | ``true``                                                                  |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | :ref:`override_selected_font_color<class_RichTextLabel_property_override_selected_font_color>`                   | ``false``                                                                 |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                                      | :ref:`percent_visible<class_RichTextLabel_property_percent_visible>`                                             | ``1.0``                                                                   |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | :ref:`scroll_active<class_RichTextLabel_property_scroll_active>`                                                 | ``true``                                                                  |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | :ref:`scroll_following<class_RichTextLabel_property_scroll_following>`                                           | ``false``                                                                 |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                        | :ref:`selection_enabled<class_RichTextLabel_property_selection_enabled>`                                         | ``false``                                                                 |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`StructuredTextParser<enum_Control_StructuredTextParser>`                 | :ref:`structured_text_bidi_override<class_RichTextLabel_property_structured_text_bidi_override>`                 | ``0``                                                                     |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                                                      | :ref:`structured_text_bidi_override_options<class_RichTextLabel_property_structured_text_bidi_override_options>` | ``[]``                                                                    |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                                          | :ref:`tab_size<class_RichTextLabel_property_tab_size>`                                                           | ``4``                                                                     |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`String<class_String>`                                                    | :ref:`text<class_RichTextLabel_property_text>`                                                                   | ``""``                                                                    |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`TextDirection<enum_Control_TextDirection>`                               | :ref:`text_direction<class_RichTextLabel_property_text_direction>`                                               | ``0``                                                                     |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                                          | :ref:`visible_characters<class_RichTextLabel_property_visible_characters>`                                       | ``-1``                                                                    |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`VisibleCharactersBehavior<enum_RichTextLabel_VisibleCharactersBehavior>` | :ref:`visible_characters_behavior<class_RichTextLabel_property_visible_characters_behavior>`                     | ``0``                                                                     |
++--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
 
 Methods
 -------

+ 4 - 4
classes/class_rigiddynamicbody2d.rst

@@ -148,9 +148,9 @@ Emitted when one of this RigidDynamicBody2D's :ref:`Shape2D<class_Shape2D>`\ s c
 
 \ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
 
-\ ``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other :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)``.
+\ ``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other :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_find_owner(body_shape_index))``.
 
-\ ``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this RigidDynamicBody2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this RigidDynamicBody2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))``.
 
 ----
 
@@ -164,9 +164,9 @@ Emitted when the collision between one of this RigidDynamicBody2D's :ref:`Shape2
 
 \ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody2D<class_PhysicsBody2D>` or :ref:`TileMap<class_TileMap>`.
 
-\ ``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other :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)``.
+\ ``body_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of the other :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_find_owner(body_shape_index))``.
 
-\ ``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this RigidDynamicBody2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``local_shape_index`` the index of the :ref:`Shape2D<class_Shape2D>` of this RigidDynamicBody2D used by the :ref:`PhysicsServer2D<class_PhysicsServer2D>`. Get the :ref:`CollisionShape2D<class_CollisionShape2D>` node with ``self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))``.
 
 ----
 

+ 4 - 8
classes/class_rigiddynamicbody3d.rst

@@ -150,11 +150,9 @@ Emitted when one of this RigidDynamicBody3D's :ref:`Shape3D<class_Shape3D>`\ s c
 
 \ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
 
-\ ``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other :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)``.
+\ ``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other :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_find_owner(body_shape_index))``.
 
-\ ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this RigidDynamicBody3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
-
-\ **Note:** Bullet physics cannot identify the shape index when using a :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>`. Don't use multiple :ref:`CollisionShape3D<class_CollisionShape3D>`\ s when using a :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` with Bullet physics if you need shape indices.
+\ ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this RigidDynamicBody3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))``.
 
 ----
 
@@ -168,11 +166,9 @@ Emitted when the collision between one of this RigidDynamicBody3D's :ref:`Shape3
 
 \ ``body`` the :ref:`Node<class_Node>`, if it exists in the tree, of the other :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`GridMap<class_GridMap>`.
 
-\ ``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other :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_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this RigidDynamicBody3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(local_shape_index)``.
+\ ``body_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of the other :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_find_owner(body_shape_index))``.
 
-\ **Note:** Bullet physics cannot identify the shape index when using a :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>`. Don't use multiple :ref:`CollisionShape3D<class_CollisionShape3D>`\ s when using a :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>` with Bullet physics if you need shape indices.
+\ ``local_shape_index`` the index of the :ref:`Shape3D<class_Shape3D>` of this RigidDynamicBody3D used by the :ref:`PhysicsServer3D<class_PhysicsServer3D>`. Get the :ref:`CollisionShape3D<class_CollisionShape3D>` node with ``self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))``.
 
 ----
 

+ 0 - 8
classes/class_scenetree.rst

@@ -100,14 +100,6 @@ Methods
 Signals
 -------
 
-.. _class_SceneTree_signal_files_dropped:
-
-- **files_dropped** **(** :ref:`PackedStringArray<class_PackedStringArray>` files, :ref:`int<class_int>` screen **)**
-
-Emitted when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated.
-
-----
-
 .. _class_SceneTree_signal_node_added:
 
 - **node_added** **(** :ref:`Node<class_Node>` node **)**

+ 1 - 1
classes/class_script.rst

@@ -11,7 +11,7 @@ Script
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`CSharpScript<class_CSharpScript>`, :ref:`GDScript<class_GDScript>`, :ref:`NativeScript<class_NativeScript>`, :ref:`PluginScript<class_PluginScript>`, :ref:`VisualScript<class_VisualScript>`
+**Inherited By:** :ref:`CSharpScript<class_CSharpScript>`, :ref:`GDScript<class_GDScript>`, :ref:`VisualScript<class_VisualScript>`
 
 A class stored as a resource.
 

+ 16 - 16
classes/class_scrollcontainer.rst

@@ -20,28 +20,28 @@ Description
 
 A ScrollContainer node meant to contain a :ref:`Control<class_Control>` child.
 
-ScrollContainers will automatically create a scrollbar child (:ref:`HScrollBar<class_HScrollBar>`, :ref:`VScrollBar<class_VScrollBar>`, or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the :ref:`Control.rect_min_size<class_Control_property_rect_min_size>` of the Control relative to the ScrollContainer.
+ScrollContainers will automatically create a scrollbar child (:ref:`HScrollBar<class_HScrollBar>`, :ref:`VScrollBar<class_VScrollBar>`, or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the :ref:`Control.minimum_size<class_Control_property_minimum_size>` of the Control relative to the ScrollContainer.
 
 Works great with a :ref:`Panel<class_Panel>` control. You can set ``EXPAND`` on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension).
 
 Properties
 ----------
 
-+----------------------------------------------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                            | :ref:`follow_focus<class_ScrollContainer_property_follow_focus>`                     | ``false``                                                                     |
-+----------------------------------------------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`ScrollMode<enum_ScrollContainer_ScrollMode>` | :ref:`horizontal_scroll_mode<class_ScrollContainer_property_horizontal_scroll_mode>` | ``1``                                                                         |
-+----------------------------------------------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                            | rect_clip_content                                                                    | ``true`` (overrides :ref:`Control<class_Control_property_rect_clip_content>`) |
-+----------------------------------------------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                              | :ref:`scroll_deadzone<class_ScrollContainer_property_scroll_deadzone>`               | ``0``                                                                         |
-+----------------------------------------------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                              | :ref:`scroll_horizontal<class_ScrollContainer_property_scroll_horizontal>`           | ``0``                                                                         |
-+----------------------------------------------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                              | :ref:`scroll_vertical<class_ScrollContainer_property_scroll_vertical>`               | ``0``                                                                         |
-+----------------------------------------------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`ScrollMode<enum_ScrollContainer_ScrollMode>` | :ref:`vertical_scroll_mode<class_ScrollContainer_property_vertical_scroll_mode>`     | ``1``                                                                         |
-+----------------------------------------------------+--------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
++----------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                            | clip_contents                                                                        | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
++----------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                            | :ref:`follow_focus<class_ScrollContainer_property_follow_focus>`                     | ``false``                                                                 |
++----------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`ScrollMode<enum_ScrollContainer_ScrollMode>` | :ref:`horizontal_scroll_mode<class_ScrollContainer_property_horizontal_scroll_mode>` | ``1``                                                                     |
++----------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                              | :ref:`scroll_deadzone<class_ScrollContainer_property_scroll_deadzone>`               | ``0``                                                                     |
++----------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                              | :ref:`scroll_horizontal<class_ScrollContainer_property_scroll_horizontal>`           | ``0``                                                                     |
++----------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                              | :ref:`scroll_vertical<class_ScrollContainer_property_scroll_vertical>`               | ``0``                                                                     |
++----------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`ScrollMode<enum_ScrollContainer_ScrollMode>` | :ref:`vertical_scroll_mode<class_ScrollContainer_property_vertical_scroll_mode>`     | ``1``                                                                     |
++----------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
 
 Methods
 -------

+ 47 - 3
classes/class_string.rst

@@ -298,7 +298,11 @@ Returns ``true`` if the string begins with the given string.
 
 - :ref:`PackedStringArray<class_PackedStringArray>` **bigrams** **(** **)** |const|
 
-Returns the bigrams (pairs of consecutive letters) of this string.
+Returns an array containing the bigrams (pairs of consecutive letters) of this string.
+
+::
+
+    print("Bigrams".bigrams()) # Prints "[Bi, ig, gr, ra, am, ms]"
 
 ----
 
@@ -369,6 +373,13 @@ To get a boolean result from a string comparison, use the ``==`` operator instea
 
 - :ref:`String<class_String>` **chr** **(** :ref:`int<class_int>` char **)** |static|
 
+Directly converts an decimal integer to a unicode character. Tables of these characters can be found in various locations, for example `here. <https://unicodelookup.com/>`__\ 
+
+::
+
+    print(String.chr(65)) # Prints "A"
+    print(String.chr(129302)) # Prints "🤖" (robot face emoji)
+
 ----
 
 .. _class_String_method_contains:
@@ -565,6 +576,10 @@ Converts a string containing a hexadecimal number into an integer. Hexadecimal s
 
 - :ref:`String<class_String>` **humanize_size** **(** :ref:`int<class_int>` size **)** |static|
 
+Converts an integer representing a number of bytes into a human-readable form.
+
+Note that this output is in `IEC prefix format <https://en.wikipedia.org/wiki/Binary_prefix#IEC_prefixes>`__, and includes ``B``, ``KiB``, ``MiB``, ``GiB``, ``TiB``, ``PiB``, and ``EiB``.
+
 ----
 
 .. _class_String_method_indent:
@@ -641,7 +656,15 @@ Returns ``true`` if this string is free from characters that aren't allowed in f
 
 - :ref:`bool<class_bool>` **is_valid_float** **(** **)** |const|
 
-Returns ``true`` if this string contains a valid float.
+Returns ``true`` if this string contains a valid float. This is inclusive of integers, and also supports exponents:
+
+::
+
+    print("1.7".is_valid_float()) # Prints "true"
+    print("24".is_valid_float()) # Prints "true"
+    print("7e3".is_valid_float()) # Prints "true"
+    print("24".is_valid_float()) # Prints "true"
+    print("Hello".is_valid_float()) # Prints "false"
 
 ----
 
@@ -667,6 +690,12 @@ Returns ``true`` if this string contains a valid color in hexadecimal HTML notat
 
 Returns ``true`` if this string is a valid identifier. A valid identifier may contain only letters, digits and underscores (``_``) and the first character may not be a digit.
 
+::
+
+    print("good_ident_1".is_valid_identifier()) # Prints "true"
+    print("1st_bad_ident".is_valid_identifier()) # Prints "false"
+    print("bad_ident_#2".is_valid_identifier()) # Prints "false"
+
 ----
 
 .. _class_String_method_is_valid_int:
@@ -675,6 +704,14 @@ Returns ``true`` if this string is a valid identifier. A valid identifier may co
 
 Returns ``true`` if this string contains a valid integer.
 
+::
+
+    print("7".is_valid_int()) # Prints "true"
+    print("14.6".is_valid_int()) # Prints "false"
+    print("L".is_valid_int()) # Prints "false"
+    print("+3".is_valid_int()) # Prints "true"
+    print("-12".is_valid_int()) # Prints "true"
+
 ----
 
 .. _class_String_method_is_valid_ip_address:
@@ -1015,7 +1052,14 @@ Returns the SHA-256 hash of the string as a string.
 
 - :ref:`float<class_float>` **similarity** **(** :ref:`String<class_String>` text **)** |const|
 
-Returns the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar.
+Returns the similarity index (`Sorensen-Dice coefficient <https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient>`__) this string compared to another. 1.0 means totally similar and 0.0 means totally dissimilar.
+
+::
+
+    print("ABC123".similarity("ABC123")) # Prints "1"
+    print("ABC123".similarity("XYZ456")) # Prints "0"
+    print("ABC123".similarity("123ABC")) # Prints "0.8"
+    print("ABC123".similarity("abc123")) # Prints "0.4"
 
 ----
 

+ 40 - 0
classes/class_stylebox.rst

@@ -38,6 +38,16 @@ Properties
 Methods
 -------
 
++-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                | :ref:`_draw<class_StyleBox_method__draw>` **(** :ref:`RID<class_RID>` to_canvas_item, :ref:`Rect2<class_Rect2>` rect **)** |virtual| |const|                 |
++-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`       | :ref:`_get_center_size<class_StyleBox_method__get_center_size>` **(** **)** |virtual| |const|                                                                |
++-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_Rect2>`           | :ref:`_get_draw_rect<class_StyleBox_method__get_draw_rect>` **(** :ref:`Rect2<class_Rect2>` rect **)** |virtual| |const|                                     |
++-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`           | :ref:`_get_style_margin<class_StyleBox_method__get_style_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` side **)** |virtual| |const|                     |
++-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`             | :ref:`_test_mask<class_StyleBox_method__test_mask>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Rect2<class_Rect2>` rect **)** |virtual| |const|        |
 +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                | :ref:`draw<class_StyleBox_method_draw>` **(** :ref:`RID<class_RID>` canvas_item, :ref:`Rect2<class_Rect2>` rect **)** |const|                                |
 +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -138,6 +148,36 @@ Refer to :ref:`content_margin_bottom<class_StyleBox_property_content_margin_bott
 Method Descriptions
 -------------------
 
+.. _class_StyleBox_method__draw:
+
+- void **_draw** **(** :ref:`RID<class_RID>` to_canvas_item, :ref:`Rect2<class_Rect2>` rect **)** |virtual| |const|
+
+----
+
+.. _class_StyleBox_method__get_center_size:
+
+- :ref:`Vector2<class_Vector2>` **_get_center_size** **(** **)** |virtual| |const|
+
+----
+
+.. _class_StyleBox_method__get_draw_rect:
+
+- :ref:`Rect2<class_Rect2>` **_get_draw_rect** **(** :ref:`Rect2<class_Rect2>` rect **)** |virtual| |const|
+
+----
+
+.. _class_StyleBox_method__get_style_margin:
+
+- :ref:`float<class_float>` **_get_style_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` side **)** |virtual| |const|
+
+----
+
+.. _class_StyleBox_method__test_mask:
+
+- :ref:`bool<class_bool>` **_test_mask** **(** :ref:`Vector2<class_Vector2>` point, :ref:`Rect2<class_Rect2>` rect **)** |virtual| |const|
+
+----
+
 .. _class_StyleBox_method_draw:
 
 - void **draw** **(** :ref:`RID<class_RID>` canvas_item, :ref:`Rect2<class_Rect2>` rect **)** |const|

+ 5 - 0
classes/class_subviewport.rst

@@ -13,6 +13,11 @@ SubViewport
 
 Creates a sub-view into the screen.
 
+Description
+-----------
+
+``SubViewport`` is a :ref:`Viewport<class_Viewport>` that isn't a :ref:`Window<class_Window>`, i.e. it doesn't draw anything by itself. To display something, ``SubViewport``'s :ref:`size<class_SubViewport_property_size>` must be non-zero and it should be either put inside a :ref:`SubViewportContainer<class_SubViewportContainer>` or assigned to a :ref:`ViewportTexture<class_ViewportTexture>`.
+
 Tutorials
 ---------
 

+ 3 - 3
classes/class_subviewportcontainer.rst

@@ -16,9 +16,9 @@ Control for holding :ref:`SubViewport<class_SubViewport>`\ s.
 Description
 -----------
 
-A :ref:`Container<class_Container>` node that holds a :ref:`SubViewport<class_SubViewport>`, automatically setting its size.
+A :ref:`Container<class_Container>` node that holds a :ref:`SubViewport<class_SubViewport>`. It uses the :ref:`SubViewport<class_SubViewport>`'s size as minimum size, unless :ref:`stretch<class_SubViewportContainer_property_stretch>` is enabled.
 
-\ **Note:** Changing a SubViewportContainer's :ref:`Control.rect_scale<class_Control_property_rect_scale>` will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container).
+\ **Note:** Changing a SubViewportContainer's :ref:`Control.scale<class_Control_property_scale>` will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container).
 
 \ **Note:** The SubViewportContainer forwards mouse-enter and mouse-exit notifications to its sub-viewports.
 
@@ -46,7 +46,7 @@ Property Descriptions
 | *Getter*  | is_stretch_enabled() |
 +-----------+----------------------+
 
-If ``true``, the sub-viewport will be scaled to the control's size.
+If ``true``, the sub-viewport will be automatically resized to the control's size.
 
 ----
 

+ 2 - 2
classes/class_surfacetool.rst

@@ -27,7 +27,7 @@ The ``SurfaceTool`` is used to construct a :ref:`Mesh<class_Mesh>` by specifying
     st.begin(Mesh.PRIMITIVE_TRIANGLES)
     st.set_color(Color(1, 0, 0))
     st.set_uv(Vector2(0, 0))
-    st.set_vertex(Vector3(0, 0, 0))
+    st.add_vertex(Vector3(0, 0, 0))
 
  .. code-tab:: csharp
 
@@ -35,7 +35,7 @@ The ``SurfaceTool`` is used to construct a :ref:`Mesh<class_Mesh>` by specifying
     st.Begin(Mesh.PrimitiveType.Triangles);
     st.SetColor(new Color(1, 0, 0));
     st.SetUv(new Vector2(0, 0));
-    st.SetVertex(new Vector3(0, 0, 0));
+    st.AddVertex(new Vector3(0, 0, 0));
 
 
 

+ 48 - 20
classes/class_tabbar.rst

@@ -28,6 +28,8 @@ Properties
 +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
 | :ref:`bool<class_bool>`                                               | :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>` | ``false`` |
 +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
+| :ref:`int<class_int>`                                                 | :ref:`max_tab_width<class_TabBar_property_max_tab_width>`                         | ``0``     |
++-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
 | :ref:`bool<class_bool>`                                               | :ref:`scroll_to_selected<class_TabBar_property_scroll_to_selected>`               | ``true``  |
 +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
 | :ref:`bool<class_bool>`                                               | :ref:`scrolling_enabled<class_TabBar_property_scrolling_enabled>`                 | ``true``  |
@@ -40,6 +42,8 @@ Properties
 +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
 | :ref:`int<class_int>`                                                 | :ref:`tab_count<class_TabBar_property_tab_count>`                                 | ``0``     |
 +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
+| :ref:`int<class_int>`                                                 | :ref:`tabs_rearrange_group<class_TabBar_property_tabs_rearrange_group>`           | ``-1``    |
++-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
 
 Methods
 -------
@@ -59,6 +63,8 @@ Methods
 +--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Texture2D<class_Texture2D>`                | :ref:`get_tab_icon<class_TabBar_method_get_tab_icon>` **(** :ref:`int<class_int>` tab_idx **)** |const|                                                                                |
 +--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                            | :ref:`get_tab_idx_at_point<class_TabBar_method_get_tab_idx_at_point>` **(** :ref:`Vector2<class_Vector2>` point **)** |const|                                                          |
++--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                      | :ref:`get_tab_language<class_TabBar_method_get_tab_language>` **(** :ref:`int<class_int>` tab_idx **)** |const|                                                                        |
 +--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                            | :ref:`get_tab_offset<class_TabBar_method_get_tab_offset>` **(** **)** |const|                                                                                                          |
@@ -71,8 +77,6 @@ Methods
 +--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                      | :ref:`get_tab_title<class_TabBar_method_get_tab_title>` **(** :ref:`int<class_int>` tab_idx **)** |const|                                                                              |
 +--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_tabs_rearrange_group<class_TabBar_method_get_tabs_rearrange_group>` **(** **)** |const|                                                                                      |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                          | :ref:`is_tab_disabled<class_TabBar_method_is_tab_disabled>` **(** :ref:`int<class_int>` tab_idx **)** |const|                                                                          |
 +--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                          | :ref:`is_tab_hidden<class_TabBar_method_is_tab_hidden>` **(** :ref:`int<class_int>` tab_idx **)** |const|                                                                              |
@@ -97,8 +101,6 @@ Methods
 +--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                             | :ref:`set_tab_title<class_TabBar_method_set_tab_title>` **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` title **)**                                                   |
 +--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_tabs_rearrange_group<class_TabBar_method_set_tabs_rearrange_group>` **(** :ref:`int<class_int>` group_id **)**                                                               |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Theme Properties
 ----------------
@@ -317,6 +319,22 @@ If ``true``, tabs can be rearranged with mouse drag.
 
 ----
 
+.. _class_TabBar_property_max_tab_width:
+
+- :ref:`int<class_int>` **max_tab_width**
+
++-----------+--------------------------+
+| *Default* | ``0``                    |
++-----------+--------------------------+
+| *Setter*  | set_max_tab_width(value) |
++-----------+--------------------------+
+| *Getter*  | get_max_tab_width()      |
++-----------+--------------------------+
+
+Sets the maximum width which all tabs should be limited to. Unlimited if set to ``0``.
+
+----
+
 .. _class_TabBar_property_scroll_to_selected:
 
 - :ref:`bool<class_bool>` **scroll_to_selected**
@@ -411,6 +429,24 @@ Sets when the close button will appear on the tabs. See :ref:`CloseButtonDisplay
 
 The number of tabs currently in the bar.
 
+----
+
+.. _class_TabBar_property_tabs_rearrange_group:
+
+- :ref:`int<class_int>` **tabs_rearrange_group**
+
++-----------+---------------------------------+
+| *Default* | ``-1``                          |
++-----------+---------------------------------+
+| *Setter*  | set_tabs_rearrange_group(value) |
++-----------+---------------------------------+
+| *Getter*  | get_tabs_rearrange_group()      |
++-----------+---------------------------------+
+
+``TabBar``\ s with the same rearrange group ID will allow dragging the tabs between them. Enable drag with :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>`.
+
+Setting this to ``-1`` will disable rearranging between ``TabBar``\ s.
+
 Method Descriptions
 -------------------
 
@@ -470,6 +506,14 @@ Returns the :ref:`Texture2D<class_Texture2D>` for the tab at index ``tab_idx`` o
 
 ----
 
+.. _class_TabBar_method_get_tab_idx_at_point:
+
+- :ref:`int<class_int>` **get_tab_idx_at_point** **(** :ref:`Vector2<class_Vector2>` point **)** |const|
+
+Returns the index of the tab at local coordinates ``point``. Returns ``-1`` if the point is outside the control boundaries or if there's no tab at the queried position.
+
+----
+
 .. _class_TabBar_method_get_tab_language:
 
 - :ref:`String<class_String>` **get_tab_language** **(** :ref:`int<class_int>` tab_idx **)** |const|
@@ -518,14 +562,6 @@ Returns the title of the tab at index ``tab_idx``.
 
 ----
 
-.. _class_TabBar_method_get_tabs_rearrange_group:
-
-- :ref:`int<class_int>` **get_tabs_rearrange_group** **(** **)** |const|
-
-Returns the ``TabBar``'s rearrange group ID.
-
-----
-
 .. _class_TabBar_method_is_tab_disabled:
 
 - :ref:`bool<class_bool>` **is_tab_disabled** **(** :ref:`int<class_int>` tab_idx **)** |const|
@@ -620,14 +656,6 @@ Sets tab title base writing direction.
 
 Sets a ``title`` for the tab at index ``tab_idx``.
 
-----
-
-.. _class_TabBar_method_set_tabs_rearrange_group:
-
-- void **set_tabs_rearrange_group** **(** :ref:`int<class_int>` group_id **)**
-
-Defines the rearrange group ID. Choose for each ``TabBar`` the same value to dragging tabs between ``TabBar``. Enable drag with :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>`.
-
 Theme Property Descriptions
 ---------------------------
 

+ 82 - 69
classes/class_tabcontainer.rst

@@ -25,19 +25,23 @@ Ignores non-:ref:`Control<class_Control>` children.
 Properties
 ----------
 
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`                               | :ref:`all_tabs_in_front<class_TabContainer_property_all_tabs_in_front>`                       | ``false`` |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`int<class_int>`                                 | :ref:`current_tab<class_TabContainer_property_current_tab>`                                   | ``0``     |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`                               | :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>`       | ``false`` |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`AlignmentMode<enum_TabContainer_AlignmentMode>` | :ref:`tab_alignment<class_TabContainer_property_tab_alignment>`                               | ``1``     |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`                               | :ref:`tabs_visible<class_TabContainer_property_tabs_visible>`                                 | ``true``  |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
-| :ref:`bool<class_bool>`                               | :ref:`use_hidden_tabs_for_min_size<class_TabContainer_property_use_hidden_tabs_for_min_size>` | ``false`` |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                         | :ref:`all_tabs_in_front<class_TabContainer_property_all_tabs_in_front>`                       | ``false`` |
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                         | :ref:`clip_tabs<class_TabContainer_property_clip_tabs>`                                       | ``true``  |
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`int<class_int>`                           | :ref:`current_tab<class_TabContainer_property_current_tab>`                                   | ``0``     |
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                         | :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>`       | ``false`` |
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` | :ref:`tab_alignment<class_TabContainer_property_tab_alignment>`                               | ``1``     |
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`int<class_int>`                           | :ref:`tabs_rearrange_group<class_TabContainer_property_tabs_rearrange_group>`                 | ``-1``    |
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                         | :ref:`tabs_visible<class_TabContainer_property_tabs_visible>`                                 | ``true``  |
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
+| :ref:`bool<class_bool>`                         | :ref:`use_hidden_tabs_for_min_size<class_TabContainer_property_use_hidden_tabs_for_min_size>` | ``false`` |
++-------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
 
 Methods
 -------
@@ -53,17 +57,17 @@ Methods
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`             | :ref:`get_tab_count<class_TabContainer_method_get_tab_count>` **(** **)** |const|                                                               |
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`           | :ref:`get_tab_disabled<class_TabContainer_method_get_tab_disabled>` **(** :ref:`int<class_int>` tab_idx **)** |const|                           |
-+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`           | :ref:`get_tab_hidden<class_TabContainer_method_get_tab_hidden>` **(** :ref:`int<class_int>` tab_idx **)** |const|                               |
-+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Texture2D<class_Texture2D>` | :ref:`get_tab_icon<class_TabContainer_method_get_tab_icon>` **(** :ref:`int<class_int>` tab_idx **)** |const|                                   |
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`             | :ref:`get_tab_idx_at_point<class_TabContainer_method_get_tab_idx_at_point>` **(** :ref:`Vector2<class_Vector2>` point **)** |const|             |
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`             | :ref:`get_tab_idx_from_control<class_TabContainer_method_get_tab_idx_from_control>` **(** :ref:`Control<class_Control>` control **)** |const|   |
++-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`       | :ref:`get_tab_title<class_TabContainer_method_get_tab_title>` **(** :ref:`int<class_int>` tab_idx **)** |const|                                 |
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`             | :ref:`get_tabs_rearrange_group<class_TabContainer_method_get_tabs_rearrange_group>` **(** **)** |const|                                         |
+| :ref:`bool<class_bool>`           | :ref:`is_tab_disabled<class_TabContainer_method_is_tab_disabled>` **(** :ref:`int<class_int>` tab_idx **)** |const|                             |
++-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`           | :ref:`is_tab_hidden<class_TabContainer_method_is_tab_hidden>` **(** :ref:`int<class_int>` tab_idx **)** |const|                                 |
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`set_popup<class_TabContainer_method_set_popup>` **(** :ref:`Node<class_Node>` popup **)**                                                 |
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -75,8 +79,6 @@ Methods
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`set_tab_title<class_TabContainer_method_set_tab_title>` **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` title **)**      |
 +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                              | :ref:`set_tabs_rearrange_group<class_TabContainer_method_set_tabs_rearrange_group>` **(** :ref:`int<class_int>` group_id **)**                  |
-+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Theme Properties
 ----------------
@@ -146,25 +148,6 @@ Emitted when switching to another tab.
 
 Emitted when a tab is selected, even if it is the current tab.
 
-Enumerations
-------------
-
-.. _enum_TabContainer_AlignmentMode:
-
-.. _class_TabContainer_constant_ALIGNMENT_LEFT:
-
-.. _class_TabContainer_constant_ALIGNMENT_CENTER:
-
-.. _class_TabContainer_constant_ALIGNMENT_RIGHT:
-
-enum **AlignmentMode**:
-
-- **ALIGNMENT_LEFT** = **0**
-
-- **ALIGNMENT_CENTER** = **1**
-
-- **ALIGNMENT_RIGHT** = **2**
-
 Property Descriptions
 ---------------------
 
@@ -184,6 +167,22 @@ If ``true``, all tabs are drawn in front of the panel. If ``false``, inactive ta
 
 ----
 
+.. _class_TabContainer_property_clip_tabs:
+
+- :ref:`bool<class_bool>` **clip_tabs**
+
++-----------+----------------------+
+| *Default* | ``true``             |
++-----------+----------------------+
+| *Setter*  | set_clip_tabs(value) |
++-----------+----------------------+
+| *Getter*  | get_clip_tabs()      |
++-----------+----------------------+
+
+If ``true``, tabs overflowing this node's width will be hidden, displaying two navigation buttons instead. Otherwise, this node's minimum size is updated so that all tabs are visible.
+
+----
+
 .. _class_TabContainer_property_current_tab:
 
 - :ref:`int<class_int>` **current_tab**
@@ -218,7 +217,7 @@ If ``true``, tabs can be rearranged with mouse drag.
 
 .. _class_TabContainer_property_tab_alignment:
 
-- :ref:`AlignmentMode<enum_TabContainer_AlignmentMode>` **tab_alignment**
+- :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **tab_alignment**
 
 +-----------+--------------------------+
 | *Default* | ``1``                    |
@@ -228,6 +227,26 @@ If ``true``, tabs can be rearranged with mouse drag.
 | *Getter*  | get_tab_alignment()      |
 +-----------+--------------------------+
 
+Sets the position at which tabs will be placed. See :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` for details.
+
+----
+
+.. _class_TabContainer_property_tabs_rearrange_group:
+
+- :ref:`int<class_int>` **tabs_rearrange_group**
+
++-----------+---------------------------------+
+| *Default* | ``-1``                          |
++-----------+---------------------------------+
+| *Setter*  | set_tabs_rearrange_group(value) |
++-----------+---------------------------------+
+| *Getter*  | get_tabs_rearrange_group()      |
++-----------+---------------------------------+
+
+``TabContainer``\ s with the same rearrange group ID will allow dragging the tabs between them. Enable drag with :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>`.
+
+Setting this to ``-1`` will disable rearranging between ``TabContainer``\ s.
+
 ----
 
 .. _class_TabContainer_property_tabs_visible:
@@ -305,51 +324,51 @@ Returns the number of tabs.
 
 ----
 
-.. _class_TabContainer_method_get_tab_disabled:
+.. _class_TabContainer_method_get_tab_icon:
 
-- :ref:`bool<class_bool>` **get_tab_disabled** **(** :ref:`int<class_int>` tab_idx **)** |const|
+- :ref:`Texture2D<class_Texture2D>` **get_tab_icon** **(** :ref:`int<class_int>` tab_idx **)** |const|
 
-Returns ``true`` if the tab at index ``tab_idx`` is disabled.
+Returns the :ref:`Texture2D<class_Texture2D>` for the tab at index ``tab_idx`` or ``null`` if the tab has no :ref:`Texture2D<class_Texture2D>`.
 
 ----
 
-.. _class_TabContainer_method_get_tab_hidden:
+.. _class_TabContainer_method_get_tab_idx_at_point:
 
-- :ref:`bool<class_bool>` **get_tab_hidden** **(** :ref:`int<class_int>` tab_idx **)** |const|
+- :ref:`int<class_int>` **get_tab_idx_at_point** **(** :ref:`Vector2<class_Vector2>` point **)** |const|
 
-Returns ``true`` if the tab at index ``tab_idx`` is hidden.
+Returns the index of the tab at local coordinates ``point``. Returns ``-1`` if the point is outside the control boundaries or if there's no tab at the queried position.
 
 ----
 
-.. _class_TabContainer_method_get_tab_icon:
+.. _class_TabContainer_method_get_tab_idx_from_control:
 
-- :ref:`Texture2D<class_Texture2D>` **get_tab_icon** **(** :ref:`int<class_int>` tab_idx **)** |const|
+- :ref:`int<class_int>` **get_tab_idx_from_control** **(** :ref:`Control<class_Control>` control **)** |const|
 
-Returns the :ref:`Texture2D<class_Texture2D>` for the tab at index ``tab_idx`` or ``null`` if the tab has no :ref:`Texture2D<class_Texture2D>`.
+Returns the index of the tab tied to the given ``control``. The control must be a child of the ``TabContainer``.
 
 ----
 
-.. _class_TabContainer_method_get_tab_idx_at_point:
+.. _class_TabContainer_method_get_tab_title:
 
-- :ref:`int<class_int>` **get_tab_idx_at_point** **(** :ref:`Vector2<class_Vector2>` point **)** |const|
+- :ref:`String<class_String>` **get_tab_title** **(** :ref:`int<class_int>` tab_idx **)** |const|
 
-Returns the index of the tab at local coordinates ``point``. Returns ``-1`` if the point is outside the control boundaries or if there's no tab at the queried position.
+Returns the title of the tab at index ``tab_idx``. Tab titles default to the name of the indexed child node, but this can be overridden with :ref:`set_tab_title<class_TabContainer_method_set_tab_title>`.
 
 ----
 
-.. _class_TabContainer_method_get_tab_title:
+.. _class_TabContainer_method_is_tab_disabled:
 
-- :ref:`String<class_String>` **get_tab_title** **(** :ref:`int<class_int>` tab_idx **)** |const|
+- :ref:`bool<class_bool>` **is_tab_disabled** **(** :ref:`int<class_int>` tab_idx **)** |const|
 
-Returns the title of the tab at index ``tab_idx``. Tab titles default to the name of the indexed child node, but this can be overridden with :ref:`set_tab_title<class_TabContainer_method_set_tab_title>`.
+Returns ``true`` if the tab at index ``tab_idx`` is disabled.
 
 ----
 
-.. _class_TabContainer_method_get_tabs_rearrange_group:
+.. _class_TabContainer_method_is_tab_hidden:
 
-- :ref:`int<class_int>` **get_tabs_rearrange_group** **(** **)** |const|
+- :ref:`bool<class_bool>` **is_tab_hidden** **(** :ref:`int<class_int>` tab_idx **)** |const|
 
-Returns the ``TabContainer`` rearrange group id.
+Returns ``true`` if the tab at index ``tab_idx`` is hidden.
 
 ----
 
@@ -357,7 +376,7 @@ Returns the ``TabContainer`` rearrange group id.
 
 - void **set_popup** **(** :ref:`Node<class_Node>` popup **)**
 
-If set on a :ref:`Popup<class_Popup>` node instance, a popup menu icon appears in the top-right corner of the ``TabContainer``. Clicking it will expand the :ref:`Popup<class_Popup>` node.
+If set on a :ref:`Popup<class_Popup>` node instance, a popup menu icon appears in the top-right corner of the ``TabContainer`` (setting it to ``null`` will make it go away). Clicking it will expand the :ref:`Popup<class_Popup>` node.
 
 ----
 
@@ -389,15 +408,7 @@ Sets an icon for the tab at index ``tab_idx``.
 
 - void **set_tab_title** **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` title **)**
 
-Sets a title for the tab at index ``tab_idx``. Tab titles default to the name of the indexed child node.
-
-----
-
-.. _class_TabContainer_method_set_tabs_rearrange_group:
-
-- void **set_tabs_rearrange_group** **(** :ref:`int<class_int>` group_id **)**
-
-Defines rearrange group id, choose for each ``TabContainer`` the same value to enable tab drag between ``TabContainer``. Enable drag with :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>`.
+Sets a custom title for the tab at index ``tab_idx`` (tab titles default to the name of the indexed child node). Set it back to the child's name to make the tab default to it again.
 
 Theme Property Descriptions
 ---------------------------
@@ -482,7 +493,9 @@ The size of the tab text outline.
 | *Default* | ``8`` |
 +-----------+-------+
 
-The space at the left and right edges of the tab bar.
+The space at the left or right edges of the tab bar, accordingly with the current :ref:`tab_alignment<class_TabContainer_property_tab_alignment>`.
+
+The margin is ignored with ``ALIGNMENT_RIGHT`` if the tabs are clipped (see :ref:`clip_tabs<class_TabContainer_property_clip_tabs>`) or a popup has been set (see :ref:`set_popup<class_TabContainer_method_set_popup>`). The margin is always ignored with ``ALIGNMENT_CENTER``.
 
 ----
 

+ 42 - 0
classes/class_textserver.rst

@@ -46,6 +46,8 @@ Methods
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                       | :ref:`font_get_descent<class_TextServer_method_font_get_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |const|                                                                                                                                                                                                                       |
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                       | :ref:`font_get_embolden<class_TextServer_method_font_get_embolden>` **(** :ref:`RID<class_RID>` font_rid **)** |const|                                                                                                                                                                                                                                                 |
++-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                           | :ref:`font_get_fixed_size<class_TextServer_method_font_get_fixed_size>` **(** :ref:`RID<class_RID>` font_rid **)** |const|                                                                                                                                                                                                                                             |
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                       | :ref:`font_get_global_oversampling<class_TextServer_method_font_get_global_oversampling>` **(** **)** |const|                                                                                                                                                                                                                                                          |
@@ -110,6 +112,8 @@ Methods
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PackedInt32Array<class_PackedInt32Array>`                 | :ref:`font_get_texture_offsets<class_TextServer_method_font_get_texture_offsets>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const|                                                                                                                                                        |
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_Transform2D>`                           | :ref:`font_get_transform<class_TextServer_method_font_get_transform>` **(** :ref:`RID<class_RID>` font_rid **)** |const|                                                                                                                                                                                                                                               |
++-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                       | :ref:`font_get_underline_position<class_TextServer_method_font_get_underline_position>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |const|                                                                                                                                                                                                 |
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                       | :ref:`font_get_underline_thickness<class_TextServer_method_font_get_underline_thickness>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |const|                                                                                                                                                                                               |
@@ -152,6 +156,8 @@ Methods
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`font_set_descent<class_TextServer_method_font_set_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)**                                                                                                                                                                                            |
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                            | :ref:`font_set_embolden<class_TextServer_method_font_set_embolden>` **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` strength **)**                                                                                                                                                                                                                     |
++-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`font_set_fixed_size<class_TextServer_method_font_set_fixed_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` fixed_size **)**                                                                                                                                                                                                                   |
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`font_set_force_autohinter<class_TextServer_method_font_set_force_autohinter>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` force_autohinter **)**                                                                                                                                                                                               |
@@ -202,6 +208,8 @@ Methods
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`font_set_texture_offsets<class_TextServer_method_font_set_texture_offsets>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`PackedInt32Array<class_PackedInt32Array>` offset **)**                                                                                                        |
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                            | :ref:`font_set_transform<class_TextServer_method_font_set_transform>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Transform2D<class_Transform2D>` transform **)**                                                                                                                                                                                                      |
++-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`font_set_underline_position<class_TextServer_method_font_set_underline_position>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)**                                                                                                                                                           |
 +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`font_set_underline_thickness<class_TextServer_method_font_set_underline_thickness>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)**                                                                                                                                                        |
@@ -781,6 +789,14 @@ Returns the font descent (number of pixels below the baseline).
 
 ----
 
+.. _class_TextServer_method_font_get_embolden:
+
+- :ref:`float<class_float>` **font_get_embolden** **(** :ref:`RID<class_RID>` font_rid **)** |const|
+
+Returns font embolden strength.
+
+----
+
 .. _class_TextServer_method_font_get_fixed_size:
 
 - :ref:`int<class_int>` **font_get_fixed_size** **(** :ref:`RID<class_RID>` font_rid **)** |const|
@@ -1045,6 +1061,14 @@ Returns array containing the first free pixel in the each column of texture. Sho
 
 ----
 
+.. _class_TextServer_method_font_get_transform:
+
+- :ref:`Transform2D<class_Transform2D>` **font_get_transform** **(** :ref:`RID<class_RID>` font_rid **)** |const|
+
+Returns 2D transform applied to the font outlines.
+
+----
+
 .. _class_TextServer_method_font_get_underline_position:
 
 - :ref:`float<class_float>` **font_get_underline_position** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |const|
@@ -1217,6 +1241,14 @@ Sets the font descent (number of pixels below the baseline).
 
 ----
 
+.. _class_TextServer_method_font_set_embolden:
+
+- void **font_set_embolden** **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` strength **)**
+
+Sets font embolden strength. If ``strength`` is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
+
+----
+
 .. _class_TextServer_method_font_set_fixed_size:
 
 - void **font_set_fixed_size** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` fixed_size **)**
@@ -1423,6 +1455,16 @@ Sets array containing the first free pixel in the each column of texture. Should
 
 ----
 
+.. _class_TextServer_method_font_set_transform:
+
+- void **font_set_transform** **(** :ref:`RID<class_RID>` font_rid, :ref:`Transform2D<class_Transform2D>` transform **)**
+
+Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
+
+For example, to simulate italic typeface by slanting, apply the following transform ``Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)``.
+
+----
+
 .. _class_TextServer_method_font_set_underline_position:
 
 - void **font_set_underline_position** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)**

+ 42 - 0
classes/class_textserverextension.rst

@@ -44,6 +44,8 @@ Methods
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                       | :ref:`_font_get_descent<class_TextServerExtension_method__font_get_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|                                                                                                                                                                                                       |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                       | :ref:`_font_get_embolden<class_TextServerExtension_method__font_get_embolden>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|                                                                                                                                                                                                                                 |
++-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                           | :ref:`_font_get_fixed_size<class_TextServerExtension_method__font_get_fixed_size>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|                                                                                                                                                                                                                             |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                       | :ref:`_font_get_global_oversampling<class_TextServerExtension_method__font_get_global_oversampling>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                          |
@@ -108,6 +110,8 @@ Methods
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PackedInt32Array<class_PackedInt32Array>`                 | :ref:`_font_get_texture_offsets<class_TextServerExtension_method__font_get_texture_offsets>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |virtual| |const|                                                                                                                                        |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_Transform2D>`                           | :ref:`_font_get_transform<class_TextServerExtension_method__font_get_transform>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|                                                                                                                                                                                                                               |
++-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                       | :ref:`_font_get_underline_position<class_TextServerExtension_method__font_get_underline_position>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|                                                                                                                                                                                 |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                       | :ref:`_font_get_underline_thickness<class_TextServerExtension_method__font_get_underline_thickness>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|                                                                                                                                                                               |
@@ -152,6 +156,8 @@ Methods
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`_font_set_descent<class_TextServerExtension_method__font_set_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)** |virtual|                                                                                                                                                                            |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                            | :ref:`_font_set_embolden<class_TextServerExtension_method__font_set_embolden>` **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` strength **)** |virtual|                                                                                                                                                                                                     |
++-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`_font_set_fixed_size<class_TextServerExtension_method__font_set_fixed_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` fixed_size **)** |virtual|                                                                                                                                                                                                   |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`_font_set_force_autohinter<class_TextServerExtension_method__font_set_force_autohinter>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` force_autohinter **)** |virtual|                                                                                                                                                                               |
@@ -202,6 +208,8 @@ Methods
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`_font_set_texture_offsets<class_TextServerExtension_method__font_set_texture_offsets>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`PackedInt32Array<class_PackedInt32Array>` offset **)** |virtual|                                                                                        |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                            | :ref:`_font_set_transform<class_TextServerExtension_method__font_set_transform>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual|                                                                                                                                                                                      |
++-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`_font_set_underline_position<class_TextServerExtension_method__font_set_underline_position>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)** |virtual|                                                                                                                                           |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                            | :ref:`_font_set_underline_thickness<class_TextServerExtension_method__font_set_underline_thickness>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)** |virtual|                                                                                                                                        |
@@ -466,6 +474,14 @@ Returns the font descent (number of pixels below the baseline).
 
 ----
 
+.. _class_TextServerExtension_method__font_get_embolden:
+
+- :ref:`float<class_float>` **_font_get_embolden** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
+
+Returns font embolden strength.
+
+----
+
 .. _class_TextServerExtension_method__font_get_fixed_size:
 
 - :ref:`int<class_int>` **_font_get_fixed_size** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
@@ -730,6 +746,14 @@ Returns array containing the first free pixel in the each column of texture. Sho
 
 ----
 
+.. _class_TextServerExtension_method__font_get_transform:
+
+- :ref:`Transform2D<class_Transform2D>` **_font_get_transform** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
+
+Retruns 2D transform applied to the font outlines.
+
+----
+
 .. _class_TextServerExtension_method__font_get_underline_position:
 
 - :ref:`float<class_float>` **_font_get_underline_position** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|
@@ -910,6 +934,14 @@ Sets bitmap font fixed size. If set to value greater than zero, same cache entry
 
 ----
 
+.. _class_TextServerExtension_method__font_set_embolden:
+
+- void **_font_set_embolden** **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` strength **)** |virtual|
+
+Sets font embolden strength. If ``strength`` is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
+
+----
+
 .. _class_TextServerExtension_method__font_set_fixed_size:
 
 - void **_font_set_fixed_size** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` fixed_size **)** |virtual|
@@ -1114,6 +1146,16 @@ Sets array containing the first free pixel in the each column of texture. Should
 
 ----
 
+.. _class_TextServerExtension_method__font_set_transform:
+
+- void **_font_set_transform** **(** :ref:`RID<class_RID>` font_rid, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual|
+
+Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
+
+For example, to simulate italic typeface by slanting, apply the following transform ``Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)``.
+
+----
+
 .. _class_TextServerExtension_method__font_set_underline_position:
 
 - void **_font_set_underline_position** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)** |virtual|

+ 57 - 1
classes/class_texture2d.rst

@@ -11,7 +11,7 @@ Texture2D
 
 **Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`AnimatedTexture<class_AnimatedTexture>`, :ref:`AtlasTexture<class_AtlasTexture>`, :ref:`CameraTexture<class_CameraTexture>`, :ref:`CanvasTexture<class_CanvasTexture>`, :ref:`CurveTexture<class_CurveTexture>`, :ref:`CurveXYZTexture<class_CurveXYZTexture>`, :ref:`GradientTexture1D<class_GradientTexture1D>`, :ref:`GradientTexture2D<class_GradientTexture2D>`, :ref:`ImageTexture<class_ImageTexture>`, :ref:`MeshTexture<class_MeshTexture>`, :ref:`NoiseTexture<class_NoiseTexture>`, :ref:`ProxyTexture<class_ProxyTexture>`, :ref:`StreamTexture2D<class_StreamTexture2D>`, :ref:`ViewportTexture<class_ViewportTexture>`
+**Inherited By:** :ref:`AnimatedTexture<class_AnimatedTexture>`, :ref:`AtlasTexture<class_AtlasTexture>`, :ref:`CameraTexture<class_CameraTexture>`, :ref:`CanvasTexture<class_CanvasTexture>`, :ref:`CompressedTexture2D<class_CompressedTexture2D>`, :ref:`CurveTexture<class_CurveTexture>`, :ref:`CurveXYZTexture<class_CurveXYZTexture>`, :ref:`GradientTexture1D<class_GradientTexture1D>`, :ref:`GradientTexture2D<class_GradientTexture2D>`, :ref:`ImageTexture<class_ImageTexture>`, :ref:`MeshTexture<class_MeshTexture>`, :ref:`NoiseTexture<class_NoiseTexture>`, :ref:`ProxyTexture<class_ProxyTexture>`, :ref:`ViewportTexture<class_ViewportTexture>`
 
 Texture for 2D and 3D.
 
@@ -29,6 +29,20 @@ Textures are often created by loading them from a file. See :ref:`@GDScript.load
 Methods
 -------
 
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`_draw<class_Texture2D_method__draw>` **(** :ref:`RID<class_RID>` to_canvas_item, :ref:`Vector2<class_Vector2>` pos, :ref:`Color<class_Color>` modulate, :ref:`bool<class_bool>` transpose **)** |virtual| |const|                                                                                                         |
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`_draw_rect<class_Texture2D_method__draw_rect>` **(** :ref:`RID<class_RID>` to_canvas_item, :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_Color>` modulate, :ref:`bool<class_bool>` transpose **)** |virtual| |const|                                                                    |
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`_draw_rect_region<class_Texture2D_method__draw_rect_region>` **(** :ref:`RID<class_RID>` tp_canvas_item, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate, :ref:`bool<class_bool>` transpose, :ref:`bool<class_bool>` clip_uv **)** |virtual| |const|               |
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`_get_height<class_Texture2D_method__get_height>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                            |
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`         | :ref:`_get_width<class_Texture2D_method__get_width>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                              |
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`_has_alpha<class_Texture2D_method__has_alpha>` **(** **)** |virtual| |const|                                                                                                                                                                                                                                              |
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`_is_pixel_opaque<class_Texture2D_method__is_pixel_opaque>` **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y **)** |virtual| |const|                                                                                                                                                                                 |
 +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                          | :ref:`draw<class_Texture2D_method_draw>` **(** :ref:`RID<class_RID>` canvas_item, :ref:`Vector2<class_Vector2>` position, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`bool<class_bool>` transpose=false **)** |const|                                                                                           |
 +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -50,6 +64,48 @@ Methods
 Method Descriptions
 -------------------
 
+.. _class_Texture2D_method__draw:
+
+- void **_draw** **(** :ref:`RID<class_RID>` to_canvas_item, :ref:`Vector2<class_Vector2>` pos, :ref:`Color<class_Color>` modulate, :ref:`bool<class_bool>` transpose **)** |virtual| |const|
+
+----
+
+.. _class_Texture2D_method__draw_rect:
+
+- void **_draw_rect** **(** :ref:`RID<class_RID>` to_canvas_item, :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_Color>` modulate, :ref:`bool<class_bool>` transpose **)** |virtual| |const|
+
+----
+
+.. _class_Texture2D_method__draw_rect_region:
+
+- void **_draw_rect_region** **(** :ref:`RID<class_RID>` tp_canvas_item, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate, :ref:`bool<class_bool>` transpose, :ref:`bool<class_bool>` clip_uv **)** |virtual| |const|
+
+----
+
+.. _class_Texture2D_method__get_height:
+
+- :ref:`int<class_int>` **_get_height** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Texture2D_method__get_width:
+
+- :ref:`int<class_int>` **_get_width** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Texture2D_method__has_alpha:
+
+- :ref:`bool<class_bool>` **_has_alpha** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Texture2D_method__is_pixel_opaque:
+
+- :ref:`bool<class_bool>` **_is_pixel_opaque** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y **)** |virtual| |const|
+
+----
+
 .. _class_Texture2D_method_draw:
 
 - void **draw** **(** :ref:`RID<class_RID>` canvas_item, :ref:`Vector2<class_Vector2>` position, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), :ref:`bool<class_bool>` transpose=false **)** |const|

+ 62 - 14
classes/class_texture3d.rst

@@ -11,30 +11,78 @@ Texture3D
 
 **Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`ImageTexture3D<class_ImageTexture3D>`, :ref:`StreamTexture3D<class_StreamTexture3D>`
+**Inherited By:** :ref:`CompressedTexture3D<class_CompressedTexture3D>`, :ref:`ImageTexture3D<class_ImageTexture3D>`
 
 
 
 Methods
 -------
 
-+----------------------------------+----------------------------------------------------------------------------+
-| :ref:`Image[]<class_Image>`      | :ref:`get_data<class_Texture3D_method_get_data>` **(** **)** |const|       |
-+----------------------------------+----------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`get_depth<class_Texture3D_method_get_depth>` **(** **)** |const|     |
-+----------------------------------+----------------------------------------------------------------------------+
-| :ref:`Format<enum_Image_Format>` | :ref:`get_format<class_Texture3D_method_get_format>` **(** **)** |const|   |
-+----------------------------------+----------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`get_height<class_Texture3D_method_get_height>` **(** **)** |const|   |
-+----------------------------------+----------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`get_width<class_Texture3D_method_get_width>` **(** **)** |const|     |
-+----------------------------------+----------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`has_mipmaps<class_Texture3D_method_has_mipmaps>` **(** **)** |const| |
-+----------------------------------+----------------------------------------------------------------------------+
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`Image[]<class_Image>`      | :ref:`_get_data<class_Texture3D_method__get_data>` **(** **)** |virtual| |const|       |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`_get_depth<class_Texture3D_method__get_depth>` **(** **)** |virtual| |const|     |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`Format<enum_Image_Format>` | :ref:`_get_format<class_Texture3D_method__get_format>` **(** **)** |virtual| |const|   |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`_get_height<class_Texture3D_method__get_height>` **(** **)** |virtual| |const|   |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`_get_width<class_Texture3D_method__get_width>` **(** **)** |virtual| |const|     |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`_has_mipmaps<class_Texture3D_method__has_mipmaps>` **(** **)** |virtual| |const| |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`Image[]<class_Image>`      | :ref:`get_data<class_Texture3D_method_get_data>` **(** **)** |const|                   |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_depth<class_Texture3D_method_get_depth>` **(** **)** |const|                 |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`Format<enum_Image_Format>` | :ref:`get_format<class_Texture3D_method_get_format>` **(** **)** |const|               |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_height<class_Texture3D_method_get_height>` **(** **)** |const|               |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_width<class_Texture3D_method_get_width>` **(** **)** |const|                 |
++----------------------------------+----------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_mipmaps<class_Texture3D_method_has_mipmaps>` **(** **)** |const|             |
++----------------------------------+----------------------------------------------------------------------------------------+
 
 Method Descriptions
 -------------------
 
+.. _class_Texture3D_method__get_data:
+
+- :ref:`Image[]<class_Image>` **_get_data** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Texture3D_method__get_depth:
+
+- :ref:`int<class_int>` **_get_depth** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Texture3D_method__get_format:
+
+- :ref:`Format<enum_Image_Format>` **_get_format** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Texture3D_method__get_height:
+
+- :ref:`int<class_int>` **_get_height** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Texture3D_method__get_width:
+
+- :ref:`int<class_int>` **_get_width** **(** **)** |virtual| |const|
+
+----
+
+.. _class_Texture3D_method__has_mipmaps:
+
+- :ref:`bool<class_bool>` **_has_mipmaps** **(** **)** |virtual| |const|
+
+----
+
 .. _class_Texture3D_method_get_data:
 
 - :ref:`Image[]<class_Image>` **get_data** **(** **)** |const|

+ 72 - 16
classes/class_texturelayered.rst

@@ -11,7 +11,7 @@ TextureLayered
 
 **Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`ImageTextureLayered<class_ImageTextureLayered>`, :ref:`StreamTextureLayered<class_StreamTextureLayered>`
+**Inherited By:** :ref:`CompressedTextureLayered<class_CompressedTextureLayered>`, :ref:`ImageTextureLayered<class_ImageTextureLayered>`
 
 Base class for 3D texture types.
 
@@ -23,21 +23,35 @@ Base class for :ref:`Texture2DArray<class_Texture2DArray>`, :ref:`Cubemap<class_
 Methods
 -------
 
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`Format<enum_Image_Format>`                    | :ref:`get_format<class_TextureLayered_method_get_format>` **(** **)** |const|                                     |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                               | :ref:`get_height<class_TextureLayered_method_get_height>` **(** **)** |const|                                     |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`Image<class_Image>`                           | :ref:`get_layer_data<class_TextureLayered_method_get_layer_data>` **(** :ref:`int<class_int>` layer **)** |const| |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`LayeredType<enum_TextureLayered_LayeredType>` | :ref:`get_layered_type<class_TextureLayered_method_get_layered_type>` **(** **)** |const|                         |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                               | :ref:`get_layers<class_TextureLayered_method_get_layers>` **(** **)** |const|                                     |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                               | :ref:`get_width<class_TextureLayered_method_get_width>` **(** **)** |const|                                       |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                             | :ref:`has_mipmaps<class_TextureLayered_method_has_mipmaps>` **(** **)** |const|                                   |
-+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Format<enum_Image_Format>`                    | :ref:`_get_format<class_TextureLayered_method__get_format>` **(** **)** |virtual| |const|                                           |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_get_height<class_TextureLayered_method__get_height>` **(** **)** |virtual| |const|                                           |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Image<class_Image>`                           | :ref:`_get_layer_data<class_TextureLayered_method__get_layer_data>` **(** :ref:`int<class_int>` layer_index **)** |virtual| |const| |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_get_layered_type<class_TextureLayered_method__get_layered_type>` **(** **)** |virtual| |const|                               |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_get_layers<class_TextureLayered_method__get_layers>` **(** **)** |virtual| |const|                                           |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`_get_width<class_TextureLayered_method__get_width>` **(** **)** |virtual| |const|                                             |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`_has_mipmaps<class_TextureLayered_method__has_mipmaps>` **(** **)** |virtual| |const|                                         |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Format<enum_Image_Format>`                    | :ref:`get_format<class_TextureLayered_method_get_format>` **(** **)** |const|                                                       |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`get_height<class_TextureLayered_method_get_height>` **(** **)** |const|                                                       |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Image<class_Image>`                           | :ref:`get_layer_data<class_TextureLayered_method_get_layer_data>` **(** :ref:`int<class_int>` layer **)** |const|                   |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`LayeredType<enum_TextureLayered_LayeredType>` | :ref:`get_layered_type<class_TextureLayered_method_get_layered_type>` **(** **)** |const|                                           |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`get_layers<class_TextureLayered_method_get_layers>` **(** **)** |const|                                                       |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`get_width<class_TextureLayered_method_get_width>` **(** **)** |const|                                                         |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`has_mipmaps<class_TextureLayered_method_has_mipmaps>` **(** **)** |const|                                                     |
++-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -61,6 +75,48 @@ enum **LayeredType**:
 Method Descriptions
 -------------------
 
+.. _class_TextureLayered_method__get_format:
+
+- :ref:`Format<enum_Image_Format>` **_get_format** **(** **)** |virtual| |const|
+
+----
+
+.. _class_TextureLayered_method__get_height:
+
+- :ref:`int<class_int>` **_get_height** **(** **)** |virtual| |const|
+
+----
+
+.. _class_TextureLayered_method__get_layer_data:
+
+- :ref:`Image<class_Image>` **_get_layer_data** **(** :ref:`int<class_int>` layer_index **)** |virtual| |const|
+
+----
+
+.. _class_TextureLayered_method__get_layered_type:
+
+- :ref:`int<class_int>` **_get_layered_type** **(** **)** |virtual| |const|
+
+----
+
+.. _class_TextureLayered_method__get_layers:
+
+- :ref:`int<class_int>` **_get_layers** **(** **)** |virtual| |const|
+
+----
+
+.. _class_TextureLayered_method__get_width:
+
+- :ref:`int<class_int>` **_get_width** **(** **)** |virtual| |const|
+
+----
+
+.. _class_TextureLayered_method__has_mipmaps:
+
+- :ref:`bool<class_bool>` **_has_mipmaps** **(** **)** |virtual| |const|
+
+----
+
 .. _class_TextureLayered_method_get_format:
 
 - :ref:`Format<enum_Image_Format>` **get_format** **(** **)** |const|

+ 12 - 2
classes/class_tilemap.rst

@@ -64,6 +64,8 @@ Methods
 +---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                        | :ref:`clear_layer<class_TileMap_method_clear_layer>` **(** :ref:`int<class_int>` layer **)**                                                                                                                                                                                 |
 +---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`erase_cell<class_TileMap_method_erase_cell>` **(** :ref:`int<class_int>` layer, :ref:`Vector2i<class_Vector2i>` coords **)**                                                                                                                                           |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                        | :ref:`fix_invalid_tiles<class_TileMap_method_fix_invalid_tiles>` **(** **)**                                                                                                                                                                                                 |
 +---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                        | :ref:`force_update<class_TileMap_method_force_update>` **(** :ref:`int<class_int>` layer=-1 **)**                                                                                                                                                                            |
@@ -108,7 +110,7 @@ Methods
 +---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                        | :ref:`remove_layer<class_TileMap_method_remove_layer>` **(** :ref:`int<class_int>` layer **)**                                                                                                                                                                               |
 +---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`set_cell<class_TileMap_method_set_cell>` **(** :ref:`int<class_int>` layer, :ref:`Vector2i<class_Vector2i>` coords, :ref:`int<class_int>` source_id=-1, :ref:`Vector2i<class_Vector2i>` atlas_coords=Vector2i(-1, -1), :ref:`int<class_int>` alternative_tile=-1 **)** |
+| void                                        | :ref:`set_cell<class_TileMap_method_set_cell>` **(** :ref:`int<class_int>` layer, :ref:`Vector2i<class_Vector2i>` coords, :ref:`int<class_int>` source_id=-1, :ref:`Vector2i<class_Vector2i>` atlas_coords=Vector2i(-1, -1), :ref:`int<class_int>` alternative_tile=0 **)**  |
 +---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                        | :ref:`set_cells_from_surrounding_terrains<class_TileMap_method_set_cells_from_surrounding_terrains>` **(** :ref:`int<class_int>` layer, :ref:`Vector2i[]<class_Vector2i>` cells, :ref:`int<class_int>` terrain_set, :ref:`bool<class_bool>` ignore_empty_terrains=true **)** |
 +---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -289,6 +291,14 @@ Clears all cells on the given layer.
 
 ----
 
+.. _class_TileMap_method_erase_cell:
+
+- void **erase_cell** **(** :ref:`int<class_int>` layer, :ref:`Vector2i<class_Vector2i>` coords **)**
+
+Erases the cell on layer ``layer`` at coordinates ``coords``.
+
+----
+
 .. _class_TileMap_method_fix_invalid_tiles:
 
 - void **fix_invalid_tiles** **(** **)**
@@ -471,7 +481,7 @@ Removes the layer at index ``layer``.
 
 .. _class_TileMap_method_set_cell:
 
-- void **set_cell** **(** :ref:`int<class_int>` layer, :ref:`Vector2i<class_Vector2i>` coords, :ref:`int<class_int>` source_id=-1, :ref:`Vector2i<class_Vector2i>` atlas_coords=Vector2i(-1, -1), :ref:`int<class_int>` alternative_tile=-1 **)**
+- void **set_cell** **(** :ref:`int<class_int>` layer, :ref:`Vector2i<class_Vector2i>` coords, :ref:`int<class_int>` source_id=-1, :ref:`Vector2i<class_Vector2i>` atlas_coords=Vector2i(-1, -1), :ref:`int<class_int>` alternative_tile=0 **)**
 
 Sets the tile indentifiers for the cell on layer ``layer`` at coordinates ``coords``. Each tile of the :ref:`TileSet<class_TileSet>` is identified using three parts:
 

+ 10 - 0
classes/class_time.rst

@@ -50,6 +50,8 @@ Methods
 +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`         | :ref:`get_datetime_string_from_unix_time<class_Time_method_get_datetime_string_from_unix_time>` **(** :ref:`int<class_int>` unix_time_val, :ref:`bool<class_bool>` use_space=false **)** |const| |
 +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`         | :ref:`get_offset_string_from_offset_minutes<class_Time_method_get_offset_string_from_offset_minutes>` **(** :ref:`int<class_int>` offset_minutes **)** |const|                                   |
++-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`               | :ref:`get_ticks_msec<class_Time_method_get_ticks_msec>` **(** **)** |const|                                                                                                                      |
 +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`               | :ref:`get_ticks_usec<class_Time_method_get_ticks_usec>` **(** **)** |const|                                                                                                                      |
@@ -263,6 +265,14 @@ If ``use_space`` is true, use a space instead of the letter T in the middle.
 
 ----
 
+.. _class_Time_method_get_offset_string_from_offset_minutes:
+
+- :ref:`String<class_String>` **get_offset_string_from_offset_minutes** **(** :ref:`int<class_int>` offset_minutes **)** |const|
+
+Converts the given timezone offset in minutes to a timezone offset string. For example, -480 returns "-08:00", 345 returns "+05:45", and 0 returns "+00:00".
+
+----
+
 .. _class_Time_method_get_ticks_msec:
 
 - :ref:`int<class_int>` **get_ticks_msec** **(** **)** |const|

+ 1 - 1
classes/class_timer.rst

@@ -189,7 +189,7 @@ Returns ``true`` if the timer is stopped.
 
 - void **start** **(** :ref:`float<class_float>` time_sec=-1 **)**
 
-Starts the timer. Sets ``wait_time`` to ``time_sec`` if ``time_sec > 0``. This also resets the remaining time to ``wait_time``.
+Starts the timer. Sets :ref:`wait_time<class_Timer_property_wait_time>` to ``time_sec`` if ``time_sec > 0``. This also resets the remaining time to :ref:`wait_time<class_Timer_property_wait_time>`.
 
 \ **Note:** This method will not resume a paused timer. See :ref:`paused<class_Timer_property_paused>`.
 

+ 25 - 25
classes/class_tree.rst

@@ -54,31 +54,31 @@ To iterate over all the :ref:`TreeItem<class_TreeItem>` objects in a ``Tree`` ob
 Properties
 ----------
 
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`allow_reselect<class_Tree_property_allow_reselect>`                       | ``false``                                                                     |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`allow_rmb_select<class_Tree_property_allow_rmb_select>`                   | ``false``                                                                     |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`column_titles_visible<class_Tree_property_column_titles_visible>`         | ``false``                                                                     |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                    | :ref:`columns<class_Tree_property_columns>`                                     | ``1``                                                                         |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                    | :ref:`drop_mode_flags<class_Tree_property_drop_mode_flags>`                     | ``0``                                                                         |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode                                                                      | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`)           |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`hide_folding<class_Tree_property_hide_folding>`                           | ``false``                                                                     |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`hide_root<class_Tree_property_hide_root>`                                 | ``false``                                                                     |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | rect_clip_content                                                               | ``true`` (overrides :ref:`Control<class_Control_property_rect_clip_content>`) |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`scroll_horizontal_enabled<class_Tree_property_scroll_horizontal_enabled>` | ``true``                                                                      |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`scroll_vertical_enabled<class_Tree_property_scroll_vertical_enabled>`     | ``true``                                                                      |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`SelectMode<enum_Tree_SelectMode>`  | :ref:`select_mode<class_Tree_property_select_mode>`                             | ``0``                                                                         |
-+------------------------------------------+---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`allow_reselect<class_Tree_property_allow_reselect>`                       | ``false``                                                                 |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`allow_rmb_select<class_Tree_property_allow_rmb_select>`                   | ``false``                                                                 |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | clip_contents                                                                   | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`column_titles_visible<class_Tree_property_column_titles_visible>`         | ``false``                                                                 |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                    | :ref:`columns<class_Tree_property_columns>`                                     | ``1``                                                                     |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>`                    | :ref:`drop_mode_flags<class_Tree_property_drop_mode_flags>`                     | ``0``                                                                     |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode                                                                      | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`)       |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`hide_folding<class_Tree_property_hide_folding>`                           | ``false``                                                                 |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`hide_root<class_Tree_property_hide_root>`                                 | ``false``                                                                 |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`scroll_horizontal_enabled<class_Tree_property_scroll_horizontal_enabled>` | ``true``                                                                  |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`scroll_vertical_enabled<class_Tree_property_scroll_vertical_enabled>`     | ``true``                                                                  |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
+| :ref:`SelectMode<enum_Tree_SelectMode>`  | :ref:`select_mode<class_Tree_property_select_mode>`                             | ``0``                                                                     |
++------------------------------------------+---------------------------------------------------------------------------------+---------------------------------------------------------------------------+
 
 Methods
 -------

+ 0 - 2
classes/class_variant.rst

@@ -45,8 +45,6 @@ Godot tracks all scripting API variables within Variants. Without even realizing
 
 - C# is statically typed, but uses the Mono ``object`` type in place of Godot's Variant class when it needs to represent a dynamic value. ``object`` is the Mono runtime's equivalent of the same concept.
 
-- The statically-typed language NativeScript C++ does not define a built-in Variant-like class. Godot's GDNative bindings provide their own godot::Variant class for users; Any point at which the C++ code starts interacting with the Godot runtime is a place where you might have to start wrapping data inside Variant objects.
-
 The global :ref:`@GlobalScope.typeof<class_@GlobalScope_method_typeof>` function returns the enumerated value of the Variant type stored in the current variable (see :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>`).
 
 

+ 1 - 1
classes/class_videostream.rst

@@ -11,7 +11,7 @@ VideoStream
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`VideoStreamGDNative<class_VideoStreamGDNative>`, :ref:`VideoStreamTheora<class_VideoStreamTheora>`
+**Inherited By:** :ref:`VideoStreamTheora<class_VideoStreamTheora>`
 
 Base resource for video streams.
 

+ 0 - 54
classes/class_videostreamgdnative.rst

@@ -1,54 +0,0 @@
-:github_url: hide
-
-.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the VideoStreamGDNative.xml source instead.
-.. The source is found in doc/classes or modules/<name>/doc_classes.
-
-.. _class_VideoStreamGDNative:
-
-VideoStreamGDNative
-===================
-
-**Inherits:** :ref:`VideoStream<class_VideoStream>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
-
-:ref:`VideoStream<class_VideoStream>` resource for for video formats implemented via GDNative.
-
-Description
------------
-
-:ref:`VideoStream<class_VideoStream>` resource for for video formats implemented via GDNative.
-
-It can be used via `godot-videodecoder <https://github.com/KidRigger/godot-videodecoder>`__ which uses the `FFmpeg <https://ffmpeg.org>`__ library.
-
-Methods
--------
-
-+-----------------------------+---------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>` | :ref:`get_file<class_VideoStreamGDNative_method_get_file>` **(** **)**                                  |
-+-----------------------------+---------------------------------------------------------------------------------------------------------+
-| void                        | :ref:`set_file<class_VideoStreamGDNative_method_set_file>` **(** :ref:`String<class_String>` file **)** |
-+-----------------------------+---------------------------------------------------------------------------------------------------------+
-
-Method Descriptions
--------------------
-
-.. _class_VideoStreamGDNative_method_get_file:
-
-- :ref:`String<class_String>` **get_file** **(** **)**
-
-Returns the video file handled by this ``VideoStreamGDNative``.
-
-----
-
-.. _class_VideoStreamGDNative_method_set_file:
-
-- void **set_file** **(** :ref:`String<class_String>` file **)**
-
-Sets the video file that this ``VideoStreamGDNative`` resource handles. The supported extensions depend on the GDNative plugins used to expose video formats.
-
-.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
-.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
-.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
-.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
-.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
-.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 2 - 2
classes/class_videostreamplayer.rst

@@ -18,7 +18,7 @@ Description
 
 Control node for playing video streams using :ref:`VideoStream<class_VideoStream>` resources.
 
-Supported video formats are `Ogg Theora <https://www.theora.org/>`__ (``.ogv``, :ref:`VideoStreamTheora<class_VideoStreamTheora>`) and any format exposed via a GDNative plugin using :ref:`VideoStreamGDNative<class_VideoStreamGDNative>`.
+Supported video formats are `Ogg Theora <https://www.theora.org/>`__ (``.ogv``, :ref:`VideoStreamTheora<class_VideoStreamTheora>`) and any format exposed via a GDExtension plugin.
 
 \ **Note:** Due to a bug, VideoStreamPlayer does not support localization remapping yet.
 
@@ -198,7 +198,7 @@ The assigned video stream. See description for supported formats.
 
 The current position of the stream, in seconds.
 
-\ **Note:** Changing this value won't have any effect as seeking is not implemented yet, except in video formats implemented by a GDNative add-on.
+\ **Note:** Changing this value won't have any effect as seeking is not implemented yet, except in video formats implemented by a GDExtension add-on.
 
 ----
 

+ 1 - 3
classes/class_viewport.rst

@@ -13,7 +13,7 @@ Viewport
 
 **Inherited By:** :ref:`SubViewport<class_SubViewport>`, :ref:`Window<class_Window>`
 
-Creates a sub-view into the screen.
+Base class for viewports.
 
 Description
 -----------
@@ -22,8 +22,6 @@ A Viewport creates a different view into the screen, or a sub-view inside anothe
 
 Optionally, a viewport can have its own 2D or 3D world, so they don't share what they draw with other viewports.
 
-If a viewport is a child of a :ref:`SubViewportContainer<class_SubViewportContainer>`, it will automatically take up its size, otherwise it must be set manually.
-
 Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it.
 
 Also, viewports can be assigned to different screens in case the devices have multiple screens.

+ 8 - 0
classes/class_visualinstance3d.rst

@@ -30,6 +30,8 @@ Properties
 Methods
 -------
 
++-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AABB<class_AABB>` | :ref:`_get_aabb<class_VisualInstance3D_method__get_aabb>` **(** **)** |virtual| |const|                                                                       |
 +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AABB<class_AABB>` | :ref:`get_aabb<class_VisualInstance3D_method_get_aabb>` **(** **)** |const|                                                                                   |
 +-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -68,6 +70,12 @@ This object will only be visible for :ref:`Camera3D<class_Camera3D>`\ s whose cu
 Method Descriptions
 -------------------
 
+.. _class_VisualInstance3D_method__get_aabb:
+
+- :ref:`AABB<class_AABB>` **_get_aabb** **(** **)** |virtual| |const|
+
+----
+
 .. _class_VisualInstance3D_method_get_aabb:
 
 - :ref:`AABB<class_AABB>` **get_aabb** **(** **)** |const|

+ 72 - 0
classes/class_visualshader.rst

@@ -35,6 +35,8 @@ Methods
 +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`add_node<class_VisualShader_method_add_node>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`VisualShaderNode<class_VisualShaderNode>` node, :ref:`Vector2<class_Vector2>` position, :ref:`int<class_int>` id **)**                                     |
 +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`add_varying<class_VisualShader_method_add_varying>` **(** :ref:`String<class_String>` name, :ref:`VaryingMode<enum_VisualShader_VaryingMode>` mode, :ref:`VaryingType<enum_VisualShader_VaryingType>` type **)**                                               |
++-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                         | :ref:`can_connect_nodes<class_VisualShader_method_can_connect_nodes>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)** |const|   |
 +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Error<enum_@GlobalScope_Error>`           | :ref:`connect_nodes<class_VisualShader_method_connect_nodes>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)**                   |
@@ -53,10 +55,14 @@ Methods
 +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                           | :ref:`get_valid_node_id<class_VisualShader_method_get_valid_node_id>` **(** :ref:`Type<enum_VisualShader_Type>` type **)** |const|                                                                                                                                   |
 +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                         | :ref:`has_varying<class_VisualShader_method_has_varying>` **(** :ref:`String<class_String>` name **)** |const|                                                                                                                                                       |
++-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                         | :ref:`is_node_connection<class_VisualShader_method_is_node_connection>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)** |const| |
 +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`remove_node<class_VisualShader_method_remove_node>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` id **)**                                                                                                                             |
 +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`remove_varying<class_VisualShader_method_remove_varying>` **(** :ref:`String<class_String>` name **)**                                                                                                                                                         |
++-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`replace_node<class_VisualShader_method_replace_node>` **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` id, :ref:`StringName<class_StringName>` new_class **)**                                                                            |
 +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`set_mode<class_VisualShader_method_set_mode>` **(** :ref:`Mode<enum_Shader_Mode>` mode **)**                                                                                                                                                                   |
@@ -115,6 +121,54 @@ enum **Type**:
 
 - **TYPE_MAX** = **10** --- Represents the size of the :ref:`Type<enum_VisualShader_Type>` enum.
 
+----
+
+.. _enum_VisualShader_VaryingMode:
+
+.. _class_VisualShader_constant_VARYING_MODE_VERTEX_TO_FRAG_LIGHT:
+
+.. _class_VisualShader_constant_VARYING_MODE_FRAG_TO_LIGHT:
+
+.. _class_VisualShader_constant_VARYING_MODE_MAX:
+
+enum **VaryingMode**:
+
+- **VARYING_MODE_VERTEX_TO_FRAG_LIGHT** = **0**
+
+- **VARYING_MODE_FRAG_TO_LIGHT** = **1**
+
+- **VARYING_MODE_MAX** = **2**
+
+----
+
+.. _enum_VisualShader_VaryingType:
+
+.. _class_VisualShader_constant_VARYING_TYPE_FLOAT:
+
+.. _class_VisualShader_constant_VARYING_TYPE_VECTOR_2D:
+
+.. _class_VisualShader_constant_VARYING_TYPE_VECTOR_3D:
+
+.. _class_VisualShader_constant_VARYING_TYPE_COLOR:
+
+.. _class_VisualShader_constant_VARYING_TYPE_TRANSFORM:
+
+.. _class_VisualShader_constant_VARYING_TYPE_MAX:
+
+enum **VaryingType**:
+
+- **VARYING_TYPE_FLOAT** = **0**
+
+- **VARYING_TYPE_VECTOR_2D** = **1**
+
+- **VARYING_TYPE_VECTOR_3D** = **2**
+
+- **VARYING_TYPE_COLOR** = **3**
+
+- **VARYING_TYPE_TRANSFORM** = **4**
+
+- **VARYING_TYPE_MAX** = **5**
+
 Constants
 ---------
 
@@ -172,6 +226,12 @@ Adds the specified node to the shader.
 
 ----
 
+.. _class_VisualShader_method_add_varying:
+
+- void **add_varying** **(** :ref:`String<class_String>` name, :ref:`VaryingMode<enum_VisualShader_VaryingMode>` mode, :ref:`VaryingType<enum_VisualShader_VaryingType>` type **)**
+
+----
+
 .. _class_VisualShader_method_can_connect_nodes:
 
 - :ref:`bool<class_bool>` **can_connect_nodes** **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)** |const|
@@ -242,6 +302,12 @@ Returns the position of the specified node within the shader graph.
 
 ----
 
+.. _class_VisualShader_method_has_varying:
+
+- :ref:`bool<class_bool>` **has_varying** **(** :ref:`String<class_String>` name **)** |const|
+
+----
+
 .. _class_VisualShader_method_is_node_connection:
 
 - :ref:`bool<class_bool>` **is_node_connection** **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` from_node, :ref:`int<class_int>` from_port, :ref:`int<class_int>` to_node, :ref:`int<class_int>` to_port **)** |const|
@@ -258,6 +324,12 @@ Removes the specified node from the shader.
 
 ----
 
+.. _class_VisualShader_method_remove_varying:
+
+- void **remove_varying** **(** :ref:`String<class_String>` name **)**
+
+----
+
 .. _class_VisualShader_method_replace_node:
 
 - void **replace_node** **(** :ref:`Type<enum_VisualShader_Type>` type, :ref:`int<class_int>` id, :ref:`StringName<class_StringName>` new_class **)**

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
classes/class_visualshadernode.rst


+ 29 - 1
classes/class_visualshadernodecustom.rst

@@ -41,6 +41,8 @@ Methods
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>` | :ref:`_get_description<class_VisualShaderNodeCustom_method__get_description>` **(** **)** |virtual| |const|                                                                                                                                                     |
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_func_code<class_VisualShaderNodeCustom_method__get_func_code>` **(** :ref:`Mode<enum_Shader_Mode>` mode, :ref:`Type<enum_VisualShader_Type>` type **)** |virtual| |const|                                                                            |
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>` | :ref:`_get_global_code<class_VisualShaderNodeCustom_method__get_global_code>` **(** :ref:`Mode<enum_Shader_Mode>` mode **)** |virtual| |const|                                                                                                                  |
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`       | :ref:`_get_input_port_count<class_VisualShaderNodeCustom_method__get_input_port_count>` **(** **)** |virtual| |const|                                                                                                                                           |
@@ -59,6 +61,8 @@ Methods
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`       | :ref:`_get_return_icon_type<class_VisualShaderNodeCustom_method__get_return_icon_type>` **(** **)** |virtual| |const|                                                                                                                                           |
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`     | :ref:`_is_available<class_VisualShaderNodeCustom_method__is_available>` **(** :ref:`Mode<enum_Shader_Mode>` mode, :ref:`Type<enum_VisualShader_Type>` type **)** |virtual| |const|                                                                              |
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`     | :ref:`_is_highend<class_VisualShaderNodeCustom_method__is_highend>` **(** **)** |virtual| |const|                                                                                                                                                               |
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -101,6 +105,20 @@ Defining this method is **optional**.
 
 ----
 
+.. _class_VisualShaderNodeCustom_method__get_func_code:
+
+- :ref:`String<class_String>` **_get_func_code** **(** :ref:`Mode<enum_Shader_Mode>` mode, :ref:`Type<enum_VisualShader_Type>` type **)** |virtual| |const|
+
+Override this method to add a shader code to the beginning of each shader function (once). The shader code should be returned as a string, which can have multiple lines (the ``"""`` multiline string construct can be used for convenience).
+
+If there are multiple custom nodes of different types which use this feature the order of each insertion is undefined.
+
+You can customize the generated code based on the shader ``mode`` (see :ref:`Mode<enum_Shader_Mode>`) and/or ``type`` (see :ref:`Type<enum_VisualShader_Type>`).
+
+Defining this method is **optional**.
+
+----
+
 .. _class_VisualShaderNodeCustom_method__get_global_code:
 
 - :ref:`String<class_String>` **_get_global_code** **(** :ref:`Mode<enum_Shader_Mode>` mode **)** |virtual| |const|
@@ -195,13 +213,23 @@ Defining this method is **optional**. If not overridden, no return icon is shown
 
 ----
 
+.. _class_VisualShaderNodeCustom_method__is_available:
+
+- :ref:`bool<class_bool>` **_is_available** **(** :ref:`Mode<enum_Shader_Mode>` mode, :ref:`Type<enum_VisualShader_Type>` type **)** |virtual| |const|
+
+Override this method to prevent the node to be visible in the member dialog for the certain ``mode`` (see :ref:`Mode<enum_Shader_Mode>`) and/or ``type`` (see :ref:`Type<enum_VisualShader_Type>`).
+
+Defining this method is **optional**. If not overridden, it's ``true``.
+
+----
+
 .. _class_VisualShaderNodeCustom_method__is_highend:
 
 - :ref:`bool<class_bool>` **_is_highend** **(** **)** |virtual| |const|
 
 Override this method to enable high-end mark in the Visual Shader Editor's members dialog.
 
-Defining this method is **optional**. If not overridden, it's false.
+Defining this method is **optional**. If not overridden, it's ``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.)`

+ 61 - 0
classes/class_visualshadernodevarying.rst

@@ -0,0 +1,61 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the VisualShaderNodeVarying.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_VisualShaderNodeVarying:
+
+VisualShaderNodeVarying
+=======================
+
+**Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`VisualShaderNodeVaryingGetter<class_VisualShaderNodeVaryingGetter>`, :ref:`VisualShaderNodeVaryingSetter<class_VisualShaderNodeVaryingSetter>`
+
+
+
+Properties
+----------
+
++---------------------------------------------------+--------------------------------------------------------------------------+--------------+
+| :ref:`String<class_String>`                       | :ref:`varying_name<class_VisualShaderNodeVarying_property_varying_name>` | ``"[None]"`` |
++---------------------------------------------------+--------------------------------------------------------------------------+--------------+
+| :ref:`VaryingType<enum_VisualShader_VaryingType>` | :ref:`varying_type<class_VisualShaderNodeVarying_property_varying_type>` | ``0``        |
++---------------------------------------------------+--------------------------------------------------------------------------+--------------+
+
+Property Descriptions
+---------------------
+
+.. _class_VisualShaderNodeVarying_property_varying_name:
+
+- :ref:`String<class_String>` **varying_name**
+
++-----------+-------------------------+
+| *Default* | ``"[None]"``            |
++-----------+-------------------------+
+| *Setter*  | set_varying_name(value) |
++-----------+-------------------------+
+| *Getter*  | get_varying_name()      |
++-----------+-------------------------+
+
+----
+
+.. _class_VisualShaderNodeVarying_property_varying_type:
+
+- :ref:`VaryingType<enum_VisualShader_VaryingType>` **varying_type**
+
++-----------+-------------------------+
+| *Default* | ``0``                   |
++-----------+-------------------------+
+| *Setter*  | set_varying_type(value) |
++-----------+-------------------------+
+| *Getter*  | get_varying_type()      |
++-----------+-------------------------+
+
+.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
+.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
+.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
+.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
+.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
+.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`

+ 5 - 5
classes/class_streamcubemaparray.rst → classes/class_visualshadernodevaryinggetter.rst

@@ -1,15 +1,15 @@
 :github_url: hide
 
 .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the StreamCubemapArray.xml source instead.
+.. DO NOT EDIT THIS FILE, but the VisualShaderNodeVaryingGetter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
-.. _class_StreamCubemapArray:
+.. _class_VisualShaderNodeVaryingGetter:
 
-StreamCubemapArray
-==================
+VisualShaderNodeVaryingGetter
+=============================
 
-**Inherits:** :ref:`StreamTextureLayered<class_StreamTextureLayered>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`VisualShaderNodeVarying<class_VisualShaderNodeVarying>` **<** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
 

+ 5 - 5
classes/class_streamtexture2darray.rst → classes/class_visualshadernodevaryingsetter.rst

@@ -1,15 +1,15 @@
 :github_url: hide
 
 .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the StreamTexture2DArray.xml source instead.
+.. DO NOT EDIT THIS FILE, but the VisualShaderNodeVaryingSetter.xml source instead.
 .. The source is found in doc/classes or modules/<name>/doc_classes.
 
-.. _class_StreamTexture2DArray:
+.. _class_VisualShaderNodeVaryingSetter:
 
-StreamTexture2DArray
-====================
+VisualShaderNodeVaryingSetter
+=============================
 
-**Inherits:** :ref:`StreamTextureLayered<class_StreamTextureLayered>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`VisualShaderNodeVarying<class_VisualShaderNodeVarying>` **<** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
 
 

+ 23 - 1
classes/class_window.rst

@@ -48,6 +48,8 @@ Properties
 +-----------------------------------------------------------+-------------------------------------------------------------------------+------------------------+
 | :ref:`Mode<enum_Window_Mode>`                             | :ref:`mode<class_Window_property_mode>`                                 | ``0``                  |
 +-----------------------------------------------------------+-------------------------------------------------------------------------+------------------------+
+| :ref:`bool<class_bool>`                                   | :ref:`popup_window<class_Window_property_popup_window>`                 | ``false``              |
++-----------------------------------------------------------+-------------------------------------------------------------------------+------------------------+
 | :ref:`Vector2i<class_Vector2i>`                           | :ref:`position<class_Window_property_position>`                         | ``Vector2i(0, 0)``     |
 +-----------------------------------------------------------+-------------------------------------------------------------------------+------------------------+
 | :ref:`Vector2i<class_Vector2i>`                           | :ref:`size<class_Window_property_size>`                                 | ``Vector2i(100, 100)`` |
@@ -210,6 +212,8 @@ Signals
 
 - **files_dropped** **(** :ref:`PackedStringArray<class_PackedStringArray>` files **)**
 
+Emitted when files are dragged from the OS file manager and dropped in the game window. The argument is a list of file paths.
+
 ----
 
 .. _class_Window_signal_focus_entered:
@@ -305,6 +309,8 @@ Regardless of the platform, enabling fullscreen will change the window size to m
 
 .. _class_Window_constant_FLAG_NO_FOCUS:
 
+.. _class_Window_constant_FLAG_POPUP:
+
 .. _class_Window_constant_FLAG_MAX:
 
 enum **Flags**:
@@ -319,7 +325,9 @@ enum **Flags**:
 
 - **FLAG_NO_FOCUS** = **4**
 
-- **FLAG_MAX** = **5**
+- **FLAG_POPUP** = **5**
+
+- **FLAG_MAX** = **6**
 
 ----
 
@@ -577,6 +585,20 @@ Set's the window's current mode.
 
 ----
 
+.. _class_Window_property_popup_window:
+
+- :ref:`bool<class_bool>` **popup_window**
+
++-----------+-----------------+
+| *Default* | ``false``       |
++-----------+-----------------+
+| *Setter*  | set_flag(value) |
++-----------+-----------------+
+| *Getter*  | get_flag()      |
++-----------+-----------------+
+
+----
+
 .. _class_Window_property_position:
 
 - :ref:`Vector2i<class_Vector2i>` **position**

+ 0 - 26
classes/class_xrcontroller3d.rst

@@ -29,13 +29,6 @@ Tutorials
 
 - :doc:`VR documentation index <../tutorials/vr/index>`
 
-Properties
-----------
-
-+---------------------------+-----------------------------------------------------+---------+
-| :ref:`float<class_float>` | :ref:`rumble<class_XRController3D_property_rumble>` | ``0.0`` |
-+---------------------------+-----------------------------------------------------+---------+
-
 Methods
 -------
 
@@ -82,25 +75,6 @@ Emitted when a thumbstick or thumbpad on this controller is moved.
 
 Emitted when a trigger or similar input on this controller changes value.
 
-Property Descriptions
----------------------
-
-.. _class_XRController3D_property_rumble:
-
-- :ref:`float<class_float>` **rumble**
-
-+-----------+-------------------+
-| *Default* | ``0.0``           |
-+-----------+-------------------+
-| *Setter*  | set_rumble(value) |
-+-----------+-------------------+
-| *Getter*  | get_rumble()      |
-+-----------+-------------------+
-
-The degree to which the controller vibrates. Ranges from ``0.0`` to ``1.0`` with precision ``.01``. If changed, updates :ref:`XRPositionalTracker.rumble<class_XRPositionalTracker_property_rumble>` accordingly.
-
-This is a useful property to animate if you want the controller to vibrate for a limited duration.
-
 Method Descriptions
 -------------------
 

+ 2 - 2
classes/class_xrinterface.rst

@@ -11,14 +11,14 @@ XRInterface
 
 **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`MobileVRInterface<class_MobileVRInterface>`, :ref:`WebXRInterface<class_WebXRInterface>`, :ref:`XRInterfaceExtension<class_XRInterfaceExtension>`
+**Inherited By:** :ref:`MobileVRInterface<class_MobileVRInterface>`, :ref:`OpenXRInterface<class_OpenXRInterface>`, :ref:`WebXRInterface<class_WebXRInterface>`, :ref:`XRInterfaceExtension<class_XRInterfaceExtension>`
 
 Base class for an XR interface implementation.
 
 Description
 -----------
 
-This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDNative modules (note that for GDNative the subclass XRScriptInterface should be used). Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform.
+This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDExtension modules. Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform.
 
 Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through :ref:`XRServer<class_XRServer>`.
 

+ 19 - 11
classes/class_xrpositionaltracker.rst

@@ -37,7 +37,7 @@ Properties
 +----------------------------------------------------------+--------------------------------------------------------------------+----------------+
 | :ref:`StringName<class_StringName>`                      | :ref:`name<class_XRPositionalTracker_property_name>`               | ``&"Unknown"`` |
 +----------------------------------------------------------+--------------------------------------------------------------------+----------------+
-| :ref:`float<class_float>`                                | :ref:`rumble<class_XRPositionalTracker_property_rumble>`           | ``0.0``        |
+| :ref:`String<class_String>`                              | :ref:`profile<class_XRPositionalTracker_property_profile>`         | ``""``         |
 +----------------------------------------------------------+--------------------------------------------------------------------+----------------+
 | :ref:`TrackerType<enum_XRServer_TrackerType>`            | :ref:`type<class_XRPositionalTracker_property_type>`               | ``128``        |
 +----------------------------------------------------------+--------------------------------------------------------------------+----------------+
@@ -100,6 +100,14 @@ Emitted when a trigger or similar input on this tracker changes value.
 
 Emitted when the state of a pose tracked by this tracker changes.
 
+----
+
+.. _class_XRPositionalTracker_signal_profile_changed:
+
+- **profile_changed** **(** :ref:`String<class_String>` role **)**
+
+Emitted when the profile of our tracker changes.
+
 Enumerations
 ------------
 
@@ -174,19 +182,19 @@ The unique name of this tracker. The trackers that are available differ between
 
 ----
 
-.. _class_XRPositionalTracker_property_rumble:
+.. _class_XRPositionalTracker_property_profile:
 
-- :ref:`float<class_float>` **rumble**
+- :ref:`String<class_String>` **profile**
 
-+-----------+-------------------+
-| *Default* | ``0.0``           |
-+-----------+-------------------+
-| *Setter*  | set_rumble(value) |
-+-----------+-------------------+
-| *Getter*  | get_rumble()      |
-+-----------+-------------------+
++-----------+----------------------------+
+| *Default* | ``""``                     |
++-----------+----------------------------+
+| *Setter*  | set_tracker_profile(value) |
++-----------+----------------------------+
+| *Getter*  | get_tracker_profile()      |
++-----------+----------------------------+
 
-The degree to which the tracker rumbles. Ranges from ``0.0`` to ``1.0`` with precision ``.01``.
+The profile associated with this tracker, interface dependent but will indicate the type of controller being tracked.
 
 ----
 

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff